WIX检测卸载或更改单击添加/删除程序

时间:2013-06-26 12:38:54

标签: wix

我正在使用WIX 3.7。我有一个基于的自定义托管引导程序 BryanJ源代码:http://bryanpjohnston.com/2012/09/28/custom-wix-managed-bootstrapper-application/

安装程序工作正常但我想检测添加/删除程序中的按下按钮。我的意思是用户是想修复还是更改已安装的应用程序。目前我只打开一个带有可能选项的窗口(用于卸载和更改)。

由于

2 个答案:

答案 0 :(得分:0)

认为它的工作方式是引导程序在注册表中放置适当的卸载和修复命令:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<productCode>

例如,当我查看此位置的WiX 3.7条目时,它有一个名为ModifyPath的注册表项,其值为"C:\ProgramData\Package Cache\{963ac4b4-a882-4471-8db9-c4adc7b42dc4}\WiX37.exe" /modify

因此,您可以解析/modify交换机的命令行以进行修复,同样地解析/uninstall用于卸载的交换机。

答案 1 :(得分:0)

查看LaunchAction属性中传递的Command.Action枚举:

public enum LaunchAction
{
    Unknown,
    Help,
    Layout,
    Uninstall,
    Install,
    Modify,
    Repair,
    UpdateReplace,
    UpdateReplaceEmbedded,
}