Wix - 如何有条件地设置属性

时间:2014-11-05 09:31:48

标签: wix

我想做的是:

if registrySearch exist then
  set INSTALL_DIR to C:\Program Files\MyCompany\MySoftware
else
  set INSTALL_DIR to C:\ProgramData\MyCompany\Folder

有人知道这样做吗?

1 个答案:

答案 0 :(得分:7)

请说明您搜索的注册表项。

<Property Id="REGSEARCH">
    <RegistrySearch Id="TestReg"
                    Root="HKLM"
                    Key="Software\TestKey\TestKey2"
             Name="Test"
                    Type="raw" />
</Property>

这是有条件地设置属性的方法。

将默认值保留为注册表不存在时需要输入的值。

<Property Id="INSTALL_DIR" Value="C:\ProgramData\MyCompany\Folder" />

如果注册表存在,则按如下所示设置属性值。

<SetProperty Id="INSTALL_DIR" After="AppSearch" Value="C:\Program Files\MyCompany\MySoftware" Sequence="first" >
  <![CDATA[REGSEARCH]]>
</SetProperty>