WiX在卸载时不会删除registrykey
发布时间:2020-12-14 04:36:39 所属栏目:Windows 来源:网络整理
导读:我创建了一个带有条件DISABLEMSIUPGRADE的组件,当我使用我们的ExternalUI安装MSI时,它已经设置好了.但是,MSI不会删除UnInstall上的条目.我认为问题是由条件引起的,但我无法修复它. Component Id="compMSI" Guid="5f18af6a-b839-4b4d-9d4f-79cf7826f749" Cond
我创建了一个带有条件DISABLEMSIUPGRADE的组件,当我使用我们的ExternalUI安装MSI时,它已经设置好了.但是,MSI不会删除UnInstall上的条目.我认为问题是由条件引起的,但我无法修复它.
<Component Id="compMSI" Guid="5f18af6a-b839-4b4d-9d4f-79cf7826f749"> <Condition>DISABLEMSIUPGRADE</Condition> <RegistryKey Root="HKLM" Key="SOFTWAREMicrosoftWindowsCurrentVersionUninstall$(var.PGuid)" Action="createAndRemoveOnUninstall"> <RegistryValue Name="DisplayName" Type="string" Value="$(var.ProductTitle)" /> <!-- ... --> </RegistryKey> </Component> 我甚至将RemoveRegistryKey元素放在其他组件中以确保键被删除,但这也没有完成工作…… 我还尝试在Key中存储和读取DISABLEMSIUPGRADE属性. //编辑:我进行了一些实验,发现CONDITION元素不是原因.我看起来如果我安装了另一个版本的安装程序,则注册表项不会被删除.可能导致什么?
Windows Installer引用按组件/ @Guid计算组件.如果跨MSI文件共享了组件(即具有相同@Guid的组件),则只有在卸载两个MSI时才会删除组件的内容.
我强烈建议您阅读有关组件规则的内容.他们控制所有这些:http://robmensching.com/blog/posts/2003/10/18/Component-Rules-101 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- perlbrew在Windows上运行吗?
- powershell-v2.0 – 如何在Powershell中使用BITS上传/下载文
- windows-server-2012-r2 – 如何将FreeNAS设置为Windows群集
- windows-server-2003 – RDP – 远程桌面断开连接,错误2308
- windows-server-2008 – 列出Win Server 2008上的所有共享文
- windows-server-2008-r2 – 来自安全事件日志的XML查询过滤
- win10 64位SSDT函数索引动态查找
- Windows主机是否正确解释了dnsmasq参数?
- Window调整大小事件在jQuery中触发两次
- Windows Phone 8.1和Windows Phone Silverlight 8.1之间的区
推荐文章
站长推荐
热点阅读