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
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