I have several class libraries containing some commands and auto-updaters for ArcGIS. Until now, each library contained an installer class, and we had a single Setup project that was in charge of installing all the dlls. Just like in here.
I have now created another library containing a Toolbar, that should contain all the commands we have. The project refrences the other projects, and the AddItem
(From the BaseToolbar
base class) is using the AddItem(Type type)
overload, to have it all strongly typed and not just based on strings (for CLSID or names).
Naturally, the Toolbar project contains the insallter. I just wanted to know if it is a good idea to change the suggested installer implementation (from the above link), so that it will make sure all the commands' dlls will be registered (Iterating over dll files in the output folder, and registering them? Is there some better way?)
This will move the installation concern out of every command project, into a centralized place. I think it will be easier this way to add more commands, as I will only have to add a reference to them from the Toolbar project. Does that make sense, or should I stick to putting an installer in every project seperatly, and adding them to the Setup project one by one?
And another thing - is there an easy way to find where several commands are coming from, inside the ArcMAP? I have some strange categories there (Created by past users on this machine), with old commands that I'd like to remove.