Mar 27, 2013

Doing Upgrades with InstallShield LE

imageGetting an InstallShield LE installer to uninstall the previous version takes a couple of extra steps and careful avoidance of one step.
On the General Information pane are two GUIDs you can modify. The step you don't want to take is modifying the Upgrade Code, hence the big elongated red circle with the slash through it in the diagram at the left. The line above this is the Product Code and the line above that is the Product Version line. I had success when I modified both of these lines. I enter a new version number for the installer and then click on the Product Code line which makes the bracketed ellipse show up. I then click that symbol to have the system generate a new GUID.
When you're creating your first installer this is all you need to do, but when you want to issue an upgrade that uninstalls the previous version and installs the current version you have to visit the Upgrade Paths pane (four icons below the General Information pane in the above diagram).

imageRight-clicking on the Upgrade Paths as shown at the left allows you to add a New Upgrade Path…. This opens a dialog that lets you find your previous setup.exe. In the open file dialog that appears, be sure to use the popup at the bottom to select "Setup Exe Files (*.exe). Why it defaults to Windows Installer Packages (*.msi) is just one of the perverse mysteries. Once you select the setup.exe file for the previous version it will fill in the the correct Upgrade Code that should match both your old version and your new version. You can then Enter the Min Version and Max Version fields. In the diagram in the right pane, you can see I've already added a new upgrade path and have set my min version to the previous version and the max version to the current version. I haven't experimented with values for these fields, but this did the trick for my install.

NOTE: In December of 2013 I moved on to Advanced Installer http://syncor.blogspot.com/2013/12/advanced-installer-specifying-net.html

About Me

My photo
Tod Gentille (@todgentille) is now a Curriculum Director for Pluralsight. He's been programming professionally since well before you were born and was a software consultant for most of his career. He's also a father, husband, drummer, and windsurfer. He wants to be a guitar player but he just hasn't got the chops for it.