对于现有文件,Wix FileSearch未返回true

时间:2016-01-13 10:20:51

标签: windows wix

我在我的Bootstrapper(Wix 3.9版本)中使用以下FileSearch,即使文件存在,它也总是返回false:

<Wix xmlns="htttp://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
...
<Fragment>
<util:FileSearch Path="%systemdrive%\SomeFile.txt" Varialbe="FileExists" Result="exists"/>
...

日志文件包含以下行:

  

文件搜索:*******(一些随机guid),找不到路径:%systemdrive%\ SomeFile.txt
  将数字变量“FileExists”设置为值0

我做错了吗?

1 个答案:

答案 0 :(得分:2)

不幸的是,以这种方式使用运行时环境变量并不那么容易。首先需要使用环境变量设置WiX属性,然后然后在Path属性中使用该WiX属性。所以像这样(注意单%前缀):

<SetProperty Id="PROP_SYSTEM_DRIVE" Before="InstallInitialize" Sequence="execute" Value="[%SYSTEMDRIVE]" />

然后您应该可以在FileSearch中使用它:

<util:FileSearch Path="[PROP_SYSTEM_DRIVE]\SomeFile.txt" Variable="FileExists" Result="exists"/>