Solved

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

Posted on 2007-11-27
6
1,970 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
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
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

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, just open a new email message. In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

813 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

15 Experts available now in Live!

Get 1:1 Help Now