We are working on a winforms app in Visual Studio 2005 and the setup project we created output both an MSI and an EXE. We aren't sure what the EXE file is used for because we are able to install without the EXE.
3 Answers
It's a bootstrapper that checks to make sure that the .NET Framework is installed, before launching the MSI. It's pretty handy.
I suggest using something like SFX Compiler to package the two together into one self-extracting .exe and then launch the extracted setup.exe. This way you retain the benefits of the bootstrapper, but your users only download a single thing.
Edit: also see
- The official line: MSDN documentation
- Some bootstrapper customization: some guy's blog post about what he did

- 110,262
- 41
- 219
- 271
-
1link is broken, any replacement available (simple google didnt yield anythign, but then I didnt know what to look for :P) – Ruben Bartelink Jan 21 '09 at 08:48
-
1can you also point out that the setup.exe automates the download and install of the prereqs – Ruben Bartelink Jan 21 '09 at 09:01
-
I'm using Make SFX http://74.cz/en/makesfx/ instead since it supports command line (for automatic builds) – loraderon Oct 20 '10 at 06:29
The EXE checks if Windows Installer 3.0 is present and downloads and installs it if it's not. It's needed only for Windows 2000 or older. Windows XP and newer all have Windows Installer 3.0 out of the box.
Other prerequisites, like .NET, are checked for by the MSI itself.

- 4,742
- 10
- 44
- 52
-
1not true, the bootstrapper checks for all specified prerequisites, including .NET – Marek Apr 08 '10 at 07:49
I think the EXE is just a wrapper/bootstrapper for the MSI in case you don't have Window Installer. If you have the requisite Windows Installer version installed then the MSI should work fine on its own.

- 4,323
- 2
- 29
- 32