cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
honolua
Level 7

Help with Updates

Project Type: InstallScript MSI

I'm looking for some help understanding what's going on and what direction I need to go in. Right now, I'm creating builds but not configuring the update section of the project. When I install build 1 and then try to install build 2, I get a dialog box saying "Setup will perform an upgrade of 'project'. Do you want to continue?". If I say yes to continue, I get a dialog saying "Resuming the InstallShield wizard...". The next dialog box shows the progress and it finishes. We are not configuring the updates at this time due to an error during compilation that I have yet to look into fixing (we have some dynamically linked files that move from one release to the next, i.e. build_101 vs. build_102, etc. which generates errors about the old files being missing in the new build).

My questions are:
1. Where can I configure what happens in our current upgrade scenario? We lose some registry settings which are set based on an MSI Property that we set during the install. The variable is not set during the upgrade but the registry entries are still processed (c:\test\one becomes \one). I need to be able to retrieve a previously set registry value so I can set the property on the update, or better yet instruct InstallShield to simply not mess with the registry settings on the update, but still process all the files.

2. We also need to leave the services alone. The installation creates and configures some services but the upgrade looks to be trashing the password. We need to just leave the services alone entirely. How can this be done? I thought about making a component whose condition was "Not Installed" but that won't work as the service's .exe file needs to be upgraded but the service itself does not.

3. We also need to run a post-update step to launch one of our applications, just like we do on the installation. Where/how can this be done?
Labels (1)
0 Kudos
(1) Reply
honolua
Level 7

1. I found a function called OnResumeUIBefore() that serves perfectly for collecting the previously created registry values and setting the MSI property.

2. I may have found a way to get the installer to leave the services alone on the updates. In the Execute Sequence, there's a few items listed that look promising. I can set a condition such as "Not Installed" or REMOVE="ALL" or whatever needs to be set to have InstallShield skip over that functioanlity on the update.

3. Finding the solution to #1 led me to finding the OnResumeUIAfter() which will allow us to launch our external app(s) after the new files have been copied into place.
0 Kudos