【问题标题】:WIX: Uninstall is not happening properlyWIX:卸载未正确进行
【发布时间】:2012-08-13 15:49:46
【问题描述】:

我正在使用带有自定义操作的 WIX 安装程序。 在一种情况下,我无法正确卸载产品。 场景:

  1. 已安装基础版本应用程序
  2. 正在尝试升级它。
  3. 发生异常,回滚到以前的版本
    (我们已经覆盖了 wix 回滚来执行一些自定义操作)
  4. 回滚后,我尝试卸载基本版本安装的产品。
  5. 虽然说卸载成功,但实际产品并没有被卸载。所有 dll 仍然存在于注册表中。正在删除与产品相关的注册表项,并且控制面板中没有产品。但所有托管网站仍在 IIS 中。

请帮我解决这个问题。

【问题讨论】:

  • 如果有人也可以提供一些提示,对我们有帮助。
  • 如果没有更多细节,很难猜测会发生什么。尝试使用详细的 msi 日志运行升级和以下卸载,它应该会提示您系统中发生了什么。我最好的猜测是回滚并没有发生,你最终会得到两个使用 DLL 的应用程序:旧的和新的。因此,当您卸载基本版本时,这些文件并没有真正从系统中删除(因为另一个应用程序新版本正在使用它们)。

标签: wix uninstallation rollback


【解决方案1】:

您可以在添加注册表文件和文件夹的同一组件中使用以下删除元素:

RemoveRegistryKey Action="removeOnUninstall" Root="HKLM" Key="..."

RemoveFile Id="Remove_file" Name="filename" On="uninstall" Property/Directory="" 

RemoveFolder Id="DeleteFolder" Property/Directory="" On="uninstall"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-11
    • 2020-08-16
    • 2018-10-07
    • 2015-01-25
    • 2015-10-10
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多