Web setup MSI fails on Windows Server 2008

2019-03-12 05:02发布

问题:

I have built a web setup project in VS2008 which installs my ASP.NET/Silverlight app into IIS. This works fine everywhere except on Windows Server 2008.

I get this error message in the MSI installer log file:

MSI (c) (C8:D8) [15:02:21:067]: Invoking remote custom action. DLL: C:\Users\ADMINI~1\AppData\Local\Temp\1\MSIB7DD.tmp, Entrypoint: SetTARGETSITE
MSI (c) (C8!F0) [15:02:21:097]: Creating MSIHANDLE (14) of type 790531 for thread 2288
INFO   : [08/27/2009 15:02:21:097] [SetTARGETSITE                           ]: Custom Action is starting...
INFO   : [08/27/2009 15:02:21:107] [SetTARGETSITE                           ]: CoInitializeEx - COM initialization Apartment Threaded...
ERROR  : [08/27/2009 15:02:21:107] [SetTARGETSITE                           ]: FAILED:  -2147221164
ERROR  : [08/27/2009 15:02:21:127] [SetTARGETSITE                           ]: Custom Action failed with code: '340'
INFO   : [08/27/2009 15:02:21:137] [SetTARGETSITE                           ]: Custom Action completed with return code: '340'
MSI (c) (C8!F0) [15:02:21:137]: Closing MSIHANDLE (14) of type 790531 for thread 2288
MSI (c) (C8:D8) [15:02:21:137]: Closing MSIHANDLE (13) of type 790542 for thread 3040
Action ended 15:02:21: WEBCA_SetTARGETSITE. Return value 3.
MSI (c) (C8:E0) [15:02:21:147]: Doing action: FatalErrorForm

I've tried googling the various error codes, but I'm not having much luck.

What is the problem?

回答1:

Like the comment, it looks like this could be something COM related. That would lead me to believe that the MSI is using something that is probably specific to IIS 6.

Make sure you have the IIS 6 compatibility options installed with IIS 7 in Windows 2008. That should install the COM components that your MSI is trying to access.

...just a guess of course. Good luck.



回答2:

Web Setup projects (vdproj) require IIS 6 Management Compatibility to be installed on IIS 7 in order for the installer to work correctly. You only need the Metabase and WMI Compatibility options checked.

Here's a good link on the topic which describes the problem and how you can update the installer to require these options to be check for installation to continue: http://devio.wordpress.com/2011/04/26/pitfalls-installing-web-setup-msi-on-iis-7/