【问题标题】:Wix Major upgrade to InstallShield package leaves entry in Add/Remove programs, despite actually uninstalling尽管实际卸载,Wix 对 InstallShield 软件包的主要升级会在添加/删除程序中留下条目
【发布时间】:2013-12-20 20:20:47
【问题描述】:

我正在使用 WiX 构建安装程序包,我打算用它来替换 InstallShield MSI 包。作为安装过程的一部分,WiX 包会卸载旧包。问题在于它在“添加/删除程序”列表中留下了一个叛徒项目。我只是使用 wix 3.5 条目:

<MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed. 'Setup will now exit." />

奇怪的是:

  • 两个软件包的升级代码 GUID 相同
  • 新包的产品 ID GUID 是新的。
  • 旧软件包的文件和快捷方式以及所有实际执行的内容都会被删除。
  • 查看日志文件,RemoveExistingProducts 实际上删除了包。
  • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 中没有与旧包有关的任何内容

所以我怀疑这一切的原因是某种 installshield 的怪异之处。虽然让 WiX 为我做所有事情会很好,但我可以在注册表中删除旧包的任何条目或 ARP 对话框看起来的其他任何地方,如果有人可以指出我有关如何执行此操作的更多信息?

有什么想法吗?

【问题讨论】:

  • 你确定这里什么都没有:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall?我相信 InstallShield 在里面放了两个条目。一个在Uninstall\[ProductCode] 中,另一个在类似于Uninstall\InstallShield_blahblabh 的地方。我会检查,如果您找到对该产品的引用,请手动删除它。

标签: windows wix installation installshield


【解决方案1】:

InstallShield 软件包将在注册表中保留以下键。您可以从 WiX 包中删除它。

HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\InstallShield_{[ProductId]}

[ProductId] 是正在升级的 InstallShield 包的 ID。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 2015-03-25
    • 2016-07-24
    • 1970-01-01
    • 1970-01-01
    • 2018-04-29
    相关资源
    最近更新 更多