I've been tasked with getting a C# api integration working on a new Sage 100 installation. It is working on the old Sage server (2013). If I install it on the new sage server, it will not let me add a sales order through BOI.
If I leave the mashome set to the old server's path, it works, but it sends orders to the old server. Makes sense. If I update the mashome path to the new server's, it throws an exception.
The problem seems to be associated with the DispatchObject class's constructor:
public DispatchObject(string sProgId)
{
m_object = Activator.CreateInstance(Type.GetTypeFromProgID(sProgId, true));
}
I've debugged it and GetTypeFromProgID throws an exception with sProgId = "ProvideX.Script":
"ClassName": "System.Runtime.InteropServices.COMException"
"Message": "Invalid class string (Exception from HRESULT: 0x800401F3 (CO_E_CLASSSTRING))"
Seems like there's something the new server is missing but is present on the old server, but I am not clear what it is. I took a look at both MASHOME paths and they have similar contents.
Any advice?