グローバル アセンブリ キャッシュ内のアセンブリのロールバック
2 段階プロセスによって、共通言語ランタイム アセンブリが含まれる製品まで Windows Installer のトランザクション モデルが拡張されます。 これにより、インストーラーでは失敗したインストールやアセンブリの削除をロールバックできます。
最初の手順では、Windows Installer によって Microsoft .NET Framework が使用され、アセンブリごとにインターフェイスが 1 つ作成されます。 Windows Installer では、インストールされるアセンブリと同じ数のインターフェイスが使用されます。 そのようなインターフェイスの 1 つを利用してアセンブリをコミットすることは、そのアセンブリでは、既存のあらゆるアセンブリを同じ名前で置換する用意ができているが、まだ置換しないことを意味します。 ユーザーがインストールをキャンセルしたか、致命的なインストール エラーがあった場合、Windows Installer では、これらのインターフェイスを解放することでアセンブリを前の状態にロールバックできます。
Windows Installer ですべてのアセンブリと Windows Installer コンポーネントのインストールを完了すると、インストールの第 2 段階が開始されることがあります。 この第 2 段階では別の関数を利用し、すべての新しい共通言語ランタイム アセンブリを最終コミットします。 それにより、既存のあらゆるアセンブリが同じ名前で置換されます。