Wix SetProperty如果Property没有值

时间:2017-02-01 14:41:47

标签: wix

我的WiX安装程序中有以下代码:

<Property Id="CONFIGPATH" />
<SetProperty Id="CONFIGPATH" After="AppSearch" Value="[INSTALLFOLDER]servers.cfg">NOT CONFIGPATH</SetProperty>

目的是用户可以将自定义CONFIGPATH传递给安装程序。如果它们未传递自定义路径,则使用目标安装文件夹的默认路径。但是,此代码不起作用。 SetProperty永远不会发火。

如果我写了:

<Property Id="CONFIGPATH" />
<SetProperty Id="CONFIGPATH" After="AppSearch" Value="[INSTALLFOLDER]servers.cfg"></SetProperty>

该属性正确更新为({1}}的(计算值)。

为什么会这样?

1 个答案:

答案 0 :(得分:0)

出于某种原因,AppSearch在安装过程中还为时过早。有必要将代码更改为序列中的稍后点:

<Property Id="CONFIGPATH" />
<SetProperty Id="CONFIGPATH" Sequence="execute" 
             Before="InstallFiles" 
             Value="[INSTALLFOLDER]servers.cfg">NOT CONFIGPATH</SetProperty>