Question

I have developed a basic MSI package in Installshield. To make it install silently, I have included the MSI command line argument "/qb+" while building only. This installs it silently as expected.

However when I execute the same EXE again with the intention of uninstalling the previously installed components, it actually does a Reinstall or Repair but not a Uninstall. I would like to launch the same EXE for installation and then for uninstallation. Is it possible?

Regards,
Abhijit

Was it helpful?

Solution

This happens because maintenance is performed for an already installed package by default, and default maintenance does nothing. You might be able to hack this with an approach similar to How to get msiexec to install and/or reinstall as necessary but instead of using REINSTALL, try setting REMOVE and clearing it when UILevel > 3 OR NOT Installed.

OTHER TIPS

It is not clear if this is an EXE for testing purposes or for public release. If it is for public release I would not change how it generally works in line with the "principle of least astonishment". In other words, the user should know what to expect.

I generally avoid the setup.exe launchers and favour a single, compressed MSI file. It will install and uninstall quicker because it doesn't run all the launch logic of the setup.exe (checking any pre-requisites, checking the Installshield engine, unknown Installshield stuff - God knows what they are doing in all the slowness), and it will provide users with a context menu in explorer so then can right click the MSI and select "Uninstall" for easy uninstall of the package.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top