Published on: July 19, 2016
in: Sage 300 ERP
The following message may occur on a Windows 2008 R2 or Windows 2012 server when printing reports to preview:
Sage 300 ERP UI Container has stopped working
When you click on the drop down arrow to View problem details, the following message is displayed:
Expression: NULL == record->pCrystalObjectHandle
For information on how your program can cause an assertion failure, see Visual C++ documentation on asserts
Note: Must be logged in to the server or workstation as administrator or account with admin rights.
- Run command prompt as administrator
- From command line enter this command, C:WindowsMicrosoft.NETFrameworkv4.0.30319regasm /register [sage300runtimefolder]a4wcrinterop.dll.
- where [sage300runtimefolder] is the location where Sage 300 ERP is installed. (i.e. – C:WindowsMicrosoft.NETFrameworkv4.0.30319regasm /register “C:SageSage 300 ERPruntimea4wcrinterop.dll”)
- modify as necessary (per path to runtime folder)
- If the registration fails, ensure that the Crystal Runtime Engine is installed properly by viewing the files in “C:Program FilesSAP BusinessObjectsCrystal Reports for .NET Framework 4.0CommonSAP BusinessObjects Enterprise XI 4.0win32_x86” (for 32bit computers) or “C:Program Files(x86)SAP BusinessObjectsCrystal Reports for .NET Framework 4.0CommonSAP BusinessObjects Enterprise XI 4.0win32_x86” (for 64 bit computers).
- For Windows 2012/2012 R2 and Windows 8/8.1, ensure that .NET Framework 3.5 Features in enabled.
Windows 2012/2012 R2
If the above steps do not resolve the problem, uninstall and reinstall system manager as a local administrator and apply the latest product update for the installed version of Sage 300. Ensure the Windows Updates are current if you are using a Windows XP workstation.
- Reinstall the Sage 300 program or workstation setup.
Substitute [sage300runtimefolder] with actual location of RUNTIME folder (local drive or UNC). If path to runtime is long, enclose the path with double quotes.
The error can also occur if you have multiple versions of crystal runtime files. This can occur if you have another application that is using a different crystal runtime engines. If you have another application that uses a different runtime engine, you will need to uninstall the application and install it on a separate machine. To identify if you have multiple versions of crystal runtime files:
- Go to Control Panel, Programs and Features.
- Look for installed software with names like “Seagate Crystal” or “Crystal Decisions“. Any existence of these old Crystal components would create conflicts with the Crystal .NET runtime used by Sage 300 ERP.