如何使微星覆盖计划,如果以前的版本存在吗?(How to make the msi overwrit

2019-09-22 00:28发布

我使用Visual Studio 2010中,我工作的一个Windows应用程序,并试图进行自动更新它面临着一个严重的问题。

当程序找到新的版本并试图安装它,它可能不是因为两个原因:

1 -应用程序是在我的程序文件是否存在。 如此看来,窗口

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

该问题不会有版本号的任何关系。

这是关于该计划的存在,虽然以前的版本中打开安装新版本的功能。

Answer 1:

要启用自动重大升级机制,你需要增加的ProductVersion和更改产品代码 。 这是通过项目属性面板中进行。

你可以阅读更多有关升级的位置: http://msdn.microsoft.com/en-us/library/windows/desktop/aa370579(v=vs.85).aspx



Answer 2:

科斯明是正确的,但如果你想更具体的措施,尽量按照这个其他堆栈溢出后列出的步骤:

  • 如何确保我的winform应用程序的部署将覆盖旧版本?


Answer 3:

如果您想更新现有的程序这就是所谓的修补,所以你不需要使用MSI是一个安装程序,而不是请看MSP,而不是MSI。

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

对于我们 - 我们使用加载屏幕,并迷上了这posses相关.DLL的二进制列表的SQL表。 然后我使用反射来检查版本号相比,一个在启动目录,如果是新的,然后取代它 - 这只是一个想法,但如果你正在寻找一个包装某种更新exisiting软件,看看到MSP的。



文章来源: How to make the msi overwrite program if a previous version exist?