Hello,
I have a Visual Studio 2013/C#/.net 4.5 application which reads through a Sparx repository using the Interop.EA.dll API and formats relevant data into an Excel report. The API is accessed via a standard project reference. The project builds to an .exe file with associated dll's for helpers, log4net, etc.
Everything works great when I run the app under visual studio. However, if I move the application binaries from my laptop to an alternate machine that I can use to schedule the report to run at night, the application fails trying to access the Sparx repository file. I suspect since the API is a COM object, something is wrong with the way I have deployed it. I have spent the day hunting blogs and trying different combinations of GACUTIL and REGASM without much luck.
Has anyone successfully deployed an application based on this com object and if so can you provide guidance on things I might try?
The exception I receive follows however it is fairly generic and googling the message and error code does not help unfortunately.
Thanks very much.
[size=10]2015-08-20 07:17:10,443 ERROR [1] ReportGenLog: [highlight]An Exception Was Encountered in Dependency.ReportGen:
System.Runtime.InteropServices.COMException (0x80080005): Retrieving the COM class factory for component with CLSID {67F4E0FA-46A7-4255-B084-69A9433D08C3} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
[/highlight]at System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(RuntimeType objectType)
at System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(RuntimeType serverType)
at System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(RuntimeType serverType, Object[] props, Boolean bNewObj)
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
[/size]