我有一个正常工作的 WiX 安装程序,它可以正确地将属性写入某些 INI 文件,它工作正常,但我需要从计算机名称即时生成 INI 文件的名称,例如。
机器(xxx).INI
其中 xxx 是我的计算机名称。
我已经尝试了各种属性组合,但我似乎无法让它工作。任何人都可以让我正确吗?
这是我最新的尝试,但不起作用:
<Property Id="MACHINEINI" Value="MACHINE([%COMPUTERNAME]).ini" />
...
<IniFile Id="IniPermissions"
Directory="MYDIR"
Action="addLine"
Name="[MACHINEINI]"
Section="[ComputerName]"
Key="Permissions"
Value="TEST" />
我从来没有看到 MACHINEINI 的值,因为创建的文件名实际上被称为
[机械]
它写入的值是正确的,所以我看到的内容如下:
[xxx] 权限=测试
(其中 xxx 是我的机器名称)
我尝试使用 [ComputerName]、[COMPUTERNAME]、[%COMPUTERNAME]
当我构建安装程序时,我收到以下错误:
C:\Source\blah\BLAH.wxs(50):警告 CNDL1077:“MACHINEINI”属性的值中包含“[COMPUTERNAME]”,这是对其他属性的非法引用。如果此值是字符串文字,而不是属性引用,请忽略此警告。要使用另一个属性的值设置一个属性,请使用具有 Property 和 Value 属性的 CustomAction。