I have a product with many released versions, and I'm preparing to release the next one.
I upgraded Installshield from IS11.5 to IS2014. My IS11.5 Basic MSI project converted fine.
I made these changes to the IS2014.ism
1. added custom actions to get SUPPORTDIR and INSTALLDIR to my deferred functions.
2. renamed OnBegin, OnEnd, OnMoving, OnMoved, and OnUpdate to MyOnXXX
3. For MyOnMoving and MyOnMoved, I set the Install Condition so they would only execute on an Uninstall.
REMOVE~="ALL" AND NOT (IS_MINOR_UPGRADE OR IS_MAJOR_UPGRADE)
4. For MyOnUpdate I set the Install Condition to only run on updates.
(NOT REMOVE~="ALL") AND (IS_MINOR_UPGRADE OR IS_MAJOR_UPGRADE)
5. I changed the ProductVersion, ProductCode, and PackageCode, but kept the UpgradeCode unchanged.
6. Created an Upgrade scenario for a Major upgrade with
* Completely uninstall old setup before installing new setup
* Products sharing my upgrade code
* Any version
* Detect Only = No
* Detect Property = ISACTIONPROP1 (I'm not referancing this anywhere)
On a full install, I lay down the windows project files, create and start a service, and create a DB2 DB.
On an uninstall, I uninstall the windows project files, stop/uninstall the service, and drop the DB2 DB.
On an Update, I want to uninstall/install the the project files, stop/uninstall/install/start the service,
and UPDATE the DB2 DB.
The new IS2014 setup.exe will install and uninstall properly, but when I lay down a prior version, it does an full uninstall, then a full Install instead of an Upgrade. It goes thru the DROP DB code in MyOnMoved, which I definitely don't want it to do.
IS2014.msi doesn't seem to know that I want a MAJOR upgrade, and it should leave the DB2 DB alone.
The command line from the log looks like this -
Command Line: SETUPEXEDIR=<properPath>\PROJECT_ASSISTANT\SINGLE_EXE_IMAGE\DiskImages\Disk1 SETUPEXENAME=setup.exe CURRENTDIRECTORY=<properPath>\PROJECT_ASSISTANT\SINGLE_EXE_IMAGE\DiskImages\Disk1 CLIENTUILEVEL=0 CLIENTPROCESSID=3388
Can anyone tell me where I'm going wrong, and what I'm missing? I have very little experience with installshield so all help will be greatly appreciated.