Windows インストーラーのタスクの単位は、Windows インストーラー コンポーネント (WIC または単なるコンポーネントと呼ばれることもあります) と呼ばれます。 GUID は、各 WIC を識別します。これは、Windows インストーラーを使用するセットアップのインストールと参照カウントの基本単位です。
VSPackage インストーラーの作成には複数の製品を使用できますが、この説明では Windows インストーラー (.msi) ファイルを使用することを前提としています。 インストーラーを作成するときは、ファイルの展開を正しく管理して、正しい参照カウントが常に行われるようにする必要があります。 したがって、製品のバージョンが異なれば、インストールとアンインストールのシナリオが混在しても、互いに干渉したり、壊れたりしません。
Windows インストーラーでは、参照カウントはコンポーネント レベルで行われます。 リソース (ファイル、レジストリ エントリなど) をコンポーネントに慎重に整理する必要があります。 さまざまなシナリオで役立つ他のレベルの組織 (モジュール、機能、製品など) があります。 詳細については、「 Windows インストーラーの基本」を参照してください。
サイド バイ サイド インストールの作成セットアップのガイドライン
バージョンごとに共有されるファイルとレジストリ キーは、それぞれのコンポーネントに分割します。
これにより、次のバージョンでそれらを簡単に使用できます。 たとえば、グローバルに登録されているタイプ ライブラリ、ファイル拡張子、 HKEY_CLASSES_ROOTに登録されているその他の項目などです。
共有コンポーネントを個別のマージ モジュールにグループ化します。
この戦略は、今後のサイド バイ サイド インストール用に正しく作成するのに役立ちます。
バージョン間で同じ Windows インストーラー コンポーネントを使用して、共有ファイルとレジストリ キーをインストールします。
別のコンポーネントを使用する場合、バージョン管理された VSPackage がアンインストールされても、別の VSPackage がインストールされている場合、ファイルとレジストリ エントリはアンインストールされます。
バージョン管理された項目と共有アイテムを同じコンポーネントに混在させないでください。
これにより、共有アイテムをグローバルな場所にインストールしたり、バージョン管理された項目を分離された場所にインストールしたりできなくなります。
バージョン管理されたファイルを指す共有レジストリ キーがありません。
こうした場合には、別のバージョン付きのVSPackageがインストールされると、共有キーが上書きされます。 2 番目のバージョンを削除すると、キーが指しているファイルは削除されます。