在WiX中使用File元素的Source属性中的属性

时间:2015-11-25 16:38:27

标签: wix installer

我尝试在File elementSource属性中使用属性值,但收到此错误:

error LGHT0103 : The system cannot find the file '[MYPROPERTY]'

以下是属性的定义和使用方式:

<Property Id="MYPROPERTY" Secure="yes" Value="myfile.xml" />
    ...
<File Id="MyFileId" Name="myfile.xml" Source="SubFolder\[MYPROPERTY]" KeyPath="yes" />

我做错了什么?

1 个答案:

答案 0 :(得分:4)

通过属性 -Tag定义的属性在MSI-Package中创建一个公共属性,这是一个Windows Installer概念。

您在File-Tag的Source-Attribute中引用此变量,但这不是您可以使用此属性的方式。您只能在运行时使用它们(例如,在安装期间创建的Registry-Keys中使用它们),但Source-Attribut是通过程序包的编译时解决的。

文件标记的Source-attribut需要一个指向开发者计算机上某个位置的变量路径。

我假设您正在寻找Wix预编译器指令:

<?define MyProperty = "C:\myfile.xml" ?>

<File Id="MyFileId" Name="myfile.xml" Source="$(var.MyProperty)" KeyPath="yes" />