(我看过其他答案都无济于事。)
在我的WixProj文件中,我有一些引用必要文件的引导程序调用。
<GenerateBootstrapper ApplicationFile="$(TargetFileName)" ApplicationName="Case Tracking" BootstrapperItems="@(BootstrapperFile)" ComponentsLocation="HomeSite" CopyComponents="False" OutputPath="$(OutputPath)" Path="$(env.ProgramFiles)\Microsoft SDKs\Windows\v8.1A\BootStrapper" ApplicationRequiresElevation="True" Culture="en-US" Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' " />
<GenerateBootstrapper ApplicationFile="$(TargetFileName)" ApplicationName="Case Tracking" BootstrapperItems="@(BootstrapperFile)" ComponentsLocation="HomeSite" CopyComponents="False" OutputPath="$(OutputPath)" Path="$(env.ProgramFiles)\Microsoft SDKs\Windows\v7.0A\BootStrapper" ApplicationRequiresElevation="True" Culture="en-US" Condition=" '$(Configuration)|$(Platform)' == 'Debug Web|x86' " />
<GenerateBootstrapper ApplicationFile="$(TargetFileName)" ApplicationName="Case Tracking" BootstrapperItems="@(BootstrapperFile)" ComponentsLocation="HomeSite" CopyComponents="False" OutputPath="$(OutputPath)" Path="$(env.ProgramFiles)\Microsoft SDKs\Windows\v6.0A\BootStrapper" ApplicationRequiresElevation="True" Culture="en-US" Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' " />
上面代码的问题是,当它试图构建时,我得到错误
表达式&#34;&#34;&#34; .ProgramFiles&#34;无法评估。方法&#39; System.String.ProgramFiles&#39;没找到。
那么如何在WixProj文件中引用ProgramFiles环境?
项目在本地正确构建 - 它只是通过MSBuild无法正确构建。
由于
答案 0 :(得分:0)
在WixProj文件中,“env。”不是必需的。相反,您可以将其称为$ {ProgramFiles} \ Microsoft .....
wxs文件中的引用可能需要使用$(env.ProgramFiles),但构建文件的WixProj使用内置常量。