Search code examples
c#.netinstallationwindows-installerexe

What are the differences between MSI and EXE installers, and which should I choose?


Possible Duplicate:
What are the specific differences between .msi and setup.exe file?

I am working on an installer for a new version of my project (C#).

Previously, I've used Inno Setup to create .exe files for installing my projects on other computers in the workplace. While reading through some tutorials, though, I came across Windows Installer XML, which uses XML files to build a .msi installer.

My project will be available on a network share that all the employees have access to so they can install the software (I'm currently working on an update checker as well)

What are the major differences between .exe and .msi installers? Why would I want to chose one over the other? Would either make more sense given my specific environment?

I found some of the information at this question, but there was not a lot of information.


Solution

  • I wouldn't use WiX for a new project. I'd use an 'Installer Project' in Visual Studio to build an MSI. An installer project is much, much easier to put together.

    Many exe installers are actually stubs or containers that hold an MSI, btw.

    I guess you've checked out http://en.wikipedia.org/wiki/Windows_Installer?

    MSI's give administrators the ability to restrict installs, rebase installs, change or add custom actions, automate installs/reinstalls/uninstalls, standard logging and switches. It just really integrates into a corporate IT environment ( https://web.archive.org/web/20130425213006/https://technet.microsoft.com/en-us/library/bb742606.aspx ).

    A custom installer may have many of those features, but that would depend on the installer package.