|
UsingControlUnderx86
#Using the control in a x86 environment Typical error messages recieved after registering the COM component and attempting to run the DemoApp: Retrieving the COM class factory for component with CLSID {A1FE23EF-03EF-4759-B021-668443C37A24} failed due to the following error: 80040154 (Class not registered) The debugger does not support debugging managed and native code at the same time on this platform. ROOTCAUSE .NET 2.0 projects, by default, are set to target both the x86 (32-bit) and x64 (64-bit) platforms. So an application runs as a 64-bit application when launched on a x64 operating system, and as 32-bit application when launched on 32-bit operating system. 64-bit applications can't link/use 32-bit libraries (.dll). DemoApp runs as a 64-bit application, and because it tries to link to a 32-bit dependency, it fails. WORKAROUND Solution:
Temporary Client Solution: To get applications that were built by others, that use csExWB, that did not perform the above procedure. You can modify the PE header of the executable (using the "Corflags.exe" .NET Framework SDK utility) to force the executable to run in x86 mode on the x64 platform. Information on "Corflags.exe" can be found here: http://www.request-response.com/blog/PermaLink,guid,cf345d71-cdc7-46b9-8c1c-eb21581a9222.aspx The procedure is to:
|