5

我正在使用 Visual Studio 2010,我正在开发一个 Windows 应用程序,并且在尝试为其创建自动更新程序时遇到了一个严重的问题。

当程序找到一个新版本并尝试安装它时,它不能因为两个原因:

1 - 该应用程序存在于我的程序文件中。这样窗口就会出现 在此处输入图像描述

2 - 应用程序已经打开“ the form that performed the update process”。

该问题与版本号没有任何关系。

这是关于程序的存在和安装新版本的能力,尽管以前的版本是打开的。

4

3 回答 3

6

要启用自动主要升级机制,您需要增加ProductVersion并更改ProductCode。这是通过项目属性窗格完成的。

您可以在此处阅读有关升级的更多信息:http: //msdn.microsoft.com/en-us/library/windows/desktop/aa370579 (v=vs.85).aspx

于 2012-08-31T12:14:40.987 回答
2

Cosmin 是正确的,但如果您需要更具体的步骤,请尝试按照其他 Stack Overflow 帖子中概述的步骤操作:

于 2013-10-23T17:27:56.793 回答
0

如果您要更新现有程序,这称为修补程序,因此您不需要使用作为安装程序的 MSI,而是请查看 MSP 而不是 MSI。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa370578(v=vs.85).aspx

对我们来说——我们使用了一个加载屏幕并连接到一个 SQL 表,该表拥有一个相关的二进制 .DLL 列表。然后,我使用反射来检查与启动目录中的版本号相比的版本号,如果它更新,则替换它 - 这只是另一个想法,但如果您正在考虑使用某种包更新现有软件,请查看进入MSP。

于 2012-08-31T08:19:25.373 回答