I was trying to install a web app that another team member built. this failed with the message:
“The installer was interrupted before <MyApp> could be installed. You need to restart the installer to try again.”
Trying again is (obviously) meaningless, it will just fail over and over. And the error message is very general, something failed.
In the eventlog we can find this error:
Installation success or error status: 1603
If we run the installer again but with verbose logging:
msiexec /i MyInstaller.msi /v setup.log
The we can find the same error but with some more stuff
INFO : [11/11/2010 17:19:32:674] [SetTARGETSITE]: Custom Action is starting...
INFO : [11/11/2010 17:19:32:674] [SetTARGETSITE]: CoInitializeEx - COM initialization Apartment Threaded...
ERROR : [11/11/2010 17:19:32:677] [SetTARGETSITE]: FAILED: -2147221164
ERROR : [11/11/2010 17:19:32:677] [SetTARGETSITE]: Custom Action failed with code: '340'
INFO : [11/11/2010 17:19:32:678] [SetTARGETSITE]: Custom Action completed with return code: '340'
CustomAction WEBCA_SetTARGETSITE returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 17:19:32: WEBCA_SetTARGETSITE. Return value 3.
MSI (c) (EC:6C) [17:19:32:680]: Doing action: FatalErrorForm
So what is this?
It turns out that the installer cannot speak the the IIS7 properly. It needs some IIS6 compatibility in order to do that.
Go to: Control Panel > Programs > Turn Windows features on or off
and then activate “IIS Metabase and IIS 6 configuration compatibility”
And now the installer worked.
Windows 7, IIS 7, standard VS 2010 web setup project configured for .net 4, .net 4 installed and registered in the IIS.
If you are on a Server 2008 you will find the setting here:
Server Manager > Roles