fre*_*ley 9 wix conditional-compilation environment-variables
该文件为if/ ifdef略显混乱.因为<?if [expression] ?>,它说:
- 变量可用于检查是否存在
......- 如果变量不存在,则评估将失败并且将引发错误.
事实证明,如果你只是去:<?if $(env.MY_VAR) ?>并且MY_VAR没有定义,编译将失败.我如何检查存在?
通常情况下,这是人们使用的地方ifdef,但这些工作在Wix中也很奇怪.$(var.Variable)他们使用而不是使用语法,这<?ifdef Variable?>意味着不能以这种方式检查环境变量.
我需要做些什么来获得正常的c预处理器:
#ifdef MY_ENVIRONMENT_VARIABLE
Run Code Online (Sandbox Code Playgroud)
在威克斯?
fre*_*ley 17
在ifdef部分中引用环境变量的正确方法是:
<?ifdef env.MY_VAR?>
...
<?endif?>
Run Code Online (Sandbox Code Playgroud)
这按预期工作.
小智 5
<Condition Message="Missing Environment Variable Message Goes Here"><![CDATA[%envvargoeshere]]></Condition>
Run Code Online (Sandbox Code Playgroud)
将上面的元素放在wxs文件的Package元素中.如果环境变量不存在,安装将在运行时(安装时)失败并显示一条消息.
| 归档时间: |
|
| 查看次数: |
4060 次 |
| 最近记录: |