我有一个使用Install shield 2015专业版创建的安装脚本MSI项目。
使用我创建的MSI,我可以在同一版本中安装,修复和卸载。但是,只要我在不对项目进行任何更改的情况下重建MSI,修复选项就会停止工作。它说“修复无法识别现有的已安装版本”,尽管该服务器中存在使用先前版本的已安装版本。
有人可以指导我解决这个问题吗?
谢谢
答案 0 :(得分:1)
造成这种情况的主要原因可能是,所有MSI文件都具有该版本唯一的PackageCode guid,并且大多数工具会为每个新版本自动生成一个新的PackageCode。已安装产品由其PackageCode及其ProductCode定义。
修复需要完全相同的MSI文件来进行修复,这意味着相同的PackageCode。修复意味着使用用于安装的原始MSI文件还原所有不正确的内容。也许您可以解释为什么要进行重建然后尝试修复,以及您的目标是什么,并请注意,修复不是任何形式的更新或补丁,以防万一,这就是您要执行的操作。