2014-10-29 76 views
1

刻录时,WiX引导程序应用程序在运行时执行检查以确定是否需要卸载。说我有以下束Chain刻录如何检测到需要自行卸载?

<ExePackage Permanent="yes" ... 
<MsiPackage Visible="yes" DisplayInternalUI="yes" ... 

如何烧确定它是否应该显示一个对话框,卸载本身?它是如何知道它,引导程序本身,是否安装?运行引导程序并安装捆绑软件后,如果从程序和功能中卸载MsiPackage,然后再次运行我的引导程序,它将显示卸载选项......尽管所有非永久性软件包都已被删除。显然,它必须留下一些东西来检测引导程序是否安装在某个位置。

回答

1

明白了,它会检查HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{The GUID for this Particular Installation}HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{The GUID for this Particular Installation}中的注册表项。

要找出{The GUID for this Particular Installation}用于引导程序的内容,请查找与您的程序包的升级代码相同的属性为BundleUpgradeCodeREG_MULTI_SZ)的元素。

+0

还有一点值得注意......“burn”启动引导程序通过检查此路径中是否存在密钥来检测重新启动是否未决:'HKLM \ SOFTWARE \(“Wow6432Node \”如果您有x86安装程序在x64机器上)Microsoft \ Windows \ CurrentVersion \ Uninstall \ {此特定安装的GUID} .RebootRequired' – Alexandru 2014-10-31 21:25:53