Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the prime advantage to having an MSI installation package?

I thought this would be somewhere on the Web, but I couldn't Google it:

Given the complexity involved in creating an MSI package (compared to NSIS, InnoSetup, etc.), what would be a compelling reason to go through all the mess (using MSVS's crappy setup project wizard, learn a whole new langauge/ecosystem just to make the installer (WiX), or pay heavy license fees (InstallShield)) for the sake of making an MSI installer?

Would be nice to have real world opinions or experience (even to prove that MSI is really worthless) other than the obvious MSDN page, for instance :)

like image 562
kizzx2 Avatar asked Nov 29 '10 13:11

kizzx2


People also ask

What are the benefits of using MSI packages?

Using MSI packages simplifies the installation and un-installation processes. Applications can be quickly installed on a range of systems in various locations. This saves on administration costs, simplifies license fee management, minimizes support and repair costs. Modifies applications to save space on systems.

What is MSI installation package?

MSI file extension stands for Microsoft Software Installer. It is a Windows Installer format that uses Microsoft's Windows Installer service to configure installer packages, such as Windows applications or update packages. The MSI file extension is used to install software on Windows operating systems.

What is the difference between MSI Installer and Installer?

The Windows Installer is a component of Windows that handles the installation, maintenance, and removal of software. .MSI files are Windows Installer database files and interact exclusively with the Windows Installer, unlike .

Should I use MSI or exe Installer?

The main difference between the two extensions is their purpose. EXE is used mainly to indicate that the file is an executable one. In comparison, MSI indicates that the file is a Windows installer. While an MSI is used only with installers, this is not the case with EXE.


2 Answers

I don't think there is one prime advantage for all situations. Here are some things I like about it, vs other kinds of installers:

  • Install logic and code is contained in a database, which is in an accessible format. I like this a lot when I'm debugging. Rather than rebuilding your installer, you can directly edit the database with a tool like Orca (free database editing download from MS), then run the install again to test your changes. Update your custom code, temporarily condition something out, change the order of operations, whatever you need to do.

  • Patching. The Installer service and its corresponding tools know how to create patches containing deltas of updated files, rather than complete files. It allows maintenance sizes to remain reasonable.

  • Administrative Images. The installer can create an administrative image. If you've generated patches, you can apply the patches to the administrative image, and new installations can then be run from the administrative image rather than the original installer. Like slipstreaming patches in OS images. If you're pushing your app out to a large number of machines, it's pretty cool to not need to push a bunch of patches out post-install.

Other interesting features include transforms, run from source, detect and repair, component sharing, and so on.

like image 88
Ed. Avatar answered Jan 03 '23 18:01

Ed.


Take a look at this:

https://serverfault.com/questions/11670/advantages-of-using-msi-files

like image 34
Filipe YaBa Polido Avatar answered Jan 03 '23 16:01

Filipe YaBa Polido