触发卸载和修复以前安装的产品

时间:2015-06-07 10:49:14

标签: wix windows-installer wix3.8

我是Wix工具集的新手。我已成功在Wix中制作了我的第一个安装程序,但现在我对我的软件更新感到困惑,这些更新通常很小。

在我的安装程序中,我想检查用户是否安装了任何旧版本,然后我想向他展示三个选项;

  1. 修改:将安装新版本。
  2. 修复:修复以前安装的产品。
  3. 删除:将删除已安装的产品。
  4. 对于Modify我可以简单地将InstallReadyDlg显示为下一个对话框,然后卸载以前的版本并安装新版本。

    但我无法知道如何触发卸载或修复以前安装的版本。

    任何提示都会受到高度赞赏。

    注意:我知道如何显示这些选项以及如何检测用户是否安装了任何旧版本。

1 个答案:

答案 0 :(得分:1)

这不是通常的事情,因为:

  1. 在此上下文和对话框中普遍理解修改意味着添加或删除功能。

  2. 您无法从将要删除的已安装产品的对话框中正确升级。换句话说,您的计划很可能无法工作,因为您需要浏览到新的MSI(网站?CD?),然后从修改对话框中启动它(当您显示当前产品对话框时如何?)然后尝试使用对话框显示升级产品。

  3. 所以没有人安装这种行为,并且没有人期望非标准行为,并且很有可能无法正常工作。

    话虽如此,这就是为什么你可以从你刚才包含的内置WiX UI对话框中免费修改/修复/删除,所以你无需做任何事情来修复,删除或修改已安装的功能工作。一切都在那里。

    已安装的产品升级了补丁(用于小修补程序),以及主要升级,您只需将新的MSI构建为全新产品并包含MajorUpgrade标记,以便在安装了旧版本时删除旧版本。只需安装新产品(从CD,网站或其他任何部分),它始终是一个全新的完整安装,由于该MajorUpgrade元素而升级并删除任何先前版本。

相关问题