System.Runtime.InteropServices.COMException when running 32-bit COM application on 64-bit machine

System.Runtime.InteropServices.COMException when running 32-bit COM application on 64-bit machine

book

Article ID: KB0089610

calendar_today

Updated On:

Products Versions
TIBCO Rendezvous -
Not Applicable -

Description

Resolution:
Description:
= = = = = = =
When attempting to run a 32-bit COM client on a 64-bit machine, one of the following errors are observed:

System.Runtime.InteropServices.COMException (0x8004021A): Object cannot
complete the requested operation
   at TIBRVCOMLib.TibrvClass.getAutoDispatchQueueGroup()

System.Runtime.InteropServices.COMException (0x80040208): Unable to create
window for auto dispatch
   at TIBRVCOMLib.TibrvQueueGroupClass.add(TibrvQueue queue)

System.Runtime.InteropServices.COMException (0x80040154): Retrieving the
COM class factory for component with CLSID
{60A084A9-3A5C-11D3-86AD-00105A07602D} failed due to the following error:
80040154.

Environment:
= = = = = = =
Windows

Resolution:
= = = = = = =
The CPU setting in Visual Studio must be set explicitly to "x86" when building the application – default setting is "Any CPU".

In Visual Studio 2005 this setting can be configured in the Project Properties -> Compile -> Advanced Compile Options -> Target CPU, and in Visual Studio 2008 the setting can be configured in Project Properties -> Compile -> Platform.

Rebuilding the project with compilation setting of "x86" allows the 32-bit COM application to run on a 64-bit machine without any issues.

Issue/Introduction

System.Runtime.InteropServices.COMException when running 32-bit COM application on 64-bit machine