Sparx Enterprise Architect supports AddIns so we can enhance its functionality and behaviour
in our daily work life as an architect. This is normally done by adding a subkey to the HKEY_LOCAL_MACHINE\Software\Sparx Systems\EAAddins
key. This is described in Geert Bellekens’ Tutorial: Create your first C# Enterprise Architect addin in 10 minutes. As we can read in the tutorial, in addition to adding the aforementioned registry key, we have to register the addin as a COM component (which is normally done inside the HKEY_CLASSES_ROOT
hive). However, being an architect I stopped enjoying administrative privileges on my office PC some years ago, which means I cannot create or modify entries neither in HKEY_CLASSES_ROOT
or HKEY_LOCAL_MACHINE
.
Luckily, there is a work around for this which makes Windows look in the HKEY_CURRENT_USER
hive first when looking for EAAddIns
key. The same holds true for the actual COM entries, where the HKEY_CLASSES_ROOT
equivalent in the user part of the registry is HKEY_CURRENT_USER\Software\Classes
.
So all we have to do is add the following entries to the registry and our addin will be loaded into the EA.exe address space (save it as a .reg
file):
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Classes\WOW6432Node\CLSID\{39aff9b8-dfb2-4e24-9952-5061cb5fc326}] @="biz.dfch.ea.addins.MyFirstAddin" [HKEY_CURRENT_USER\Software\Classes\WOW6432Node\CLSID\{39aff9b8-dfb2-4e24-9952-5061cb5fc326}\Implemented Categories] [HKEY_CURRENT_USER\Software\Classes\WOW6432Node\CLSID\{39aff9b8-dfb2-4e24-9952-5061cb5fc326}\Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}] [HKEY_CURRENT_USER\Software\Classes\WOW6432Node\CLSID\{39aff9b8-dfb2-4e24-9952-5061cb5fc326}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="biz.dfch.ea.addins.MyFirstAddin" "Assembly"="biz.dfch.ea.addins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" "RuntimeVersion"="v4.0.30319" "CodeBase"="file:///C:/Users/Public/biz.dfch.ea.addins.DLL" [HKEY_CURRENT_USER\Software\Classes\WOW6432Node\CLSID\{39aff9b8-dfb2-4e24-9952-5061cb5fc326}\InprocServer32\1.0.0.0] "Class"="biz.dfch.ea.addins.MyFirstAddin" "Assembly"="biz.dfch.ea.addins, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" "RuntimeVersion"="v4.0.30319" "CodeBase"="file:///C:/Users/Public/biz.dfch.ea.addins.MyFirstAddin.DLL" [HKEY_CURRENT_USER\Software\Classes\WOW6432Node\CLSID\{39aff9b8-dfb2-4e24-9952-5061cb5fc326}\ProgId] @="biz.dfch.ea.addins.MyFirstAddin" [HKEY_CURRENT_USER\Software\Classes\biz.dfch.ea.addins.MyFirstAddin] @="biz.dfch.ea.addins.MyFirstAddin" [HKEY_CURRENT_USER\Software\Classes\biz.dfch.ea.addins.MyFirstAddin\CLSID] @="{39aff9b8-dfb2-4e24-9952-5061cb5fc326}" [HKEY_CURRENT_USER\Software\Sparx Systems\EAAddins\biz.dfch.ea.addins.MyFirstAddin] @="biz.dfch.ea.addins.MyFirstAddin"
Note1: Enterprise Architect being a 32bit/x86 executable requires us to have the COM entries defined under the Software\Classes\WOW6432Node\CLSID
path (instead directly under Software\Classes\CLSID
) if you are running a 64bit/x64 version of Windows 10 (which is very likely when you are using EA anyway).
Note2: the actual COM DLL is referenced under CodeBase
with a file://
syntax and forward slashes.
To remove the addin you simply have to delete the following keys (save it as a .reg
file):
Windows Registry Editor Version 5.00 [-HKEY_CURRENT_USER\Software\Classes\WOW6432Node\CLSID\{39aff9b8-dfb2-4e24-9952-5061cb5fc326}] [-HKEY_CURRENT_USER\Software\Classes\biz.dfch.ea.addins.MyFirstAddin] [-HKEY_CURRENT_USER\Software\Sparx Systems\EAAddins\biz.dfch.ea.addins.MyFirstAddin]