This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: IsCmdBld.exe difficulties
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 29, 2010
11:14 AM
IsCmdBld.exe difficulties
Hello,
I am pretty new to InstallShield, and am having difficulties getting IsCmdBld.exe to do what I want it to. Currently, I am having success building my InstallScript project like so:
However, I am not successful when trying to use -B, -C COMP, -Y , or -Z =. The -B flag isn't very important to me, as I have other ways of moving the installer to where I want it to be. -C COMP I can, also, live without as this installer will only be used internally. However, I need either -Y or -Z to work. I need the build server to be able to build my installer and pass in the build number in some fashion.
Example of -Y not working:
I changed the version in the IDE to 1.2.3, then built and installed. Then, built again this time with IsCmdBld.exe passing it -y 1.2.4. When I used this installer, it did not try to upgrade as desired.
Example of -Z not working:
I install a using version 1.2.3 like described above. Then, I alter my InstallScript to read in the property TESTPROP and use that value for comparing with the currently installed version number to determine whether or not to do an upgrade. My code is like so:
After that last line I show you, there is logic that is known to work.
I am not sure if this matters, but if stepthrough this code, ReadStringProperty returns a negative number despite this InstallShield 2009 documentation claiming that it always returns 0.
http://kb.flexerasoftware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=installshield15langref-ReadStringPropertyhtm5&sliceId=&docTypeID=DT_MACROVISIONHELPNET_1_1&dialogID=78633680&stateId=0%200%2078631405
I am pretty new to InstallShield, and am having difficulties getting IsCmdBld.exe to do what I want it to. Currently, I am having success building my InstallScript project like so:
IsCmdBld.exe -P <.ism location> -L= -L =
However, I am not successful when trying to use -B
Example of -Y not working:
I changed the version in the IDE to 1.2.3, then built and installed. Then, built again this time with IsCmdBld.exe passing it -y 1.2.4. When I used this installer, it did not try to upgrade as desired.
Example of -Z not working:
I install a using version 1.2.3 like described above. Then, I alter my InstallScript to read in the property TESTPROP and use that value for comparing with the currently installed version number to determine whether or not to do an upgrade. My code is like so:
function ReadProperties(PropertyBag)
int nResult; ;
begin
nResult = ReadStringProperty(PropertyBag, "TESTPROP", m_strTESTPROP);
end;
function STRING get_TESTPROP()
begin
return m_strTESTPROP;
end;
function OnSetUpdateMode()
...
sVersionBeingInstalled = get_TESTPROP();
IFX_PRODUCT_VERSION = sVersionBeingInstalled;
After that last line I show you, there is logic that is known to work.
I am not sure if this matters, but if stepthrough this code, ReadStringProperty returns a negative number despite this InstallShield 2009 documentation claiming that it always returns 0.
http://kb.flexerasoftware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=installshield15langref-ReadStringPropertyhtm5&sliceId=&docTypeID=DT_MACROVISIONHELPNET_1_1&dialogID=78633680&stateId=0%200%2078631405
(5) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 29, 2010
02:59 PM
-c, -y, and -z are supported in Windows Installer–based projects, but not in InstallScript projects.
For your InstallScript project, consider using the automation interface if you want to increment the product version for each build. The ISWiProject object of the automation interface has a ProductVersion property that you can use to read and update the product version.
For your InstallScript project, consider using the automation interface if you want to increment the product version for each build. The ISWiProject object of the automation interface has a ProductVersion property that you can use to read and update the product version.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 29, 2010
03:01 PM
btw, the ability to use -y with ISCmdBld.exe to change the product version in an InstallScript project is logged as IOC-000073613 in our tracking system.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 29, 2010
03:28 PM
Thanks Debbie!
So, just to be clear, you are suggesting that in my build script I execute a VBScript file to edit my .ism file via the ISWiProject object before I build the installer?
So, just to be clear, you are suggesting that in my build script I execute a VBScript file to edit my .ism file via the ISWiProject object before I build the installer?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 29, 2010
03:38 PM
Yes, that's the idea. You could use VBScript, or pretty much any programming language that supports COM. The automation interface would enable you to open the project, modify the product version (and other settings, if needed), and save the project. You could even use the Build method of the automation interface to build a release (instead of using the ISCmdBld.exe), if you want.
The community forums and the help have some sample code to help you get started.
The community forums and the help have some sample code to help you get started.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 29, 2010
03:40 PM
Makes sense. Thanks again for your help.