Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows installer 重新编译修复时Installshield 2015 msi无法识别现有安装版本_Windows Installer_Installshield_Repair - Fatal编程技术网

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

Windows installer 重新编译修复时Installshield 2015 msi无法识别现有安装版本,windows-installer,installshield,repair,Windows Installer,Installshield,Repair,我有一个使用install shield 2015 professional edition创建的安装脚本MSI项目 使用我创建的MSI,我能够在同一版本中安装、修复和卸载。但是一旦我重建了MSI而没有对项目进行任何更改,修复选项就会停止工作。它说,修复无法识别现有的已安装版本,尽管该服务器中存在使用以前版本的已安装版本 谁能指导我解决这个问题 感谢造成这种情况的主要原因可能是所有MSI文件都有一个PackageCode guid,该guid对于生成是唯一的,并且大多数工具会为每个新生成自动生成

我有一个使用install shield 2015 professional edition创建的安装脚本MSI项目

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

谁能指导我解决这个问题


感谢

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


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

我很确定原因是Phil说的:自动生成的包代码。解决方案是从添加/删除程序卸载,然后安装重建的版本。感谢Phil的回复。正如您所说,我正在测试更新/补丁。通过按照您的建议更改软件包和产品代码,我可以使用安装选项进行升级。