Windows インストーラーの基本事項
Windows インストーラーは、ユーザーのコンピューターでアプリケーションまたはソフトウェア製品をインストールおよびアンインストールし、これらのタスクを Windows インストーラー コンポーネントと呼ばれる単位で実行します (WIC または単にコンポーネントとも呼ばれます)。 GUID により各 WIC が識別されます。これは、インストールの基本単位であり、Windows インストーラーを使用するセットアップの参照カウントです。
Windows インストーラーの包括的なドキュメントについては、プラットフォーム SDK の Windows インストーラーに関するトピックを参照してください。
VSPackage の作成
Windows インストーラーではインストール パッケージが使用されます。これには、Windows インストーラーが製品をインストール、アンインストール、または修復し、セットアップ ユーザー インターフェイス (UI) を実行するために必要な情報が含まれています。 各インストール パッケージには .msi ファイルが含まれています。このファイルには、インストール データベース、概要情報ストリーム、およびインストールのさまざまな部分のデータ ストリームが含まれています。 インストーラーを使用するには、インストールを作成する必要があります。 インストーラーはコンポーネントの概念に基づいてインストールを整理し、インストールに関する情報をリレーショナル データベースに格納するため、インストール パッケージを作成するプロセスの手順は大きく分けて次のようになります。
バージョン管理およびサイド バイ サイド戦略をサポートするようにセットアップの作成を計画します。
ユーザーに提示する機能を特定します。
VSPackage と依存関係をコンポーネントに整理します。
インストール データベースに情報を入力します。
インストール パッケージを検証します。
このドキュメントでは、主にプロセスの最初の手順と 3 番目の手順について説明します。 これらの手順では、VSPackage 機能を WIC に整理します。これにより、以降のバージョンの Visual Studio を考慮するようにバージョン管理およびサービス戦略を構成することができます。 残りの 3 つの手順の詳細については、Platform SDK の Windows インストーラーに関するドキュメントを参照してください。
重要な用語
次に、Windows インストーラー テクノロジに関連する主な用語の定義を示します。
リソース ファイル。コンピューターにインストールされる可能性があるレジストリ キー、ショートカットなど。 これらのリソースは、Windows インストーラー コンポーネントへ論理的にグループ化されます。
Windows インストーラー コンポーネント (WIC)。単位としてインストールおよびアンインストールされる関連リソースの論理グループを表す、インストールの基本単位。 Windows インストーラー コンポーネントは、一意のコンポーネント ID (GUID) によって識別されます。 さらに、Windows インストーラーは、その参照カウントを WIC レベルで保持します。 バージョン管理の柔軟性を最大限に高めるには、特定の WIC に複数のプライマリ リソース (DLL など) を含めないでください。 WIC を識別して設定し、それに GUID を付けて展開した後は、その構成を変更できません。 詳細については、「コンポーネントへのアプリケーションの整理」を参照してください。
パッケージ (Redist パッケージ)。配置の単位であり、このファイルが指している可能性のある .msi ファイルと外部ソース ファイルで構成されます。 パッケージには、UI を実行し、アプリケーションをインストールまたはアンインストールするために Windows インストーラーが必要とするすべての情報が含まれています。
.msi ファイル。アプリケーションをインストールするために必要な命令とデータを含む COM 構造化ストレージ ファイル。 すべてのパッケージには、少なくとも 1 つの .msi ファイルが含まれます。 .msi ファイルには、インストーラー データベース、概要情報ストリーム、および場合によっては 1 つ以上の変換と内部ソース ファイルが含まれます。 インストールされるファイルは、キャビネットに圧縮し、.msi ファイルのストリームに保存するか、またはソース メディア上で .msi ファイルの外部で保存、圧縮、または圧縮解除することができます。 詳細については、「Windows インストーラー ファイル名拡張子」を参照してください。
Windows インストーラー ルールの適用
セットアップのコンポーネントによるリソースの配置は、2 つのルール セットによって決定されます。 1 つのルール セットは Windows インストーラー自体によって管理されますが、2 番目のセットはインストール作成者が適用する必要があります。
Note
Windows インストーラー ルールの適用は、.msi ファイルの検証を実行する場合にのみ行われます。 それでも、これらのルールをベスト プラクティスとして扱うようにしてください。 詳細については、「インストールデータベースの検証」および「パッケージの検証」を参照してください。
インストーラーで適用されるルール
特定のコンポーネント内のすべてのファイルを同じディレクトリにインストールする必要があります。 反対に、別のフォルダーにインストールされるファイルは、個別のコンポーネントに属している必要があります。
コンポーネントごとに 1 つのキー パスしか指定できません。 キー パスは、コンポーネント全体を表す単なるファイルまたはレジストリ キーです。
コンポーネント提供者の責任
後続のバージョンで個別に出荷される可能性のある 2 つのリソースは、別々のコンポーネントに存在する必要があります。 リソースの同じコンポーネントへのグループ化は、これらのリソースが個別に出荷されることが決してないと確信できる場合にのみ行います。 実際には、すべてのプライマリ リソース (Dll など) が常に個別の WIC に存在するようにすることをお勧めします。 詳細については、「インストーラー コンポーネントの定義」を参照してください。
バージョン管理対象のリソースを複数の WIC で出荷することはできません。