Showing results for 
Show  only  | Search instead for 
Did you mean: 
Level 3

How do I use Maintenance Mode/Uninstall Product?

I would like to add to my installer the ability to uninstall a previous installation of the same product. I checked "Enable Maintenance Mode support" and "Uninstall Product" in the Project/Advanced panel and built a new installer.

I don't understand how users are supposed to used this. Reading through the documentation it sounds like the user should be able to run some kind of special binary (the "Change Installation launcher") that would give them the choice to uninstall the product. The documentation says this special installer should be called "Change Product_Name Installation.exe". Problem is InstallAnywhere doesn't built anything called that. It still only builds my standard installers, Product_Name.[bin|exe].

Also, the installer's usage statement mentions a "-uninstall" flag, but it doesn't seem like it does anything. It simply runs the installer as if no flag were specified.

Surely I am missing something?
Labels (1)
0 Kudos
4 Replies
Level 6

Hi nchristi,

Assuming that your using a migrated project i.e a project created from a version lower then 2010 and then importing it to 2010.

1.Now open your project in 2010
2.Navigate to Project->Advanced and enable the Maintenance Mode
As per your requirement please check uninstall
Here by you also Activate instance management

-Build your project with your other requirements and Now while you try to install your binary you will be prompted with a Dialog to either

1.Install a new instance or
2. modify the existing instance
Provided that u have already installed your product once on the same target machine
Now Your choice should be option 2
This will help you traverse through Maintenance mode where your selected option is only Uninstall Via GUI
Thus going ahead with the wizard you will be directed towards uninstallation of your previous installation.

The naming convention should not make a difference i.e "Change Product_Name Installation.exe".It can be customized at install phase in the Installanywhere designer.Its only a default name given to uninstaller launcher.

I think this should resolve your issue.
Hope it helps.

Madhav Pai
InstallAnywhere Engineering
Flexera software
0 Kudos
Level 3

Thank you for your prompt reply.

This is not a migrated project. The project was created with IA 2010 and I'm now using IA 2010 SP1 + Hotfix A + IBM Hotfix E.

I'm proceeding as directed but I'm not getting the dialog box. I'm just getting the normal installation panels. However, the uninstaller that gets installed by the new installer does have an additional "Maintenance Mode" panel" (which is not very useful since it only has one option, "Uninstall Product"). But again, the installer doesn't have a "Maintenance Mode" panel; it simply goes right to the normal installation panels.

From your previous reply it sounds like the "Maintenance Mode" panel is only displayed if the product is already installed. Is this correct? How exactly does IA check for a previous installation, and when exactly does this check occur? I'm asking because I'm setting $USER_INSTALL_DIR$ dynamically during the Pre-Install phase, meaning that this variable is probably not set to the correct value when IA checks for a previous installation. Although I also tried to set it in Project -> Platforms -> UNIX -> Default Install Folder, but it didn't yield better results.

0 Kudos
Level 3

I'm wondering if what I'm trying to do is even possible. Maybe I've misunderstood how maintenance mode was supposed to work.

Let say I've shipped version 1 of the product using an installer that didn't have Maintenance Mode enabled. Now I'm building version 2 of the same product, enabling Maintenance Mode in the new installer. Is version 2 of the installer supposed to be able to remove version 1 of the product?

0 Kudos
Level 5

I think you would need to enable Instance Management (Project->Advanced) on your Ver2 installer and after installing it, run its unisntaller and that might give you the option to modify the older instance of the application.
Try it out.
0 Kudos