Sorry ... I can't tell you much about the code other than it's fast . I used to have it load at start up if over X regapps were found and then nuke them into oblivion .
No worries; I'll see what I can do, as time permits... I should ask Gile; hopefully he doesn't mind? *not sure* I really like the concept of his offering.
Is there a way to have a DLL that supports multiple version of AutoCAD ?
Assemblies (.DLL) do support multiple versions... Assemblies are Database, and .NET framework dependent though.
As an example, when compiled to 'Any CPU', and .NET 3.5 Framework, I can have one assembly load, and function successfully in AutoCAD 2010-2012 either 32-Bit, or 64-Bit using the same assembly.
ObjectARX does not have this capability as it is both environment (32-Bit / 64-Bit), and Database specific, meaning for the example of AutoCAD 2010-2012, both 32-bit and 64-Bit, one would end up compiling two (2) separate ARX assemblies (.arx), one for each processing environment.
AutoCAD 2013 introduced the 'Big Split' which added a new dependency of AcCoreMgd.dll (Core Console) among other things, such as Extension Methods, etc..
For the low hanging fruit plug-ins that I have developed to date, my code has been able to copy and paste right into an AutoCAD 2014 .NET Wizard template, and compile. No changes to code (thankfully).