Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何防止WIX条件检测到安装程序在卸载过程中运行?_Wix_Installation_Uninstallation - Fatal编程技术网

如何防止WIX条件检测到安装程序在卸载过程中运行?

如何防止WIX条件检测到安装程序在卸载过程中运行?,wix,installation,uninstallation,Wix,Installation,Uninstallation,我正在学习windows installer xml(WIX),我的代码中有一个条件,即在安装软件之前检查软件a是否已安装。 我希望我的软件可以在安装软件A后安装,但在卸载软件时,不应触发此情况 捆绑包在安装过程中工作正常,这意味着如果软件A已经安装,它将继续安装。但如果软件-A根本没有安装,捆绑包将触发条件检查过程,显示条件消息并停止安装。我尝试了两个条件“未安装”和“已安装”,但即使在卸载过程中,条件检查过程仍会一直触发。这意味着无论进程是什么,bundle总是搜索同一个注册表 安装程序的逻

我正在学习windows installer xml(WIX),我的代码中有一个条件,即在安装软件之前检查软件a是否已安装。 我希望我的软件可以在安装软件A后安装,但在卸载软件时,不应触发此情况

捆绑包在安装过程中工作正常,这意味着如果软件A已经安装,它将继续安装。但如果软件-A根本没有安装,捆绑包将触发条件检查过程,显示条件消息并停止安装。我尝试了两个条件“未安装”和“已安装”,但即使在卸载过程中,条件检查过程仍会一直触发。这意味着无论进程是什么,bundle总是搜索同一个注册表

安装程序的逻辑很简单,但我是Windows installer xml技术的初学者

<bal:Condition Message="Software-A is Required.">
   <![CDATA[NOT Installed OR SoftwareAInstalled]]>
</bal:Condition>

<util:RegistrySearch Id="SoftwareAInstalled"
                 Root="HKLM"  
                 Key="SOFTWARE\SoftwareA\"
                 Variable="SoftwareAInstalled"
                 Result="exists" />


我想知道当安装程序处于卸载状态时,如何防止检查过程。或者任何其他建议都将不胜感激。

我现在没有时间验证这一点,但看起来您可以使用:

Installed OR SoftwareAInstalled
我会将后一个属性大写,但是可以在命令行中设置它。我想它应该和你拥有的东西一起工作。现在无法测试。提示:记得在
静默安装模式下测试
修改
修复
自我修复
卸载
主要升级
。。。有很多要检查

以前对类似问题的一些回答:

  • (关于如何调试条件)

既然要检测捆绑包的状态,就应该查看一下
WixBundleInstalled
将为您提供当前捆绑包的安装状态。所以

WixBundleInstalled OR SoftwareAInstalled

如果当前捆绑包已经安装,或者您正在执行捆绑包的新安装,并且软件a已经存在,则允许安装程序继续。

请查看。它应该提供更多的洞察力,如果没有足够的洞察力,将其添加到问题中可以为这里的人提供洞察力。这是一个好主意,谢谢!在我将属性“WixBundleInstalled”添加到condition元素后,它对我有效。谢谢!谢谢你提供的链接和建议,虽然它没有帮助我。沃尔克·格特纳(Volker Gärtner)回复的以下属性帮助了我。谢谢你,伙计!