Dan,
Yes, you have to create the EAAddins key in the registry as well. The first addin you install will usually create the key.
Chapter 2 in my tutorial
Tutorial: Create your first C# Enterprise Architect addin in 10 minutes deals with that.
Since version 8 or 9 (I forgot which one exactly) you can choose between adding a key in or [HKEY_CURRENT_USER\Software\Sparx Systems\EAAddins] in [HKEY_LOCAL_MACHINE\Software\Sparx Systems\EAAddins]
(on 64 bit systems that sometimes becomes [...\SOFTWARE\
Wow6432Node\Sparx Systems\EAAddins])
What do you mean by "if a file has changed"? It looks like you are more interested in knowing when an EA.Element has changed.
If you are trying to build an online (immediate) synchronisation, there are a few operations that you can implement to react on events from EA. Example: EA_OnNotifyContextItemModified
If you are persuing a more batch-like behavior, I would simply run through all elements and compare what's in EA with what's in the Integrity system.
With regards to selecting an element based on a GUID, you can use Repository.GetElementByGuid to get the element from the database.
Just last week I've implemented a new feature in my EA Navigator add-in that allows you to navigate from a GUID to the element in the project browser (also works for attributes, operations, diagrams,...)
It is still in beta, but you can download the installer here:
EANavigator_Setup_v2.4.1.0_beta.msiIn the code you can find the implementation in
Model.cs in the operation getItemFromGUID (line 569)
Geert