0

我正在尝试进行自动构建,并让我的构建服务器将一些命令行选项传递给 iscmdbld.exe,以便在生成的 msi 文件中修改 Windows 安装程序属性。我能够让它与一个属性更改一起工作,但现在我想要更改两个,而第二个似乎不起作用。

目前我正在使用以下选项来构建应用程序:

    -y "2.50.0100" -z "APP_VERSION=2.5.0.0.1" -z "APP_COMMENTS= Customer ID Version 2.5.0.0.1"

似乎不起作用的部分是第二个属性的第二个 -z 命令行选项。有什么想法吗?

PS。我使用了 installshield-2011 标签,因为我无法为 2012 年创建一个标签,这在 2011 年和 2012 年应该基本相同。

4

1 回答 1

2

我创建了一个新的 Basic MSI 项目,添加了一个虚拟功能和组件,并在您键入它们时使用多个 -z 参数构建它,它对我来说没有任何问题。我查看了输出 MSI 的属性表,并且值如预期的那样存在。

您的日志文件中是否有任何错误?

BYW,IsCmdBld 很好,但是当您进入更复杂的构建场景时,您可能会喜欢使用 InstallShield 的 MSBuild 支持和 COM 自动化接口来运行您的构建。

例如,我发现做这部分 XML 比知道将 -z 参数传递给某些 EXE 要容易得多。

<PropertyGroup>
  <InstallShieldProductVersion>$(MSIProductVersion)</InstallShieldProductVersion>
</PropertyGroup>
<ItemGroup>
  <InstallShieldPropertyOverrides Include="$(CustomLongProductVersion)">
    <Property>APP_VERSION</Property>
  </InstallShieldPropertyOverrides>
  <InstallShieldPropertyOverrides Include=" Customer ID Version $(CustomLongProductVersion)">
    <Property>APP_COMMENTS</Property>
  </InstallShieldPropertyOverrides>
</ItemGroup>
于 2011-10-18T23:25:59.133 回答