[Integration] Extension with a 32bits dll

Hello all,

I have to create an extension that uses methods from a c++ dll. 

I'm getting this erro: "An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)"

The problem may be that the c++ dll is a 32bits dll.

So I ask you all, have anyone built an extesion that uses a 32bits dll? There's a way to get this thing done?


Thank you in advance.


A couple of questions:

  • Is this a .NET DLL written in C++? Or a COM or Win32 DLL?
  • Is the goal to call the methods from within an OutSystems app as though they were actions?

The bit-ness (32 or 64) of the DLL should not be the issue.

If this is a COM or Win32 DLL, you may need to wrap the component as a .NET DLL before you can use it in an extension. Be aware that in order to use a COM library in .NET, it must be registered on the target system, so you would need to be running a self-managed OutSystems environment to accomplish this.

It's definitely possible to access functionality from C/C++ components, as I've written test code that does just that. It does, however, require some additional steps beyond creating an extension in C#.

If you're not familiar with creating extensions, you may want to have a look at this course:
https://www.outsystems.com/learn/courses/117/using-c-code/

Hi,


All supported windows versions are 64bits and the usual IIS configuration only supports 64bit c++ assemblies.

I do not recommend changing that since there are builtin components on the platform that are 64bits only (for example most of the database connectors and SAP).


So you either need to get a 64 bits version of the assembly or need to make a service outside a platform application to use the dll and consume it via a REST API (for example).


Regards,
João Rosado