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

时间:2018-06-22 06:46:15

标签: windows-installer installshield repair

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

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

有人可以指导我解决这个问题吗?

谢谢

1 个答案:

答案 0 :(得分:1)

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

修复需要完全相同的MSI文件来进行修复,这意味着相同的PackageCode。修复意味着使用用于安装的原始MSI文件还原所有不正确的内容。也许您可以解释为什么要进行重建然后尝试修复,以及您的目标是什么,并请注意,修复不是任何形式的更新或补丁,以防万一,这就是您要执行的操作。