Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Windows application installer frameworks

It's always seemed strange to me that downloadable applications would offer multiple types of installers. For example, sometimes you can choose either a .exe or a .msi

Do certain types of installers have advantages over others? Does it matter which one you choose? As a developer, why would I want to offer different installers to my users?

like image 293
kenwarner Avatar asked Aug 16 '09 17:08

kenwarner


1 Answers

One big difference between the exe and msi: You can EDIT an MSI file.
You can access the MSI Database directly using Orca -or- code it up through the WindowsInstaller APIs, using your favorite Windows hacking methods.

Ex. I wrote a python based builder which, amongst many other tasks, routinely edits and updates MSI packages.

A quick warning to brave souls:

Although the APIs seem well documented, a LOT of WI functionality is subtle, even cryptic - the MS Office team definitely did not chose the principle of "least surprise" when they created Windows Installer.

IF you choose to delve into the mystic world of WI, be prepared for long hours of head scratching, tedious debugging and pouring over enormous MSI log files

like image 122
joel Avatar answered Sep 21 '22 11:09

joel