Total Pageviews

Disclaimer

This is a personal web page. The views expressed on this blog are mine and do not necessarily reflect the views of my current employer.

I am currently employed by Morgan Stanley.

June 15, 2010

IIS 7 and WSUS on Windows Server x64

It is common to see people install IIS and WSUS on the same box. However, if the following conditions are met, you may come across a 500.19 that's strange and hard to diagnose on your own,
  1. This server is running Windows Server 2008 or Windows Server 2008 R2 x64 build.
  2. There are IIS application pools that allows 32 bit applications.
The error page can be similar to this one,

Module DynamicCompressionModule
Notification SendResponse
Handler StaticFile
Error Code 0x8007007e
Requested URL http://localhost:80/
Physical Path C:\inetpub\wwwroot
Logon Method Anonymous
Logon User Anonymous

The root cause is easy. WSUS installer inserts a dynamic compress module into IIS 7 named xpress. This asks IIS 7 to load %windir%\system32\inetsrv\suscomp.dll.

All works fine for 64 bit application pools till you allow 32 bit applications. In the folder %windir%\SYSWOW64\inetsrv\ there is not a 32 bit version of suscomp.dll, so IIS 7 cannot load this dynamic module and reports 500.19 with error code 0x8007007e.

  ERROR_MOD_NOT_FOUND                                           winerror.h
# The specified module could not be found.

Well, how to resolve it? Depending on your situation, there can be several ways,
  • Split your applications, so on this WSUS box, only run 64 bit applications.
  • Find a copy of suscomp.dll 32 bit, and then copy it to %windir%\SYSWOW64\inetsrv\.
WSUS should ship such a 32 bit copy with it, but since it does not, you have to own a 32 bit server, and copy the dll over.

0 comments:

Post a Comment