Question

I am trying to do an automated build and have my build server pass some command-line options to iscmdbld.exe in order to modify windows installer properties in the resulting msi file. I was able to get it working with one property change, but now I want change two and the second one doesn't seem to work.

Currently I am using the following options to build the app:

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

The part that doesn't seem to work is the second -z command-line option for the second property. Any thoughts?

PS. I used the installshield-2011 tag since I couldn't create one for 2012 and this should be basically the same in 2011 and 2012.

Was it helpful?

Solution

I created a new Basic MSI project, added a dummy feature and component and built it with the multiple -z arguments as you typed them and it worked for me without any problems. I looked at the output MSI's Property table and the values were there as expected.

Do you get any errors in your logfile?

BYW, IsCmdBld is fine and all, but when you get into more complicated build scenarios you might appreciate the use of InstallShield's MSBuild support and COM Automation Interface to run your builds.

For example, I find it far easier to do this bit of XML then know to pass -z arguments to some 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>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top