InstallShield automatic script for uninstall no longer works

I've been using InstallShield for years for doing an application install that is relatively straightforward.  The install works and hasn't changed much over the years.  Recently I noticed that the uninstall stopped working.  

When a user runs thru the "remove program" options in the Windows Control Panel it used to go thru whatever automatic script was created by InstallShield to delete all of the files that were installed during my installation (which is exactly what I want).  Now, instead of doing an uninstall the installer gets relaunched.  I'm sure the reasoning is so that a user can add/change/modify installation option.  But I don't need or want that.  I simply need it to do what it did before, which is to remove the application.

I'm assuming I set some option somewhere that caused this but I've searched all thru InstallShield options I could think of and I can't find what I might have set.

I'm running InstallShield 2008 and this is an InstallScript type project.

Anyone know what I might have tweaked that caused this to happen?

Note, though my installer is straightforward it is complicated enough that I'm not going to switch to another installer application so the "switch to installer ..." is not an option.

Who is Participating?
mlazearConnect With a Mentor Author Commented:
Finally figure out what I had done. In ProcessBeforeDataMove I had replaced DeinstallStart() with MaintenanceStart(). I'm sure it was a test to see if i could allow a change to the installation rather than simply an uninstall. I must have gotten distracted and eventually checked in that change to source control. Putting DeinstallStart back in fixed the problem.

I did learn a few pieces of information while I was in the process:
Install Information/General Information/Project Properties has two fields with regard to how uninstall is show in Add/Remove programs: Maintenance Experience and Update Mode Supported. I'm using Standard and now using No for Update Mode Supported.

Install Information/General Information/Add or Remove Programs is all about uninstalling but for me had two interesting fields: Disable Change Button and Disable Remove Button.  I don't have a Change option so I set Disable Change Button to Yes.  Since I do want to remove the application I set Disable Remove Button to No.
Install Information/General Information/Product Properties - I read in my searches that some people had to change the Version and/or Product GUID to get their uninstaller to work.  That wasn't the case for me.
Install Information/General Information/String Tables/English(US) The last strings in my list are UNINST_DISPLAY_NAME and UNINST_KEY.  These can be changed in order to control what is shown in the Add/Remove Programs within Control Panel.
I've documented this in case someone else runs into similar issues, which could possibly be me again sometime in the future.
Vadim RappCommented:
I would speculate that with time, you've got new updated installscript engine, which does not understand old command-line options (which would be not surprising at all given Installscript's track record throughout decades). To verify, find UninstallString for the package in question in the registry (HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\<find your package>), then try running it manually, or compare to some reference on today's installscript engine.

> I'm not going to switch to another installer application so the "switch to installer ..." is not an option.

How about switching to Basic MSI project within the same Installshield.
mlazearAuthor Commented:
In the registry I looked in HKLM\SOFTWARE\Microsoft\WIndows\CurrentVersion\Uninstall and was unable to find information about our application. (I went thru every entry and checked the data as well as searched on our company name).  

We do show up in the Control Panel, Remove Application so I know the information must be stored somewhere.

I figured the information must be somewhere in the registry so I searched for any data where my company is the Publisher and I found information about our app in:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\<big number>\InstallProperties
There is no uninstall information in this registry location.

I run on Windows 7.  I'm now doing testing on Windows XP (within a VM) to see if that acts differently.  On XP there is entries in the registry in the Uninstall section. This could be more of a Windows 7 issue.

Regarding switching to Basic MSI.  My installation is somewhat straightforward but still complicated enough.  It has about a dozen third party merge modules, custom scripts, multiple install options with some odd quirks that I'm not sure are handled by other installers.  Over the years it's probably taken 40+ hours to put it all together.  The thought of starting over and having to find all the potential problems with a new product or a new install "language" is just not appealing.  Especially when this all worked great in an earlier release.  If I had to start from scratch on an installer I probably would drop InstallShield because it's very expensive for my 1 or 2 application installs I need to write.  But that's a last resort option.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.