I'm developing a C++ (MFC) application in VS2008. For a long time, we used Installshield (v8 or something) to deploy our program. The only problem was that Installshield was on a virtual machine on our server and was just dead slow to use. It took 30 minutes and multiple steps to do a build. I changed that my integrating a Visual Studio Setup Project, which allowed me to build everything in about a minute.

The only problem is, Installshield gave us .EXE installers and VS gives us .MSI installers. The support guy (who is not a developer) says he gets calls every so often with people having issues installing. Everything from UAC prompts to just not being able to install (he said that customer got some sort of 'Could Not Install' dialog). He swears that the issue is with MSI vs EXE. I told him that MSI is the Windows standard and is becoming the only way to do it, as even Installshield uses them now.

So I'm just curious, is there any reason to switch back to Installshield and EXEs rather than stick with MSIs? If not, how many I make the MSI more 'compatible'? I know there are a million ways to edit an MSI, but are there any common edits that will cause it not to prompt for UAC or other permissions? I really think we should be sticking with MSI and not go backwards, but he's been on me about this for a while, and I'd really like to be informed before making a decision.