Difference Between MSI and EXE (Setup.exe)

What is the real difference between an MSI and a Setup.exe File? 

If you google this topic you will find that thousands of websites attempt to make the comparison but what I found is that most of them just give their definitions and that is it. We do not want  “Damn” definitions, we  just want  the differences.  I hate to reinvent the wheel, but in this case I may have to.

Here are the differences once and for all 

1. Setup.exe  is required if you want to install prerequisites as as part of your install.

2. If you want to push a program to Multiple Computers on a network (domain, group policies involved, silent installations)  MSI is the way to go.

3.  An MSI can contain EXE files and EXE files can contain MSI files.

4.  In deployment where both MSI and EXE are provided if your setup file is very small compared to your MSI files, chances are your SETUP.EXE  job is to "install prerequisites" or to "simply launch the MSI". (Try renaming the MSI file and see if setup works)

5. MSI is the recommended way to install applications

6. Setup is a little old school.

7. Some Vendors force the installation to be run through the "Setup.exe" remember that set up can be used to install prerequisites so these vendors' goal is to make sure that you install all prerequisites before installing their software (make sense). So the MSI may require the Setup.exe.

8. Some people say that you can ignore one or the other, this is not an absolute truth.  It really depends, The MSI may require the EXE and the EXE may require the MSI.

Reference
From the Horse’s Mouth
http://msdn.microsoft.com/en-us/library/aa367449(v=VS.85).aspx

Microsoft Forum
http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/50b0491d-02d1-48be-bb0e-f6feeec28395/

1 comment Write a comment