cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
slomicka
Level 5

EXE vs. MSI

We are new to MSI installer technology and I have an elementary question for the experts. What is the difference between a single EXE and MSI? I have created myproduct.exe and myproduct.msi and they run differently on server 2008. The MSI fails copying certain files in protected areas and the exe works just great. What are best practices? What do most people build and why? The network admins we deal with want MSI’s for unattended installations but you cannot right click “run as administrator” with an MSI – must have an EXE. Any direction would be appreciated. Am I going to end up building both?

Thanks in advance,
Steve
Labels (1)
0 Kudos
(5) Replies
wollka
Level 4

Assuming we are talking about Basic MSI setup (InstallScript MSI setup cannot be ran without Setup launcher), setup.exe is only used to check for system requiremets (e.g. Windows Installer version) and updates it if needed. THen it runs .msi So there must be no differences in install procedure.
slomicka wrote:
The MSI fails copying certain files in protected areas and the exe works just great.
What do you mean under "Protected areas"? Folders unaccessible for non-elevated users for writing?

slomicka wrote:
you cannot right click “run as administrator” with an MSI – must have an EXE.
Normally Windows Installer prompts for elevation automatically when it needs to write to Program Files etc. When you run .msi. You will see the UAC Shield Icon on the Install button of the Setup wizard if it runs without admin permissions.
0 Kudos
DebbieL
Level 17

Here's a help topic that explains various reasons why you may require a Setup.exe file:
Creating a Setup Launcher

If it is possible that users will launch an .msi file instead of a Setup.exe file, and your product or installation requires, for example, something like the .NET Framework (which would need to be installed by Setup.exe, or manually by the end user before installing your product), you might want to add launch conditions to your installation that check to make sure that the appropriate version of the .NET Framework is installed. That way, if someone launches the .msi file but the system requirements aren't met, the installation will exist out.

If you are delivering an .msi file and your installation requires elevated privileges, you'll want to make sure that the value of the Require Administrative Privileges setting in the General Information view is Yes. The help that is displayed in the lower-right pane when you select this setting has more info.

I hope that helps.
0 Kudos
slomicka
Level 5

DebbieL - thank you for the link!
wollka - We are moving to IS from Wise. One of the features in Wise was build and MSI or build a single EXE. The EXE contained the MSI. This was attractive because we only have to deploy one file. If we have a bootstrapper we have to have two files, yes? Can IS create one file as well? The EXE I speak of in my original post is the self contained EXE built by Wise. The files we are moving are under %Program Files% on Server 2008.
Thanks again…
0 Kudos
DebbieL
Level 17

You can have your .msi file streamed into the Setup.exe file if you want. Or you could have the Setup.exe file and the .msi file located in the same directory. Or you could deliver just an .msi file, without Setup.exe. The output at build time depends on the following things:

  • Media type (e.g., network image, CD-ROM, DVD--you can change this in the Release Wizard)
  • Compression setting (Releases view > select a release > Build tab)
  • Setup Launcher setting, which specifies whether you are creating a Setup.exe file (Releases view > select a release > Setup.exe tab)
  • Disk Spanning (Releases view > select a release > Build tab)

If you deliver a Setup.exe file with the .msi package streamed into Setup.exe, system admins would be able to use the /a command-line parameter to perform an administrative installation for Setup.exe. An administrative installation copies (and uncompresses) your data files to a directory specified by the user, but it does not create shortcuts, register COM servers, or create an uninstallation log. For more info, see Setup.exe and Update.exe Command-Line Parameters.
0 Kudos
slomicka
Level 5

Debbie - thanks again...
0 Kudos