Over the last couple of years, some partners have had an issue where they were not able to add a VB OCX to a WinForms screen as they would receive a message from Visual Studio stating : "Failed to import the ActiveX control. Please ensure it is registered properly". See this link in the Reports, Macros, and Customizations forum: https://www.sagecity.com/us/sage300_erp/f/sage-300-reports-macros-and-customizations/157990/failed-to-import-the-activex-control?ReplySortBy=CreatedDate&ReplySortOrder=Ascending
We've recently resolved this issue or at least have an immediate solution as we address a long term solution. It seems that the ObjSafe.tlb file is being removed during the installation, likely by an anti-virus program. Since the VB UIs are built with the lObjectSafety implementation, when this file is missing, the axInterop utility complains.
Short Term Solution: Here is a link (https://www.dropbox.com/s/xjbcddiwkukoku8/ObjSafe.zip?dl=0) to a zip file containing the ObjSafe.tlb file. Unzip into your Sage Runtime folder and the issue is resolved and you can now add the OCX to the Visual Studio Toolbox and then drop it on your WinForms screen (C# or VB.Net).
Long Term Solution: We may decide to remove the lObjectSafety implementation in the VB UIs (single implement statement) since the VB OCXs are no longer supported being run in Internet Explorer.