Wednesday, September 28, 2011

Deceiving MSI “Bad Ass” Behavior

When MSI installations make you angry!

The above image was to me one of the most frustrating messages when creating unattended/silent installations.
”Encapsulating” an installation on an InstallShield unique file (ex.:Samsung New PC Studio 1.5) should be “a crime”. It can sometimes give so much headaches the we just want to get ride of the software or do something radical like that installations where you take snapshots…

Well, after a lot of work, usually there are 2 or 3 ways to get to the full installation unpacked, and for the sake of this article, finally get to our MSI file.
So, the most common ways are cleaning the %temp% directory, run the setup file and get the unpacked files form the %temp% folder. Some lucky times the setup file itself has an extract option.

After all the hard work, and when you think you just need to get your MSI files and launch the installation using the common msiexec switches (ex.: /passive) you get stopped by the above image…saying the you cannot run the *.msi file directly and you need to install from the setup.exe file.
I can’t tell you how much frustrating that is.

So, because I don’t what you to have a nervous attack here are the 2 ways that I think covers over 95% of the times to get the job done.

#1 – Use with a transforms (*.mst) file
I’ve found out the a lot of times we just need to launch the MSI with a transforms file (ex.: yoursoftware.msi TRANSFORMS=yoursoftware.mst) and you get your goal.

#2 – ISSETUPDRIVEN
This one was reeeeally helpful.
Launch you msi like this: yoursoftware.msi ISSETUPDRIVEN=1 and the message disappears. Obviously your msi file need to support that property but it usually does.

Well, I hope this helps a lot of people that like me sometimes gets stucked with this kind of “traps”!

No comments:

Post a Comment