Skip to content
Advertisement

Using Windows DLL from Linux

We need to interface to 3rd party app, but company behind the app doesn’t disclose message protocol and provides only Windows DLL to interface to.

Our application is Linux-based so I cannot directly communicate with DLL. I couldn’t find any existing solution so I’m considering writing socket-based bridge between Linux and Windows, however I’m sure it is not such a unique problem and somebody should have done it before.

Are you aware of any solution that allows to call Windows DDL functions from C app on Linux? It can use Wine or separate Windows PC – doesn’t matter.

Many thanks in advance.

Advertisement

Answer

Any solution is going to need a TCP/IP-based “remoting” layer between the DLL which is running in a “windows-like” environment, and your linux app.

You’ll need to write a simple PC app to expose the DLL functions, either using a homebrew protocol, or maybe XML-RPC, SOAP or JSON protocols. The RemObjects SDK might help you – but could be overkill.

I’d stick with a ‘real’ or virtualized PC. If you use Wine, the DLL developers are unlikely to offer any support.

MONO is also unlikely to be any help, because your DLL is probably NOT a .NET assembly.

User contributions licensed under: CC BY-SA
5 People found this is helpful
Advertisement