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