我正在使用Visual Studio 2010,我正在开发一个Windows应用程序,并且在尝试为它创建一个自动更新程序时遇到了严重的问题。
当程序找到新版本并尝试安装它时,由于两个原因,它无法实现:
1 - 应用程序存在于我的程序文件中。这样窗口出现了
2 - 应用程序已经打开" the form that performed the update process
"。
问题与版本号没有任何关系。
关于程序的存在以及安装新版本的能力,尽管以前的版本已经打开。
答案 0 :(得分:5)
要启用自动major upgrade机制,您需要增加ProductVersion并更改ProductCode。这是通过项目“属性”窗格完成的。
您可以在此处详细了解升级:http://msdn.microsoft.com/en-us/library/windows/desktop/aa370579(v=vs.85).aspx
答案 1 :(得分:2)
Cosmin是正确的,但如果您需要更具体的步骤,请尝试按照此其他Stack Overflow帖子中列出的步骤进行操作:
答案 2 :(得分:0)
如果您要更新现有程序,这称为修补,因此您不需要使用MSI作为安装程序,而是请查看MSP而不是MSI。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa370578(v=vs.85).aspx
对于我们 - 我们使用了一个加载屏幕并连接到一个SQL表,该表拥有二进制的相关.DLL列表。然后,我使用反射检查版本号与启动目录中的版本号相比较,如果它更新则更换它 - 这只是另一个想法,但如果您正在考虑使用某种类型的包更新现有软件,看看MSP的。