同じホストとインストールパス上にインストールされた同じバージョンツリー内に既存コンポーネントが検出される場合、コンポーネントインストールは、再インストールと見なされます。 コンポーネントの再インストールが行えるのは、その新しいコンポーネントが本来のコンポーネントのすべての依存元に適合する場合だけです。 コンポーネントは常に同じバージョンコンポーネントで再インストールできますが、異なるバージョンで再インストールができるのは永続的なコンポーネントを作成した <createDependency> 手順内で指定された制約に新しいバージョンも適合する場合だけです。
コンポーネントの単純インストールブロックが検出される場合は、インストールによって既存のインストールが上書きされるか確認する必要があります。 上書きされる場合は、既存のコンポーネントを依存先としている永続的な依存性をすべて検出し、インストールされる新しいコンポーネントについても依存性の制約が適合するかを検証し直します。 適合しないものがある場合、新しいコンポーネントのインストールは失敗し、本来のコンポーネントがインストールされたままとなります。 すべて適合する場合、新しいコンポーネントがそのインストールを正常に完了した時点で、当該コンポーネントがすべての永続的な依存性の新しい依存先となります。 新しいコンポーネントのインストールが正常に完了した時点で本来のコンポーネントはアンインストールされると見なされ、そのコンポーネントの依存元であったすべての永続的な依存関係が削除されます。 つまり、新しいコンポーネントは必要に応じて依存性を作成し直す必要があります。