我正在使用 InstallShield MSBuild 目标构建 InstallShield 项目。我一直在努力覆盖路径变量。我所做的一切似乎都没有被 InstallShield 构建所接受。 help page不是很有帮助。
最佳答案
文档中没有解决一些问题。在 .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,但必须显式覆盖它。)
关于msbuild - 使用 MSBuild 构建时如何覆盖 InstallShield 路径变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1465746/