msbuild - 使用 MSBuild 构建时如何覆盖 InstallShield 路径变量?

标签 msbuild installshield

我正在使用 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/

相关文章:

visual-studio-2008 - "the outputpath property is not set for this project"错误

c# - 在没有 Visual Studio 的情况下编译 .NET 4.6 C# 项目

installation - 安装时卸载另一个 MSI

installation - Installshield Silent Uninstall 在命令行中不起作用

powershell - 具有发布配置文件和配置合并的MSBuild

msbuild - 如何获得 msbuild 任务以对文件集合进行配置转换?

msbuild - 无法使用 MSBuild SonarQube Runner 执行 FxCop 规则

c# - 如何检测 Windows 7/Vista 中的 .NET Framework 功能何时为 "turned off"?

windows-installer - InstallShield:卸载程序时如何删除 MSI 不知道的文件和子文件夹?

installation - InstallShield 不会创建一个大的安装文件