我们已从 InstallShield LE 2010 迁移到 WiX。
我们新的 WiX 安装程序能够卸载以前的 WiX msi 软件包,但它不会检测从 IS msi 安装的我们软件的以前版本。
我们应该采取哪些步骤来使我们的 WiX msi 安装程序检测到以前的 IS 安装并自动卸载它们?
我们已从 InstallShield LE 2010 迁移到 WiX。
我们新的 WiX 安装程序能够卸载以前的 WiX msi 软件包,但它不会检测从 IS msi 安装的我们软件的以前版本。
我们应该采取哪些步骤来使我们的 WiX msi 安装程序检测到以前的 IS 安装并自动卸载它们?
理论上,您只需要确保 wix 中产品标签上的 UpgradeCode 与 InstallShield 安装程序中的相同,并且 wix 项目中的版本号更大。
你如何从我不知道的 InstallShield 项目中获得它,因为我从未使用过 InstallShield。
这帮助我从旧安装程序中获取 ProductCode 和 UpgradeCode。
尽管我发现 InstallShield 创建了自己的注册表卸载信息以及 Windows Installer 信息。当您使用由 InstallShield 安装程序安装的 Windows Installer (MSIEXEC) 卸载某些内容时,它只会擦除 Windows Installer 注册表节点,从而保持 InstallShield 节点完好无损。即使 Windows Installer 成功卸载该产品,这也会使该产品显示在“添加/删除程序”(程序和功能)中。