Wix中SetDirectory的条件

时间:2012-09-21 18:48:34

标签: wix conditional computer-name

我一直想弄清楚为什么我的病情不适用于我的SetDirectory。根据WiX文档,我无法找到任何实际执行此操作的任何示例,只是可以这样做。

我尝试了以下内容:

<SetDirectory Id="INSTALLLOCATION" Value="TEST">ComputerName=LJPRESCOTT1</SetDirectory>

这会编译,但会在运行时被忽略。这些文件最终直接安装在C:\ Drive上,而不是像我瞄准的那样在C:\ TEST中安装。


<SetDirectory Id="INSTALLLOCATION" Value="TEST">[ComputerName]=LJPRESCOTT1</SetDirectory>

这不会编译并抛出“错误的条件字符串”错误。


如果我这样做,它会按预期创建一个名为LJPRESCOTT1的目录:

<SetDirectory Id="INSTALLLOCATION" Value="[ComputerName]" />

所以我知道Comp Name是正确的。

我在这里做错了什么,或者这是不可能的?

谢谢!

1 个答案:

答案 0 :(得分:1)

仅在进行格式化或使用类型为[ComputerName]的值时才使用语法Formatted,因此在第二个示例中出现语法错误。

但是在第一个例子中,你正在做的是将ComputerName属性的值与LJPRESCOTT1(public)属性的值进行比较,我想这总是评估为false。如果您想将ComputerName与硬字符串值进行比较,则需要一些引号:

ComputerName="LJPRESCOTT1"