Problems with 32-bit ActiveX DLL on 64-bit OS

64-bitasp-classicdllvb6windows-server-2008

I'm trying to move a classing ASP site to a 64-bit Windows 2008 server. The problem I have right now (there may be others if/when I get past this one) is that the site depends on an old VB6 DLL (32-bit), and I get the notorious "ActiveX component can't create object" error.

I tried taking IIS7 out of the equation by trying to get it to work with a simple VBS script file, and that's giving me the same thing.

The only dependency this DLL has is ADO 2.6, and from what I've read, this isn't supported and isn't needed for Windows 2008, as WDAC is included and has replaced MDAC.

I use the following to register my component:

C:\Windows\SysWOW64\regsvr32.exe "C:\MyVb6Com.dll"

I checked the registry, and everything appears correct there. My VBS file is also simple:

CreateObject("MyVb6Com.Session")

And it throws the error immediately:

ActiveX component can't create object: 'MyVb6Com.Session'

On the IIS end, I've already tried changing the application pool's settings to enable 32-bit applications, and that didn't help either (of course, if I can't get it to work w/ VBS file, this wouldn't make a difference either way).

Any help would be very much appreciated.

Best Answer

Make sure you use the 32-bit WScript to test your VB Script as well. Double-clicking it will use 64-bit - that will help go to diagnosing your issue.