AcuRuntime 64-bit: MAV working with a .Net assembly



ACUCOBOL-GT runtime 64-bit triggers a Memory Access Violation working with a .Net assembly.


Since the runtime in use is 64-bit, the .Net assembly has to be built for "Any CPU" or "x64".
(the latter solution is preferred)

Then, verify that the 64-bit version of Marshal.exe is registered on the client machine where the .Net assembly is executed.

Start a DOS prompt "as Administrator".

Make sure the 32-bit and 64-bit Marshal.exe are unregistered first:

"C:\Program Files (x86)\Micro Focus\extend 10.1.0\AcuGT\bin\marshal.exe" /UnregServer

"C:\Program Files\Micro Focus\extend 10.1.0\AcuGT\bin\marshal.exe" /UnregServer

Register the 64-bit Marshal:

"C:\Program Files\Micro Focus\extend 10.1.0\AcuGT\bin\marshal.exe" /RegServer

- Run the 64-bit runtime again:

"C:\Program Files\Micro Focus\extend 10.1.0\AcuGT\bin\wrun32.exe" program

Please note that it's not possible to have both 32-bit and 64-bit of the same version registered at the same time.
Micro Focus is going to solve this inconvenience in the next versions of ACU runtime, but until 10.1.0 either 32 or 64-bit Marshal can be registered at a time.

Support Incident: 2878373

Comment List