アプリケーションをコンポーネントに整理する

Windowsインストーラーは、コンポーネントと呼ばれる部分にアプリケーションまたは製品をインストールして削除します。 コンポーネントは、ユーザーのシステムからユニットとして常にインストールまたは削除されるリソースのコレクションです。 リソースには、ファイル、レジストリ キー、ショートカット、またはインストールできるその他の何かを指定できます。 すべてのコンポーネントには、一意のコンポーネント コード GUID が割り当てられます。

インストール パッケージの作成者は、他のコンポーネントを傷つけずにインストールおよび削除できるコンポーネントとバージョンのコンポーネントのみを作成する必要があります。 また、コンポーネントを削除しても、未使用のファイル、レジストリ キー、ショートカットなど、ユーザーのコンピューター上の孤立したリソースを残さないでください。 これを確実に行うために、作成者はリソースをコンポーネントに整理するときに、次の一般的な規則に従う必要があります。

  • 同じ名前とターゲットの場所にリソースをインストールする 2 つのコンポーネントを作成しないでください。 リソースを複数のコンポーネントに複製する必要がある場合は、各コンポーネントの名前またはターゲットの場所を変更します。 このルールは、アプリケーション、製品、製品バージョン、および会社全体に適用する必要があります。
  • 前の規則は、2 つのコンポーネントが同じキー パス ファイルを持つ必要がないことを意味します。 キー パスの値は、インストーラーがコンポーネントの検出に使用するコンポーネントに属する特定のファイルまたはフォルダーを指します。 2 つのコンポーネントに同じキー パス ファイルがある場合、インストーラーはインストールされているコンポーネントを区別できません。 ただし、2 つのコンポーネントはキー パス フォルダーを共有できます。
  • 以前のすべてのバージョンのコンポーネントと互換性のないバージョンのコンポーネントを作成しないでください。 コンポーネントは、他のアプリケーション、製品、製品バージョン、および企業によって共有される場合があります。 代わりに、新しいコンポーネントを作成します。
  • ユーザーのシステム上の複数のディレクトリにインストールする必要があるリソースを含むコンポーネントを作成しないでください。 インストーラーは、コンポーネント内のすべてのリソースを同じディレクトリにインストールします。 一部のリソースをサブディレクトリにインストールすることはできません。
  • コンポーネントごとに複数の COM サーバーを含めないでください。 コンポーネントに COM サーバーが含まれている場合、これはコンポーネントのキー パスである必要があります。
  • [スタート] メニューまたはデスクトップ ショートカットのターゲットとして、コンポーネントごとに複数のファイルを指定しないでください。

アプリケーションをコンポーネントに整理する場合、パッケージ作成者は、既存のインストールでリソースの追加、削除、または変更が必要になる場合があります。 この場合、作成者は、新しいコンポーネントを導入するか、既存のコンポーネントを変更して新しいバージョンのコンポーネントに変更することで、リソースを提供するかを決定する必要があります。 新しいコンポーネントの導入時に一意のコンポーネント コードを割り当てる必要があるため、作成者は、変更にコンポーネント コードの変更が必要かどうかを判断する必要があります。 詳細については、「 コンポーネントコードの変更」、コンポーネント ルールが壊れた場合の動作、および インストーラーコンポーネントの定義を参照してください。