如何使用Installshield 2012 iscmdbld.exe命令行工具修改多个属性

时间:2011-10-18 21:37:04

标签: installshield installshield-2011

我正在尝试进行自动构建,并让我的构建服务器将一些命令行选项传递给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年基本相同。

1 个答案:

答案 0 :(得分:2)

我创建了一个新的基本MSI项目,添加了一个虚拟功能和组件,并在输入时使用多个-z参数构建它,它对我没有任何问题。我查看了输出MSI的Property表,并且值按预期存在。

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

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

例如,我发现使用这些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>