Registering a Sparx Enterprise Architect AddIn on Windows 10 x64 without administrative permissions

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]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: