ArcGIS のいくつかのコマンドと自動アップデータを含むいくつかのクラス ライブラリがあります。これまで、各ライブラリにはインストーラー クラスが含まれており、すべての dll のインストールを担当する 1 つのセットアップ プロジェクトがありました。ここのように。
ツールバーを含む別のライブラリを作成しました。これには、すべてのコマンドが含まれている必要があります。プロジェクトは他のプロジェクトを参照し、AddItem
(BaseToolbar
基本クラスから) はAddItem(Type type)
オーバーロードを使用して、文字列 (CLSID または名前) に基づくだけでなく、すべてを厳密に型指定します。
当然、Toolbar プロジェクトにはインストーラーが含まれています。すべてのコマンドのdllが確実に登録されるように、提案されたインストーラーの実装を(上記のリンクから)変更するのが良い考えかどうかを知りたかっただけです(出力フォルダーのdllファイルを繰り返し、登録しますより良い方法はありますか?)
これにより、インストールに関する問題がすべてのコマンド プロジェクトから一元化された場所に移動します。Toolbar プロジェクトからコマンドへの参照を追加するだけでよいため、この方法でコマンドを追加する方が簡単だと思います。それは理にかなっていますか、それとも、すべてのプロジェクトに個別にインストーラーを配置し、それらをセットアップ プロジェクトに 1 つずつ追加することに固執する必要がありますか?
もう 1 つ - ArcMAP 内でいくつかのコマンドがどこから来ているかを簡単に見つける方法はありますか? そこにはいくつかの奇妙なカテゴリ (このマシンの過去のユーザーによって作成されたもの) があり、削除したい古いコマンドがあります。