Solved

Setup.msi & setup.exe -- what is the difference?

Posted on 2007-11-27
6
1,952 Views
Last Modified: 2013-12-16
Hi,

I'm creating a setup project for my application. Two files were created when I compiled the project:

Setup.msi & setup.exe

What is the difference and which one I should distribute?

Thanks.
0
Comment
Question by:EEssam
6 Comments
 
LVL 8

Assisted Solution

by:digital_thoughts
digital_thoughts earned 150 total points
ID: 20360441
An MSI is a database file that is used by the Windows Installer to install your application, whereas an exe includes an installer. Microsoft recommends using MSI to distribute applications.
0
 
LVL 8

Expert Comment

by:digital_thoughts
ID: 20360458
Also, an MSI can be deployed to an active directory environment using group policy.
0
 

Author Comment

by:EEssam
ID: 20360523
Can I just distribute the MSI, without the exe?
0
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 7

Assisted Solution

by:Maverick_Cool
Maverick_Cool earned 50 total points
ID: 20360637
I believe one of them is a "bootstrapper" type app which executes any presetup commands that you supply it. Bottom line is you need both of them, just in case. One executes the other. Just like Office setup for example, you can't run the office setup file (named to something obvious) but you must run the setup.msi file.
0
 
LVL 8

Expert Comment

by:digital_thoughts
ID: 20360667
Yes you can distribute just the MSI as long as you will be distributing to environments with Microsoft Windows.
0
 
LVL 6

Accepted Solution

by:
Roopesh_7 earned 300 total points
ID: 20360875
Hi friend,
The Setup.exe file is the bootstrapper. It does all the checking and validation to make sure it is OK to run the MSI. If you include the Framework with your installer it is Setup.exe that checks for the Framework already installed and then installs it if required. It also does the same for any other prerequisites. If you run the MSI directly then you'll install your app but you'll have no guarantee that it will work. If you know for a fact that all the prerequisites are in place then you can run the MSI directly, otherwise you should run Setup.exe and let it invoke the MSI if appropriate.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now