Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

automatically update product code and file version


2 replies to this topic

sai21

sai21
  • Full Members
  • 16 posts

Posted 21 May 2010 - 09:06


This is a new thread of two questions I have in my previous thread :
http://forum.install...pic=19914&st=0

First let me introduce the structure of my install shield project. We have product A, B, C, D, each of them could install successfully. In order to save user's time, I made a install project which constains all those product MSIs.

Here are the questions I got:

1, every time I make a new build of setup.exe, I need to manually update product code by selecting chained msi of product (A, B, C, ...), in InstallShield project "Release" ->"Chained MSI Packages"
Is there any way to do it automatically?

2, the output file setup.exe, has a wrong file version, you can see the file version by right click setup.exe, tap "version", there are two file version information. The first one on the top is "16.0.0.400", which I guess its InstallShield 2010 engine verison something... By the way, I am using InstallShield 2010. I have changed the copy right version by selecting use my own copy right. But I didn't find a place to modify the file version? Could you please help.

Thank you very much.

lilache

lilache
  • Full Members
  • 40 posts

Posted 23 May 2010 - 09:34

Regarding the second part of your question, each time I create my msi (or exe) I change the build version.
I do that by providing build flags to the ISABld (InstallShield stand alone build)
IsSABld.exe -p I:\Dev\product.ism -a English -n -r FullSetup -x -v -b I:\Dev\product\release -Z ProductVersion=%Variable% -Z MYVERSION=%Variable%
This way I can control the version and build number of the setup each time a release a build.

hope it helps.

Lilach

smc0862

smc0862
  • Full Members
  • 54 posts

Posted 25 May 2010 - 11:54

InstallShield also supply an automation object. We use this for our builds to open up the MSI project to change the package code and version number. We use Perl for our build scripts. Code looks like:

my $dev = Win32::OLE->new("SAAuto12.ISWiProject");
$dev->OpenProject("myMSIproject.msi",false);
$dev->SetProperty(ProductVersion, "$newversion");
$tmpGUID = $dev->GenerateGUID();
$dev->SetProperty(PackageCode, $tmpGUID);
$dev->SaveProject();
$dev->CloseProject();