我尝试在File element的Source
属性中使用属性值,但收到此错误:
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" />
我做错了什么?
答案 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" />