【发布时间】:2020-11-23 14:31:46
【问题描述】:
我有一个 VS Setup (.vdproj) 安装程序项目。我刚刚将版本从 1.0.0 更改为 1.0.1 并重新构建,但是当我运行安装程序 MSI 时出现此错误:
我希望安装程序允许覆盖以前的版本,是否有一些其他设置我必须更改或者是否有其他问题可能导致这种行为?
【问题讨论】:
标签: visual-studio setup-project vdproj
我有一个 VS Setup (.vdproj) 安装程序项目。我刚刚将版本从 1.0.0 更改为 1.0.1 并重新构建,但是当我运行安装程序 MSI 时出现此错误:
我希望安装程序允许覆盖以前的版本,是否有一些其他设置我必须更改或者是否有其他问题可能导致这种行为?
【问题讨论】:
标签: visual-studio setup-project vdproj
在更改安装程序项目目标的版本号时,您最可能需要做的是也更改该安装程序的“ProductCode”属性(这将是一个 GUID,格式为 {A327EF4E-8B37-A0CC-B678-4AAD2D219E36} )。
通常,当您完成“版本”属性(在“属性”窗格中)的编辑后,Visual Studio 会显示如下弹出窗口:
您应该单击“是”按钮以生成新的 GUID,这将使 MSI 文件能够识别它正在使用较新版本更新现有安装。否则,安装程序将检测到“相同”产品的两个版本之间的“冲突”并显示您报告的错误。
还请注意,任何组件文件(可执行文件、DLL,等等)都应具有适当更新的任何嵌入式VERSIONINFO 资源,否则之前安装的任何现有文件都不会被替换。 (对于没有VERSIONINFO资源的文件,那么我相信他们的修改日期是用来决定是否更新/替换的。)
【讨论】: