2012-08-23

Errors with EnterpriseServices.dll running 32-bit on 64-bit IIS 6

In the unlikely scenario that we have, where you are trying (for test purposes anyway) to run a 32-bit ASP.NET 3.5 IIS application in 64-bit Windows 2003 R3 running IIS 6, then you may encounter lots of errors relating to System.EnterpriseServices.dll "Cannot load".

This appears to be because while almost everything from .NET 2 is registered in MSIL, or in 64-bit AND 32-bit variants, for some reason not all 32-bit dlls are registered in the GAC.

The fix is to copy the 32-bit variant of System.EnterpriseServices.dll from c:\windows\microsoft.net\Frameworks\v2.xxxxxx to c:\windows\assembly. Then as if by magic, everything should work. Assuming you remembered also to enable 32-bit applications on 64-bit IIS 6

I had a tough time finding anything helpful via search, so maybe this will help you!