56

Some software sites allow to download their software to be installed either as an .msi file or as an .exe file. When given the option, which one should one choose to download for installing software, i.e: what are the advantages of using the .msi file instead of the installer (.exe)?

I do understand the difference between both, in that the .msi file is an installation package that will be processed by a Windows installer executable. And the .exe file is an executable containing the installer and installation files. But what is the real benefit of choosing .msi over .exe. In the end, the result is the same. Or not?

5

7 Answers 7

31

Usually msi packages are provided for system administrators who would have the need to deploy the software to several terminals over a network.

The results are no different from using an executable, but msi packages sometimes do have additional options such as doing silent or pre-configured installs.

If you are not a system administrator, use the executable.

8
  • 6
    The executable is often smaller due to better compression as well, but tend to just contain and wrap the msi, automatically extracting it and firing the installation in interactive/user selects options mode... Sep 9, 2009 at 9:10
  • 5
    MSIs aren't merely for sysadmins - though certainly they are used by them; I've found they tend to be more completely removed when doing an uninstall compared to their EXE brethren (and no - I don't know why)
    – warren
    Sep 9, 2009 at 12:48
  • 2
    are MSIs not more secure, since an .exe could be anything, but an .msi is definitely an installer package? May 24, 2014 at 21:36
  • 1
    @thameera still seems like a big difference. won't an msi have a wizard, whereas an exe will just straight up execute? won't an msi be automatically uninstallable? Oct 6, 2014 at 0:50
  • 1
    There are some major corporate benefits with MSI. Developers often have problems with MSI due to its exotic design in certain areas, but for corporate deployment MSI files are very superior to previous deployment technologies. Sep 12, 2017 at 16:00
8

MSI files are relational databases and used by the Microsoft Installation Service. This service installs applications onto the computer. MSI files offer far more flexibility for application installation and maintenance than older scripted executable programs could ever provide, thus MSI files are the current recommended method for installations on Windows.

1
  • 4
    How does that imply that MSI are the recommended (read: best) method?
    – hasen
    Sep 9, 2009 at 11:24
4

There is no real advantage of .exe over .msi other than if you use Winrar (or some others), you can usually extract all files from a .msi file, without needing to install anything.

1
  • Did you mean .exe in the second sentence? Because unpacked .exe usually have cleaner structure of files than that of .msi (both actually can be opened in an archive manager).
    – user
    Sep 15, 2018 at 8:43
2

Sometimes, especially when installing .NET applications, there is a Setup.exe and an .msi. In the case of .NET, the Setup.exe can check to make sure the system has all the proper prerequisites installed (like the .NET Frameowork, etc) for running the application.

If your system is missing one of these prerequisites, it can prompt you to install them first before running application, which could save from having the app successfully install, but then fail to run because of a missing library or framework.

If you have all the prerequisites, the Setup.exe just launches the .msi

2
  • So you are saying an msi can not check for required software, and prompt the user to install them? Oct 7, 2009 at 10:03
  • 2
    An msi could check for required software, it would just be a bit more complicated to code. Depending on what tools were used to make the installer, the Setup.exe can be generated automatically by some of MS's development tools, making life easier for the coder. Here are some details that might help: msdn.microsoft.com/en-us/magazine/cc163899.aspx
    – Millhouse
    Oct 7, 2009 at 13:43
1

Among other subtle differences:

A single MSI file can only have one single locale for the install wizard (details).
This can be a reason for distributing an app as .exe, which is more flexible.

So, if the language of the install wizard is important, you might have better luck with the .exe

1
  • Pretty sure this is the main obvious reason, and contradicts the above suggestions that sysadmins use it! With global devops, makes more sense for sysadmins to download the exe. Darn MS for making things so confusing.
    – killjoy
    Jul 19, 2018 at 19:36
0

I personally prefer .zip (or equivelant) if available. So I can extract it where ever I want, so I know exactly what has changed in my system (since I'm the one who changed it).

The ideal situation would be a portable program.

Though if I have to choose between exe and msi, I'd pick exe. Just because ..

Usually msi files spend a long time doing useless searching for configurations and stuff like that. exe's can do that too, but it's more like that an exe will just extract files somewhere and install start menu shortcuts.

-2

IMHO, MSI is more secure in the sense that when you got infected with a virus, your exe files can become infected since one of the ways virus spread is latching its code inside executable files. They are less likely to do that with an MSI file.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .