Hi. When you create a setup for a project, you get 3 files with the 1.1, a .msi, .exe and a .ini.
Now if you take the .msi and carry it to another computer, it will install the program. If you take the .exe and the .ini to another computer it will perform the same action. What then is the different between the .msi and the .exe? I noticed that the visual studio 2005 dont generate any .ini. it's just two files, the .exe and the .msi.
I'm sure this is a simple question for most people.
The Setup.exe file is the bootstrapper. As CJ says, 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.