在安装项目中更改了版本,但仍然无法重新安装?
Changed version in setup project but it still won't reinstall?
我有一个 VS 安装程序 (.vdproj) 安装程序项目。我刚刚将版本从 1.0.0 更改为 1.0.1 并重建,但是当我 运行 安装程序 MSI 时,我收到此错误:
我希望安装程序允许覆盖以前的版本,是否有一些其他设置我必须更改或是否有其他一些问题可能导致此行为?
更改安装程序项目的目标版本号时,您最可能需要做的是还更改安装程序的“ProductCode”属性(这将是GUID,形式为 {A327EF4E-8B37-A0CC-B678-4AAD2D219E36}
).
通常,当您完成编辑“版本”属性(在“属性”窗格中)时,Visual Studio 会显示如下 pop-up:
您应该单击“是”按钮以生成新的 GUID,这将使 MSI 文件能够识别它正在使用较新版本更新现有安装。否则,安装程序将检测 'same' 产品的两个版本之间的 'clash' 并显示您报告的错误。
另请注意,任何组件文件(可执行文件、DLL、等等)都应适当更新任何嵌入式 VERSIONINFO
资源,或先前安装的任何现有文件不会被更换。 (对于没有 VERSIONINFO
资源的文件,那么我认为它们的 修改日期 用于确定是否 update/replace。)
我有一个 VS 安装程序 (.vdproj) 安装程序项目。我刚刚将版本从 1.0.0 更改为 1.0.1 并重建,但是当我 运行 安装程序 MSI 时,我收到此错误:
我希望安装程序允许覆盖以前的版本,是否有一些其他设置我必须更改或是否有其他一些问题可能导致此行为?
更改安装程序项目的目标版本号时,您最可能需要做的是还更改安装程序的“ProductCode”属性(这将是GUID,形式为 {A327EF4E-8B37-A0CC-B678-4AAD2D219E36}
).
通常,当您完成编辑“版本”属性(在“属性”窗格中)时,Visual Studio 会显示如下 pop-up:
您应该单击“是”按钮以生成新的 GUID,这将使 MSI 文件能够识别它正在使用较新版本更新现有安装。否则,安装程序将检测 'same' 产品的两个版本之间的 'clash' 并显示您报告的错误。
另请注意,任何组件文件(可执行文件、DLL、等等)都应适当更新任何嵌入式 VERSIONINFO
资源,或先前安装的任何现有文件不会被更换。 (对于没有 VERSIONINFO
资源的文件,那么我认为它们的 修改日期 用于确定是否 update/replace。)