Problems with a 32-bit ActiveX DLL in a 64-bit OS

I am trying to move the class of an ASP site to a 64-bit Windows 2008 server. The problem that I have right now (there may be others if / when I pass it) is that the site depends on the old VB6 DLL (32- bit), and I get the notorious "ActiveX component cannot create object" error.

I tried to deduce IIS7 from the equation, trying to get it to work with a simple VBS script file, and this gives me the same thing.

The only dependency this DLL has is ADO 2.6, and from what I read it is not supported and not required for Windows 2008, since WDAC is included and replaced with MDAC.

I use the following to register my component:

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

I checked the registry and everything looks right there. My VBS file is also simple:

CreateObject("MyVb6Com.Session")

And he immediately gives an error:

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

At the end of IIS, I already tried changing the settings of the application pool to include 32-bit applications, and that didn't help either (of course, if I can't get it to work with the VBS file, that would not make any difference anyway).

Any help would be greatly appreciated.

+3
source share
2 answers

Make sure you use 32-bit WScript to test VB Script. Double-clicking on it will use 64-bit - this will help move on to diagnosing your problem.

+2
source

, - IIS7, " " , 32- "".

IIS7 64- 32- DLL, .

+2

Source: https://habr.com/ru/post/1783539/


All Articles