I have a Web Application written in C# that uses allows the user to create diagrams and export them to Enterprise Architect. The plugin is also written in C# and built with the option Register for COM Interop
. When I debug the application using Visual Studio 2015, it works without problem, but when I try to deploy it using IIS, it doesn't work.
I tried to register manually the MyAddin.dll
using
c:\windows\...\4.0.30319\regasm c:\inetpub\wwwroot\myApp\bin\MyAddin.dll /codebase
and then added it to the registry, using the key
HKLM\Software\Wow6432Node\Sparx Systems\EAAddins\MyAddin
but I still get an error. The Error is the following:
"Error while executing transaction. Actions have been rolled back."
Exception"System.Runtime.InteropServices.COMException (0x80080005): Die COM-Klassenfactory für die Komponente mit CLSID
{67F4E0FA-46A7-4255-B084-69A9433D08C3}
konnte aufgrund des folgenden Fehlers nicht abgerufen werden: 80080005 Server execution failed (Ausnahme von HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
bei System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
bei System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
bei System.Activator.CreateInstance(Type type, Boolean nonPublic)
bei System.Activator.CreateInstance(Type type)
bei NAF.Util.EaUtil.load_ea_repository(String eapFilePath)
bei EABridge.CapabilityImporter.Import(Int32 projectId, String eaTemplatePath)
bei EAsyNAF.WebApp.Controllers.HomeController.<>c_DisplayClass15_0.<CreateProject>b_0(ITransaction transaction)
bei EAsyNAF.WebApp.Utils.TransactionUtils.ExecuteTransaction(Action`1 action, IDataServiceManager dataService, ILogger logger, Action customRollback)"
I'm using Windows 7 Enterprise and IIS 6.1 SP1
Does someone have an idea what that could be?
EA needs a logged in user to use the API. When you run it in IIS you access EA as service. That simply does not work.
I vaguely remember some project (was it on SourceForge?) which a couple of years has been started to deal with that. But that is stalled.
The guys at LieberLieber have something in that direction: https://www.lieberlieber.com/en/web-collaborator-for-enterprise-architect/
See also http://www.sparxsystems.com/forums/smf/index.php/topic,30960.msg224599.html#msg224599
We managed to get it running, by using a tool called FireDaemon. We have read that there is an issue with the so called "Session 0". This app allows us to run as service in this session. I tried other tools, like http://nssm.cc/, but it didn't work in our case. We created a WCF service for the EA Add-in and this service is now started via FireDaemon. We are still trying to find another solution, but at least we got our application running.
User contributions licensed under CC BY-SA 3.0