DetailPage-MSS-KB

知識庫

文章編號: 939043 - 上次校閱: 2007年10月31日 - 版次: 1.2

徵狀

請試想下列案例:
  • 您在已安裝任何版本的 Microsoft Visual Studio 之多個版本或 SKU 的電腦上安裝更新。
  • 此更新會更新共用的檔案並套用至所有的 SKU。
  • 之後,您使用 [控制台] 中的 [新增或移除程式] 項目來解除安裝其中一個版本或 SKU 的更新。
在這種情況下,只會為單一版本或 SKU 解除安裝更新。不過,會復原共用檔案。這個程序會使得電腦處於可能易受攻擊的狀態。

發生的原因

這個問題是因為更新解除安裝包裝函式的問題所造成的。

所有版本的 Visual Studio 更新都有智慧型更新安裝包裝函式。當您安裝可能適用於任何版本的 Visual Studio 之多個版本或 SKU 的更新時,更新包裝函式同時會檢查電腦上是否已經安裝多個 SKU(例如,更新包裝函式會檢查您是否已在電腦上安裝 Visual Studio 2005 Professional Edition 與 Visual Studio 2005 Team Edition 的 SKU)。在這種情況下,更新包裝函式只會安裝更新一次。不過,更新包裝函式會在 [控制台] 下的 [新增或移除程式] 中的 [目前安裝的程式] 清單新增中繼資料,指出為每個適用的 SKU 分別安裝更新。您可以使用 [控制台] 中的 [新增或移除程式] 項目驗證是否是這種情況。在那裡,您會看到在更新適用的每個 SKU 之下分別安裝的更新。

當您之後嘗試僅為一個 SKU 解除安裝更新時,會為該特定的 SKU 移除更新中繼資料,並且會將這些檔案復原到舊版。即使有多個 SKU 共用這些檔案,仍會復原這些檔案。這個行為是由 Windows Installer 中的錯誤所造成的。因為這個錯誤,Windows Installer 不會為參照單一共用檔案的更新數目保留參照計數。如果該更新屬於安全性更新,這個行為可能會使得電腦處於易受攻擊的狀態。

所有以一個以上的 SKU 為目標之所有版本的 Visual Studio 更新都都會遇到這個問題。

其他可行方案

如果要確定您沒有使得電腦處於易受攻擊的狀態,則必須確定 Visual Studio 所有適用的 SKU 都有安裝更新,而且您沒有只從一個 SKU 解除安裝更新。您可以使用 [控制台] 中的 [新增或移除程式] 項目驗證是否是這種情況。

此外,客戶可以使用 Microsoft Update 來取得 Microsoft Visual Studio 2005 的更新。我們建議您選取使用 Microsoft Update 來接收 Visual Studio 的更新。當您選取要這樣做時,永遠都可以獲得 Visual Studio 2005 的更新。即使您已經為 Visual Studio 2005 的多個版本或 SKU 安裝更新,然後只為一個 SKU 解除安裝更新,仍然可以獲得這些更新。因此,在您為 Visual Studio 2005 解除安裝安全性更新之後,這是降低讓電腦處於易受攻擊狀態之可能性的最好方法。

注意 Visual Studio 2005 的更新可以在 Microsoft Update 上取得。不過,Microsoft Visual Studio .NET 2003 與 Microsoft Visual Studio .NET 2002 的更新無法在 Microsoft Update 上取得。對於這些版本的 Visual Studio,您必須從「Microsoft 下載中心」下載該更新,然後再手動安裝更新。

其他相關資訊

如果要造訪 Microsoft Update 網站,請按一下下列連結:
http://update.microsoft.com/microsoftupdate/v6/default.aspx?ln=zh-tw (http://update.microsoft.com/microsoftupdate/v6/default.aspx?ln=zh-tw)

這篇文章中的資訊適用於:
  • Microsoft Visual Studio 2005 Team Suite
  • Microsoft Visual Studio 2005 Team Edition for Software Architects
  • Microsoft Visual Studio 2005 Team Edition for Software Developers
  • Microsoft Visual Studio 2005 Team Edition for Software Testers
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft Visual Studio .NET 2003 專業版
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
關鍵字: 
kbtshoot kbexpertiseinter kbsecurity kbbug kbpubtypekc KB939043
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
共用
其他支援選項
Microsoft Community 支援論壇
直接與我們連絡
尋找 Microsoft 認證合作夥伴
Microsoft 市集