Got it.
My IIS6 server is running on Window 2003 64-bit. Hence, the w3wp processes and ASP dll are also 64-bit. I was attempting to CreateObject() from a 32-bit DLL. No can do.
Even though I read that iis7 will allow you to define 32- vs 64-bit by Application Pool, on iis6 it's apparently all or nothing. I'm lucky here: we're only running a single app on this web server.
Here's what we did:
-
Set W3SVC/AppPools/Enable32bitAppOnWin64 = true in the metabase
-
Use C:\Windows\Microsoft.Net\Framework\v2.0.50727\aspnet_regiis.exe to register the 32-bit versions of ASP.NET instead of the 64-bit versions that were installed
Even though our app is Classic ASP, this .NET version change (to 32-bit) got things working. I don't know how useful this solution will be to others, but it got us over the hump. It's encouraging to know that IIS7 will support mixing of 32-bit and 64-bit Application pools. By the time we upgrade to IIS7, we'll probably have a 64-bit app too.
Robert