.NET Framework 1.0 または .NET Framework 1.1 用の更新プログラムを削除すると、ファイルのバージョンが最後に適用した Service Pack でインストールされたバージョンに戻る

現象
次の事例で説明します。コンピュータで Microsoft .NET Framework 1.0 および .NET Framework 1.1 を実行しています。.NET Framework 1.0 または .NET Framework 1.1 用の更新プログラムが複数インストールされています。この状態で、更新プログラムを 1 つ削除します。このとき、.NET Framework のファイルのバージョンが、最後に適用した Service Pack でインストールされたバージョンに戻ります。
原因
この問題は、.NET Framework 1.0 および .NET Framework 1.1 用の更新プログラムがもともと Microsoft Windows インストーラ 2.0 を使用するように設計されていたために発生します。.NET Framework 1.0 および .NET Framework 1.1 用の更新プログラムは、Windows インストーラ 3.0 を使用するように設計されていませんでした。Windows インストーラ 3.0 は、Microsoft Windows 95、Windows 98、Windows Millennium Edition (Me) などの古いオペレーティング システムではサポートされていません。

Windows インストーラ 2.0 には制限があり、更新プログラムを削除する機能がネイティブでサポートされていません。この制限を回避するために、.NET Framework 1.0 および .NET Framework 1.1 用の更新プログラムには、専用の削除機能が組み込まれています。

専用の削除機能の動作を以下に説明します。更新プログラムには、本体の .msp ファイルに加え、"anti-patch (更新プログラムの削除機能)" が含まれています。削除機能を実行する適切なコマンド ラインを更新プログラムのラッパーの実行可能プログラムに渡すと、ラッパーにより anti-patch がインストールされます。anti-patch は実際には第 2 の更新プログラムであり、本体の .msp ファイルに含まれているファイルに対応する、正常に機能する既存のバージョンの中で最新のバージョンが含まれています。このバージョンは最新のベースライン バージョンであり、通常、Service Pack が存在する場合は最新の Service Pack に含まれているバージョンです。このため、.NET Framework 1.0 または .NET Framework 1.1 の更新プログラムを削除した場合、ファイルのバージョンは必ずしも以前のバージョンに戻りません。ファイルのバージョンは、最後に適用した Service Pack でインストールされたバージョンに戻る場合があります。

次の事例で説明します。.NET Framework 1.0 Service Pack 3 (SP3) 用の更新プログラムが 2 つインストールされています。1 つ目の更新プログラムは、「サポート技術情報」 (Microsoft Knowledge Base) の資料 886906 に記載されている更新プログラムです。この更新プログラムのファイルのバージョンは 1.0.3705.6021 です。2 つ目の更新プログラムは、「サポート技術情報」 (Microsoft Knowledge Base) の資料 928367 に記載されている更新プログラムです。この更新プログラムのファイルのバージョンは 1.0.3705.6060 です。

この場合の事例を以下の表に示します。
段階ユーザーの操作実行前のファイルのバージョン実行後のファイルのバージョン
1.NET Framework 1.0 SP3 をインストールします。非該当1.0.3705.6018
21 つ目 (古い方) の更新プログラム (886906) をインストールします。1.0.3705.60181.0.3705.6021
32 つ目 (新しい方) の更新プログラム (928367) をインストールします。1.0.3705.60211.0.3705.6060
42 つ目 (新しい方) の更新プログラム (928367) を削除します。1.0.3705.60601.0.3705.6018

この例では、2 つ目の更新プログラムを削除した後、.NET Framework 1.0 のファイルのバージョンは、1 つ目の更新プログラムのバージョンに戻されていません。.NET Framework 1.0 のバージョンは、ベースラインのバージョンまで戻されています。ベースラインのバージョンとは、.NET Framework 1.0 SP3 に含まれていたファイルのバージョンです。
解決方法
この問題の解決方法はありません。更新プログラムはもともと Windows インストーラ 2.0 を使用するように設計されていました。.NET Framework 2.0 を対象とした更新プログラムなど、新しい更新プログラムでは、Windows インストーラ 3.1 が使用されます。Windows インストーラ 3.1 ではネイティブで削除機能が処理されるため、この問題は発生しません。

ファイルのバージョンが、予期していたよりも前のバージョンに戻った場合、以前の更新プログラムを再インストールする必要があります。

以前の更新プログラムを再インストールした後、ファイルのバージョン番号が予期したバージョンまで新しくなっていない場合もあります。その場合、問題を解決するには、以前の更新プログラムをいったん削除してから再インストールする必要があります。
security update uninstall remove .NET Framework 1.0 1.1 rollback uninstall MSI Windows Installer 2.0 2.x limitation anti-patch file version Service Pack SP baseline
プロパティ

文書番号:938244 - 最終更新日: 07/13/2007 10:15:00 - リビジョン: 2.4

Microsoft .NET Framework 1.1 Service Pack 1, Microsoft .NET Framework 1.0 Service Pack 3

  • kbhowto kbtshoot kbprb kbupdate kbuninstall kbupdateissue kbexpertisebeginner kbinstallation KB938244
フィードバック