重新编译修复时,Installshield 2015 msi 无法识别现有的已安装版本



我有一个使用安装盾牌 2015 专业版创建的安装脚本 MSI 项目。

使用我创建的 MSI,我可以在同一版本中安装、修复和卸载。但是,一旦我在不对项目进行任何更改的情况下重建 MSI,修复选项就会停止工作。它说"修复无法识别现有的已安装版本",尽管该服务器中有使用以前版本的已安装版本。

谁能指导我解决这个问题?

谢谢

造成这种情况的主要原因是所有 MSI 文件都具有对生成唯一的 PackageCode guid,并且大多数工具会为每个新生成自动生成一个新的 PackageCode。已安装的产品由其包代码和产品代码定义。

修复需要完全相同的 MSI 文件才能进行修复,这意味着相同的包代码。 修复意味着使用用于安装的原始 MSI 文件恢复任何不正确的内容。也许你可以解释为什么你会进行重建,然后尝试修复以及你的目标是什么,并注意修复不是任何类型的更新或补丁,以防这是你想要做的。

最新更新