Background: Custom Applications with Sage ERP 300 2012 with activeX controls i.e: AccpacOE1100.ocx, result in APPCRASH
The Sage 300 ERP 2012 modules that render crystal reports, work without any problems.
The custom application (MS ACCESS) uses either VBA script or activeX API controls to perform standard or customized routines. The view or API will execute 100% and then crash when the crystal report is rendered.
Problem signature:
Problem Event Name: APPCRASH
Application Name: XXXX.exe (MSACCESS.EXE)
Application Version: x.x.x.x
Application Timestamp: ????????
Fault Module Name: MSVCR80.dll
Fault Module Version: x.x.xxxxx.xxxx
This is NOT an error in your VBA code or a missing or corrupt DLL as suggested by most posts on Forums, but rather an "miss-communication" between the custom application and different Crystal Report Engine versions that is called from your host.
Sage ERP 300 2012 uses crpe32.dll crystal report engine version 13.0.8.xxxx, which resides in your installation directory/folder, to render the reports, while the application (MSACCESS.exe or compiled .exe) calls the default crpe32.dll in the system32 or SysWow64 folder, that is most probably an 8.5 version.
Solution:
Place the a4wcrInterop.dll in the same directory where the executable is residing.
For example: C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.exe
or
C:\Data\Programs\MyCustApps\PrintReport.exe (compiled applications)
The above mention runtime file a4wcrInterop.dll can be located under the ...\Sage Accpac\Runtime folder.
Hope I can save someone a lot of frustrations and wasted time...