У меня есть несколько библиотек классов, содержащих некоторые команды и автообновления для ArcGIS. До сих пор каждая библиотека содержала класс установщика, и у нас был один проект установки, который отвечал за установку всех библиотек DLL. Также как здесь .
Теперь я создал еще одну библиотеку, содержащую панель инструментов, которая должна содержать все имеющиеся у нас команды. Проект ссылается на другие проекты, и AddItem
(из базового класса BaseToolbar
) использует перегрузку AddItem(Type type)
, чтобы все это было строго типизировано, а не только на основе строк (для CLSID или имен).
Естественно, проект панели инструментов содержит инсальтер. Я просто хотел знать, будет ли хорошей идеей изменить предложенную реализацию установщика (по приведенной выше ссылке), чтобы он гарантировал, что все dll команд будут зарегистрированы (перебирая файлы dll в выходной папке и регистрируя их? Есть какой-нибудь лучший способ?)
Это перенесет проблему установки из каждого командного проекта в централизованное место. Я думаю, что таким способом будет проще добавить больше команд, поскольку мне нужно будет только добавить ссылку на них из проекта панели инструментов. Имеет ли это смысл, или я должен придерживаться установки программы установки в каждом проекте отдельно и добавления их в проект установки один за другим?
И еще один момент - есть ли простой способ найти источник нескольких команд внутри ArcMAP? У меня есть несколько странных категорий (созданных прошлыми пользователями на этом компьютере) со старыми командами, которые я хотел бы удалить.