當您移除 .NET Framework 1.1 或 .NET Framework 1.0 的部分安全性更新之後,檔案版本還原為上次 Service Pack 所安裝的版本

文章翻譯 文章翻譯
文章編號: 939160 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

徵狀

試想下列案例。您的電腦已經安裝 Microsoft .NET Framework 1.1 或 Microsoft .NET Framework 1.0。然後,您移除了下列其中一份「Microsoft 知識庫」文件所述的安全性更新:
  • 928366 說明適用於 Windows XP 和 Windows 2000 的 .NET Framework 1.1 SP1 的安全性更新:2007 年 7 月 10 日
  • 929729 說明適用於 Windows Vista 的 .NET Framework 1.1 SP1 的安全性更新:2007 年 7 月 10 日
  • 928367 說明適用於 Windows Vista、Windows Server 2003、Windows XP 和 Windows 2000 的 .NET Framework 1.0 SP3 的安全性更新:2007 年 7 月 10 日
在此情況下,.NET Framework 的檔案版本還原為上次 Service Pack 所安裝的檔案版本。此外,您只能重新安裝先前已安裝的更新,或是新的更新;您無法安裝舊的更新。

發生的原因

發生這個問題是因為 .NET Framework 1.1 和 .NET Framework 1.0 的更新原本設計成與 Windows Installer 2.0 搭配使用。.NET Framework 1.1 和 .NET Framework 1.0 的更新不是設計成與 Windows Installer 3.0 搭配使用。

注意 Windows Installer 3.0 不支援 Microsoft Windows Millennium Edition、Microsoft Windows 98 及 Microsoft Windows 95 等舊版平台。

Windows Installer 2.0 有一項限制:Windows Installer 2.0 原本就不支援移除更新的功能。為了解除這項限制,.NET Framework 1.1 和 .NET Framework 1.0 的更新都已內建自訂移除功能。

這個自訂移除功能的作業方式如下。更新程式除了有承載 .msp 檔案外,還會附帶所謂的反修補檔案。一旦提供適當的移除命令給更新檔包裝函式可執行檔,包裝函式就會安裝反修補檔案。反修補檔案其實是另一個更新程式,這個更新程式內有承載 MSP 檔案中各個檔案上次正確的版本。此版本為上次基準版本,通常是由最近的 Service Pack 所提供 (如果有的話)。因此當您移除 .NET Framework 1.1 或 .NET Framework 1.0 的更新時,檔案版本未必會還原為先前的檔案版本。檔案版本可能會還原為上次 Service Pack 所安裝的檔案版本。

試想下列情況。您已取得 .NET Framework 1.0 Service Pack 3 的兩個更新。第一個更新是 KB886906 所述的更新,此更新的檔案版本為 1.0.3705.6021。第二個更新則是 KB928367 所述的更新,其檔案版本為 1.0.3705.6060。

下列表格說明在此案例中安裝更新後又移除時所發生的情況。
摺疊此表格展開此表格
步驟動作採取動作前的檔案版本採取動作後的檔案版本
1您安裝了 .NET Framework 1.0 Service Pack 3。不適用1.0.3705.6018
2您安裝了 KB886906 所述的更新。此為第一個 (較舊版本) 更新。1.0.3705.60181.0.3705.6021
3您安裝了 KB928367 所述的更新。此為第二個 (較新版本) 更新。1.0.3705.60211.0.3705.6060
4您移除了 KB928367 所述的更新。此為第二個 (較新版本) 更新。1.0.3705.60601.0.3705.6018
這個案例證明了當您移除第二個更新後,.NET Framework 1.0 並未如預期般還原為第一個更新提供的檔案版本。反而,.NET Framework 1.0 已還原為基準版本。基準版本就是 .NET Framework 1.0 Service Pack 3 所附的檔案版本。

解決方案

Microsoft 已經發行解除安裝清理工具來更正這個問題。如果您移除了<徵狀>一節所列的任何安全性更新,就應該使用這個工具。

如果要取得解除安裝清理工具,請造訪下列「Microsoft 下載中心」網站:
http://www.microsoft.com/downloads/zh-tw/details.aspx?familyid=7a4efc33-0343-4ee4-b0c4-97bd16967a09&displaylang=zh-tw
執行解除安裝清理工具後,電腦會還原為上次正確的設定。現在您可以重新安裝舊的更新。

下列表格說明一旦您在安裝更新後又移除時所發生的情況,並且說明解除安裝清理工具如何更正這個問題。
摺疊此表格展開此表格
步驟動作先前檔案版本新檔案版本
1您安裝了 .NET Framework 1.0 Service Pack 3不適用1.0.3705.6018
2您安裝了更新 KB886906。此為第一個 (較舊版本) 更新。1.0.3705.60181.0.3705.6021
3您安裝了更新 KB928367。此為第二個 (較新版本) 更新。1.0.3705.60211.0.3705.6060
4您移除了更新 KB928367。此為第二個 (較新版本) 更新。1.0.3705.60601.0.3705.6018
5您已下載並執行清理工具。1.0.3705.60601.0.3705.6018
6您重新安裝了 KB886906 所述的更新。此為第一個 (較舊版本) 更新。1.0.3705.60181.0.3705.6021
下列表格說明當您移除<徵狀>一節所列的任何安全性更新後,必須重新安裝的更新。
摺疊此表格展開此表格
.NET Framework 版本您所移除的更新必須重新安裝的更新
.NET Framework 1.1 Service Pack 1
928366 說明適用於 Windows XP 和 Windows 2000 的 .NET Framework 1.1 SP1 的安全性更新:2007 年 7 月 10 日
886903 Microsoft .NET Framework 1.1 Service Pack 1 的 ASP.NET 路徑驗證弱點
.NET Framework 1.1 Service Pack 1
929729 說明適用於 Windows Vista 的 .NET Framework 1.1 SP1 的安全性更新:2007 年 7 月 10 日
886903 Microsoft .NET Framework 1.1 Service Pack 1 的 ASP.NET 路徑驗證弱點
.NET Framework 1.0 Service Pack 3
928367 說明適用於 Windows Vista、Windows Server 2003、Windows XP 和 Windows 2000 的 .NET Framework 1.0 SP3 的安全性更新:2007 年 7 月 10 日
886906 Microsoft .NET Framework 1.0 Service Pack 3 的 ASP.NET 路徑驗證弱點
當您移除任何新的更新之後,必須在安裝較舊的更新前先執行本文所提及的清理工具。每次移除安全性更新時,您都必須重複此一程序。換句話說,每當您已移除安全性更新,就必須執行解除安裝清理工具,然後再安裝較舊的更新。

注意 執行解除安裝清理工具時,工具不會安裝在電腦上。此工具只是在電腦上執行必要的清理工作,然後隨即結束。

其他相關資訊

如需有關安裝多個更新之後又移除任何更新時可能發生問題的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
938244 當您移除 .NET Framework 1.0 或 .NET Framework 1.1 的更新之後,檔案版本還原為上次 Service Pack 所安裝的版本
注意 :本文屬於「快速發佈」文章,係由 Microsoft 技術支援或組織內部直接建立。 本文所包含的資訊是為了回應新問題而依現況提供。 因此為了迅速對外發佈,文章內容可能含有印刷錯誤,而且可能會在不另行通知的情況下進行修改。 如需其他考量事項,請參閱使用規定

屬性

文章編號: 939160 - 上次校閱: 2011年10月14日 - 版次: 1.0
這篇文章中的資訊適用於:
  • Microsoft .NET Framework 1.1 Service Pack 1?應用於:
    • Windows Vista 家用進階版
    • Windows Vista 旗艦版
    • Windows Vista 商用入門版
    • Windows Vista 商用進階版
    • Windows Vista Starter
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows XP Home Edition (家用版)
    • Microsoft Windows XP Professional
    • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
    • Microsoft Windows XP Tablet PC Edition
    • Microsoft Windows 2000 Professional Edition
    • Microsoft Windows 2000 Server
    • Microsoft Windows 2000 Advanced Server
  • Microsoft .NET Framework 1.0 Service Pack 3?應用於:
    • Windows Vista 家用入門版
    • Windows Vista 家用進階版
    • Windows Vista 旗艦版
    • Windows Vista 商用入門版
    • Windows Vista 商用進階版
    • Windows Vista Starter
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
    • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
    • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
    • Microsoft Windows Server 2003, Web Edition
    • Microsoft Windows XP Home Edition (家用版)
    • Microsoft Windows XP Professional
    • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
    • Microsoft Windows XP Tablet PC Edition
    • Microsoft Windows 2000 Professional Edition
    • Microsoft Windows 2000 Server
    • Microsoft Windows 2000 Advanced Server
關鍵字:?
kbupdateissue kbuninstall kbinstallation kbupdate kbhowto kbtshoot kbexpertisebeginner kbprb KB939160
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com