2

我正在使用 InstallShield MSBuild 目标构建一个 InstallShield 项目。我一直在努力覆盖路径变量。InstallShield 构建似乎没有接受我所做的任何事情。帮助页面不是很有帮助。

4

1 回答 1

7

文档中没有解决一些问题。在您的 .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,但它必须被显式覆盖。)

于 2009-09-23T12:47:00.353 回答