tjanczuk / edge

Run .NET and Node.js code in-process on Windows, MacOS, and Linux
http://tjanczuk.github.io/edge
Other
5.41k stars 642 forks source link

Unable to cast COM object to interface type #689

Open skandl opened 4 years ago

skandl commented 4 years ago

I am trying to use edge.js to make calls within a Node application to invoke methods in a third party COM DLL. I know depending on the way the library was created (example), there are limitations but I am new to working with them.

When I invoke a method in the DLL, I get the below exception. Any ideas if this could be a limitation of Edge, or the library itself, or something else entirely?

Error: Unable to cast COM object of type 'System.__ComObject' to interface type 'Foo.Internal'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{FA3FF6A2-BC84-4709-9301-BC8216845F4E}' failed due to the following error: Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
    at <anonymous>:1:55
    at Object.<anonymous> (C:\Users\stephen.kandl\dev\edge-js-test\edge-test-2\edge-test.js:75:1)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3

(Note I replaced the library interface type above)

skandl commented 4 years ago

Could be related to https://github.com/tjanczuk/edge/issues/655?