How to solve a "catastrophic failure" with a 32-bit COM component in SysWOW64 \ cscript or wscript

I am trying to run a VBScript script that uses a 7-year-old 32-bit COM component on Windows Server 2008 R2, with a 32-bit command line script node, SysWOW64 \ cscript.exe. When I call CreateObject on the class, it seems successful, but the first time I try to use a property or method (I tried several different ones) on the object, it gives me a "catastrophic failure". I have the same results with SysWOW64 \ wscript.exe, except that my error message appears in msgbox instead of the command prompt window.

I think this should be done specifically with 64-bit scripting hosts due to the following:

  • An equivalent classic ASP script that calls the same component and uses 95% of the same code works correctly on the same server, while IIS is configured to support 32-bit COM.
  • The same VBScript works correctly on a 32-bit machine running Windows XP and a 32-bit Windows Server 2003 machine.
  • The component does not work exactly the same on my 64-bit Windows 7 machine.

My Google search to solve this problem basically caused a lot of different problems that were solved by putting the COM component in the toolbar in Visual Studio. Obviously, this solution does not apply here.

My questions:

  • Is there a major problem that always lies behind the β€œcrash” of the Windows script host invoking the COM component?
  • , , , IIS " 32- "?
  • Server 2008 R2, , , - , ?

.

+3
1

. " " HRESULT. E_UNEXPECTED, COM. : " , ". , , , , .

, 64- Windows. 32- , 32- COM-. , - , - . - COM- . , , Windows.

+3

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


All Articles