刻录如何检测到它需要自行卸载?
Posted
技术标签:
【中文标题】刻录如何检测到它需要自行卸载?【英文标题】:How does burn detect that it needs to uninstall itself? 【发布时间】:2014-10-29 13:29:31 【问题描述】:Burn,WiX 引导程序应用程序在运行时会检查以确定它是否需要卸载。假设我有以下捆绑包Chain
:
<ExePackage Permanent="yes" ...
<MsiPackage Visible="yes" DisplayInternalUI="yes" ...
burn 如何确定是否应显示一个对话框以自行卸载?它如何知道引导程序本身是否已安装?在我运行引导程序并安装了包之后,如果我从程序和功能中卸载 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
是什么用于您的引导程序,请查找属性为BundleUpgradeCode
(REG_MULTI_SZ
) 的元素,该属性等于您的包的升级代码。
【讨论】:
另外值得注意的是......“烧录”引导程序通过检查此路径是否存在密钥来检测是否重新启动:HKLM\SOFTWARE\("Wow6432Node\" if you have an x86 installer on an x64 machine)Microsoft\Windows\CurrentVersion\Uninstall\The GUID for this Particular Installation.RebootRequired
以上是关于刻录如何检测到它需要自行卸载?的主要内容,如果未能解决你的问题,请参考以下文章
考虑到它的参数,如何检测bash脚本是不是已经在运行[重复]
如何在操作系统检测到它之前或之后检测到 Ctrl-Alt-Del?