我正在使用InstallShield MSBuild目标构建InstallShield项目。我一直在努力覆盖路径变量。我所做的一切似乎都没有被InstallShield构建所接受。 help page不是很有帮助。
答案 0 :(得分:6)
文档中没有解决一些问题。在.isproj文件中,将路径覆盖置于ItemGroup中,如此。该项必须命名为“InstallShieldPathVariableOverrides”并包含一个“PathVariable”元素。:
<!-- Override Path Variables for the project -->
<ItemGroup>
<InstallShieldPathVariableOverrides Include="$(AnMSBuildVariable)\Win32\Installer">
<PathVariable>MY_BUILD_PATH</PathVariable>
</InstallShieldPathVariableOverrides>
<InstallShieldPathVariableOverrides Include="$(AnMSBuildVariable)\Win32\Installer\Reports">
<PathVariable>MY_REPORTS_PATH</PathVariable>
</InstallShieldPathVariableOverrides>
</ItemGroup>
此外,如果你有包含重写路径的子路径变量,你也必须覆盖它们:继承不会获取继承的覆盖。 (参见示例,原始路径变量可能已将MY_REPORTS_PATH定义为MY_BUILD_PATH \ Reports,但必须明确覆盖它。)