Setting Version of InstallShield 2009 InstallScript project from IsCmdBld.exe

installshield

Solution

I believe `IsCmdBld` only supports passing `ProductVersion` properties for MSI projects, but not for InstallScript projects. I believe you need to do something like this prior to calling `IsCmdBld`:

set project = CreateObject("ISWiAuto15.ISWiProject") 
project.OpenProject "C:\test.ism"
project.ProductVersion = "2.0.0"
project.CloseProject
set project = nothing

Alternatively you can save your project type in XML format and use an XPath / XPoke to update the `ProductVersion` in the `Property` table. The syntax is a little scary because of the DTD, but it can be done.

Problem

I am very new to InstallShield and have inherited a InstallScript project. I have mostly figured out my way around and fixed most of the problems. However, I wish to build this project automatically on our build server with each build of our product. I have this working fine. For some reason, though, I cannot get the version number to increase. I am using the command: `IsCmdBld.exe -P <.ism location> -L <some_path_variable>=<some_value> -L <some_path_variable2>=<some_value2> ` This works. However, adding `-y 1.2.3`, `-y "1.2.3"`, `-z Version=1.2.3`, `-z Version="1.2.3"`, `-z "Version=1.2.3"`, `-z ProductVersion=1.2.3`, `-z ProductVersion="1.2.3"`, or `-z "ProductVersion=1.2.3".` does not work. When I say that it doesn't work, I mean that using the resulting installer does not attempt to do an upgrade like it would if I manually increased the Version string in the Product Properties table from inside InstallShield. Is there something I am missing? I know I am not providing much to go on, just hoping someone has come across this problem before. Also, using the `-c COMP` switch does not work. Any thoughts appreciated.

Original source