應用程式如果略過提供全域使用的並存組件,便可能容易發生某些可以由 Microsoft 軟體更新所修正的問題

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

簡介

在執行 Microsoft Windows Server 2003 的電腦上,系統管理員可以進行設定,讓某個特定的應用程式略過提供全域使用的更新並存組件。在執行 Microsoft Windows XP 的電腦上,軟體開發人員以及系統管理員可以進行設定,讓某個特定的應用程式略過提供全域使用的更新並存組件。然而,這個略過功能可能會使得應用程式容易發生某些本來可以透過安裝通用的 Microsoft 軟體更新來修正的問題。因此,我們強烈建議軟體開發人員以及系統管理員,不要使用此功能。

我們不建議您在 Windows 技術上使用混合 DLL/COM 重新導向的並存組件。請參閱<其他相關資訊>一節,以取得詳細資訊。

其他相關資訊

並存組件是許多資源的集合,其中可能含有一或多個 DLL 檔、視窗類別、COM 伺服器、型別程式庫或介面。這些資源都是一併同時提供給應用程式使用的。並存組件會由 XML 應用程式資訊清單加以選取使用,這些資訊清單可位於下列任何一個位置:
  • 應用程式可執行檔中的某個資源。
  • 與應用程式可執行檔安裝於同一個資料夾內,副檔名為「.exe.manifest」的檔案。
  • Microsoft 應用程式 相容性資料庫中的某個設定。如果應用程式的資訊清單,是由 Microsoft 應用程式相容性資料庫所提供,此資訊清單的優先順序將大於應用程式 提供的資訊清單。
在完成部署後,軟體開發人員或系統管理員可以利用應用程式組態檔,為各個應用程式組態個別地更新他們的組件組態。應用程式組態檔是與應用程式可執行檔安裝於同一個資料夾內,同時副檔名為「.exe.config」的檔案,它可以重新導向特定的應用程式,讓應用程式無須重新編譯,便能由使用某個並存組件版本,改為使用這個並存組件的另一個版本。例如,如果使用發行者原則時並未強迫所有應用程式使用某個較新版本的並存組件,系統管理員或開發人員便可以用更新 (也就是「選擇使用」) 的方式,讓某個特定的應用程式使用這個較新版本的並存組件。這樣一來,該特定應用程式便會優先使用較新版本的並存組件,而不是這個並存組件舊版本。

此外,Windows Server 2003 的系統管理員,或是 Windows XP 的系統管理員或軟體開發人員,也可以用略過 (也就是「選擇不使用」) 的方式,讓特定應用程式不使用提供全域使用的更新並存組件,而無須為所有應用程式移除提供全域使用的更新並存組件。如果要執行這項操作,系統管理員可以更新應用程式組態檔,將 <publisherPolicy apply="no"/> 項目加入其中。

如果要在執行 Windows XP 的電腦上,判斷是否使用了應用程式組態檔,讓特定應用程式略過任何提供全域使用的更新並存組件,請在與應用程式執行檔名稱相同,但副檔名為 .config 的檔案中,查看是否有 <publisherPolicy apply="no"/> 項目。例如,請查看 <publisherPolicy apply="no"/> 項目是否存在於應用程式.exe.config 檔中,便可判斷執行檔為 應用程式.exe 的應用程式,是否略過了提供全域使用的更新並存組件。這個應用程式.exe.config 檔,與應用程式的應用程式資訊清單是安裝於同樣的位置。

如果安裝某個軟體更新後,特定應用程式會無法正常運作,軟體開發人員與系統管理員便可以利用這個功能,選擇性地為該特定應用程式停用此 Microsoft 軟體更新,如此一來,軟體開發人員或系統管理員便不必為所有應用程式移除這個軟體更新。不過,如果應用程式使用了此種略過功能時,便可能容易發生某些可以由 Microsoft 軟體更新所修正的問題。

注意 這種略過功能在 Microsoft 應用程式需要一個編輯資料。 Windows Server 2003 電腦上的相容性資料庫。此種設定僅能由系統管理員或是由 Microsoft 加入軟體更新中。

應用程式作者或有應用程式目錄控制權的人,還有其他方法可以略過全域更新。

在 Windows 技術上使用 DLL/COM 重新導向的注意事項

此項技術通常需要本機檔案隨著應用程式部署。這個需求能幫助減少應用程式相容性的問題。

注意 雖然全域複本可能是有用的服務更新,但本機檔案使系統偏好應用程式資料夾內的 DLL 複本,而非全域複本。我們建議軟體開發人員和系統管理員謹慎使用這項功能,或在應用程式使用並存組件時完全不用。

如需有關 Windows 技術上 DLL/COM 重新導向的詳細資訊,請造訪下列 Microsoft 網站:
http://msdn2.microsoft.com/en-us/library/aa375142.aspx


使用並存組件軟體的開發者的建議措施
  • 應用程式請隨附列有建立或測試應用程式的並存組件之版本的應用程式資訊清單。
  • 即使在您選擇部署至應用程式資料夾時,也請務必部署含有並存 DLL 檔之並存組件的資訊清單檔案。
  • 如果在執行 Microsoft Windows 2000 或 Windows 更舊版本的電腦上安裝應用程式,請勿把應用程式資料夾裡的並存組件隨附至作業系統。相反地,應該從系統資料夾使用並存組件。
  • 請勿使用 .local 功能 (此功能又稱為在 Windows 的 DLL/COM 重新導向)。
  • 請勿在有明確完整路徑的並存組件 DLL 上,執行 LoadLibrary 功能。相反地,請使用靜態連結或帶有原始 DLL 檔案名稱的 LoadLibrary 功能。例如,使用「Gdiplus.dll」作為檔案名稱。
如需詳細資訊,請造訪下列 Microsoft 網站:
http://msdn2.microsoft.com/en-us/library/ms997620.aspx

?考

如需關於隔離應用程式和並存組件的詳細資訊,請造訪下列 Microsoft 網站:
http://msdn2.microsoft.com/en-us/library/aa375193.aspx
如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
824684 用來描述 Microsoft 軟體更新的標準術語說明

屬性

文章編號: 835322 - 上次校閱: 2007年12月1日 - 版次: 4.3
這篇文章中的資訊適用於:
  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Home Edition (家用版)
  • Microsoft Windows XP Professional x64 Edition
關鍵字:?
kbinfo kbtshoot kbsecurity kbprb KB835322
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