Refael Sheinker
Refael Sheinker

Reputation: 891

How to uninstall a non-msi InstallShield setup in Wix toolset

I have an old installer that is made with InstallShield 2015, its non-MSI based (I tried opening it with 7zip and could not --> non-MSI based, am I right?). In general, I need to stop using InstallShield and migrate to Wix.

  1. Is it possible some how to convert InstallShield it to Wix?
  2. Using Wix, I need to detect if a previous version (the InstallShield version) is currently installed and automatically uninstall it and then continue with the normal Wix process. Is such a thing possible?

Thank You :-)

Upvotes: 2

Views: 809

Answers (1)

Stein Åsmul
Stein Åsmul

Reputation: 42126

I'll add a quick answer for reference, though the problem appears solved already.

  1. If the old Installshield setup is an MSI, you can use dark.exe from the WiX toolkit to "disassemble" an MSI into WiX source code (dark.exe can also decompile WiX setup.exe bundles - there is a somewhat messy description of this here: How can I compare the content of two (or more) MSI files?).

    • After some cleanup you can compile the WiX source to a new WiX-built MSI. A bit of knowledge and experience is needed for the cleanup to be successful (eliminating GUI sections, add a WiX GUI, realign source paths, clean up binary stream tables, etc... - not trivial, but not rocket science :-).

    • If the old setup was a legacy installer (not MSI), you can convert it to MSI by using a repackager tool to capture changes done to the system during installation and convert them to an MSI. A lot of knowledge is required to clean up such a capture. If you know the product it is often better to code a new setup "by hand". Or if you are in a large corporation chances are you will have a "repackaging team" available somewhere who will have the expertise to do this job for you.

  2. Yes, old setups can be uninstalled as part of your new MSI.

    • As you discovered if the old setup was an MSI you can simply use a major upgrade to remove it during the new WiX install.

    • If the old version was a legacy setup things can get considerably more involved often requiring you to "record" a dialog response file to feed to the uninstaller function of the old setup.exe file. Not at all trivial, and quite error prone. Incidentally one of the major benefits of MSI is the completely suppressible GUI.

    • For reference, here is an old answer with information on dealing with the infamous setup.exe files that we frequently have to uninstall and upgrade: How can I use powershell to run through an installer? The setup.exe can be many different things: Installshield Setup, Advanced Installer Setup, Inno Setup, Self-Extracting Zip-Archive, a proprietary setup format, the list goes on...

Upvotes: 2

Related Questions