Wix 条件不适用于RegistrySearch

问题描述 投票:0回答:1

我是 Wix 的新手,这就是我正在尝试做的事情。如果我检测到已安装相同的应用程序,我需要抛出一条消息。我想使用它的注册表项来找到它

这是我写的代码

 <Property Id="INSTALLEDHREC" Secure="yes">
    <RegistrySearch Id="HRECVERSION" Root="HKLM" Key="SOFTWARE\COMPANY\PRODUCT" Name="Version" Type="raw" Win64="yes" />
 </Property>
    
 <Condition Message="Please uninstall first"><![CDATA[INSTALLEDHREC = "1.11.0"]]></Condition>

安装程序日志显示

AppSearch: Property: INSTALLEDHREC, Signature: HRECVERSION
MSI (c) (58:18) [14:31:44:467]: Note: 1: 2262 2: Signature 3: -2147287038 
MSI (c) (58:18) [14:31:44:467]: PROPERTY CHANGE: Adding INSTALLEDHREC property. Its value is '1.11.0'.

但我没有看到弹出消息。

我尝试了不同的条件

<![CDATA[Installed AND INSTALLEDHREC]]>
pop-up message comes always (already installed / not installed)

<![CDATA[Installed AND INSTALLEDHREC << "1"]]>
pop-up message comes always (already installed / not installed)

<![CDATA[Installed OR INSTALLEDHREC]]>
pop-up message never comes (already installed / not installed)

<![CDATA[Installed OR INSTALLEDHREC << "1"]]>
pop-up message never comes (already installed / not installed)

在上述所有情况下,安装程序日志显示相同的行。我有什么遗漏的吗..?

windows-installer wix3
1个回答
0
投票
<![CDATA[Not INSTALLEDHREC]]>

以上解决了我的问题。我遇到这个问题是因为基本上我误解了https://wixtoolset.org/docs/v3/howtos/redistributables_and_install_checks/block_install_on_os/

中提到的文档
© www.soinside.com 2019 - 2024. All rights reserved.