在 Microsoft Windows Installer 3.0 中修補 flyweight 的描述

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

在此頁中

簡介

Microsoft Windows Installer 3.0 提供也稱為是 flyweight 修補的效能最佳化。flyweight 修補的目的是要啟用藉由移除不必要的動作執行的應用程式更快速更新。比方說,flyweight 修補模式主要被為了只更新一些檔案或登錄中的某些值的更新。Windows Installer 3.0 分析特定的變更,以判斷最佳化是可能的更新。如果可能有最佳化,套用更新程式之前使用最少處理集合。

描述 flyweight 修補最佳化

更新是只適合 flyweight 修補最佳化,如果所適用的轉換中更新設定所做的變更進行以下表格:
  • AdminExecuteSequence
  • AdminUISequence
  • 條件
  • CustomAction
  • 檔案
  • FileSFPCatalog
  • InstallExecuteSequence
  • InstallUISequence
  • 媒體
  • MoveFile
  • MsiDigitalCertificate
  • MsiDigitalSignature
  • MsiFileHash
  • MsiPatchHeaders
  • 補充程式
  • PatchPackage
  • 屬性
  • 登錄
  • SFPCatalog
  • TypeLib
  • 驗證
更新符合此準則,記錄檔會記錄下列訊息:

Windows 「 安裝程式將嘗試最佳化此補充程式到大!


如果更新所做的另一個資料表、 其他的元件資料表或類別的另一個資料表所做的修改更新不合格的 flyweight 修補最佳化。到另一個資料表所做的修改時記錄檔會記錄下列訊息:

Windows 「 安裝程式已停用此安裝交易的補充程式最佳化
.

如果最近安裝交易為啟用任何一個更新的是適合 flyweight 修補最佳化,就會停用 flyweight 修補最佳化。此外,Windows Installer 3.0 自動停用 flyweight 修補最佳化,當任一下列條件為 true:
  • 第一次安裝一個應用程式。
  • REINSTALLMODE 屬性設定為 一個REINSTALLMODE_FILEREPLACE 模式中。
  • 更新應用程式會影響從來源執行的功能。
  • 套用新的更新是主要的升級。這是變更 ProductCode 屬性的更新。
停用 flyweight 修補最佳化時,其中一個下列的訊息會記錄在記錄檔中:

訊息 1

關閉補充程式最佳化。正在修補會影響從來源執行的功能。


訊息 2

自從主要版本的升級修補程式 '{1BFBBCA7-3F15-16E8-016B-D3F9B331810A}' 啟用為應用程式後,請停用修補程式最佳化。


附註您可能會收到一則訊息,指出該效能最佳化已啟用記錄檔中。稍後,可能會收到後續的訊息,指出該效能最佳化已停用記錄檔中。

執行標準的條件式動作

啟用 [flyweight 修補模式時只有最少下列設定的標準執行的條件式動作:
  • AllocateRegistrySpace
  • AppSearch
  • CostFinalize
  • CostInitialize
  • DeleteServices
  • DisableRollback
  • DuplicateFiles
  • ExecuteAction
  • FileCost
  • FindRelatedProducts
  • ForceReboot
  • 安裝
  • InstallAdminPackage
  • InstallExecute
  • InstallExecuteAgain
  • InstallFiles
  • InstallFinalize
  • InstallInitialize
  • InstallODBC
  • InstallServices
  • InstallValidate
  • IsolateComponents
  • LaunchConditions
  • MsiPublishAssemblies
  • MsiUnpublishAssemblies
  • PatchFiles
  • PublishProduct
  • RegisterComPlus
  • RegisterFonts
  • RegisterProduct
  • RegisterTypeLibraries
  • RemoveDuplicateFiles
  • RemoveODBC
  • ResolveSource
  • ScheduleReboot
  • SelfRegModules
  • SelfUnregModules
  • SetODBCFolders
  • StartServices
  • StopServices
  • UnregisterComPlus
  • UnregisterFonts
  • UnregisterTypeLibraries
  • ValidateProductID
  • WriteRegistryValues
其他 flyweight 修補最佳化會包含在
WriteRegistryValues
登錄項目。在修補最佳化 flyweight,期間處理只有特定登錄項目。處理這些登錄項目是由更新更新這些登錄項目。偵測根據實際對登錄資料表所做的修改。當登錄項目會被略過,因為 flyweight 修補最佳化模式的時是會在記錄檔中記錄下列訊息:

動作出最佳化 ProcessComponents 」。


瞭解可能的相容性問題

flyweight 修補最佳化可能會導致更新的相容性問題。如果其他的安裝處理或更新如果需要額外的安裝處理適用的轉換為更新設定中指出的變更外,觸發程序更新,就會發生相容性問題。請依照下列可能的相容性問題:
  • 更新安裝將會觸發重新評估的可轉移的元件。

    如果更新偵測為 flyweight,可轉移的元件不正確地處理。案例包括停用的狀態為啟用狀態反之亦然從移動的可轉移元件。
  • 更新安裝嘗試安裝目前不存在的功能或目前不存在的元件。

    如果元件中包含全域組件更新應用程式可以實際啟用 flyweight 修補最佳化模式時,失敗。
  • 更新間接更改登錄項目,藉由變更 [登錄] 表格中參考的屬性值。

    比方說如果登錄值根據為"[MyCustomProperty],"所撰寫的 MyCustomProperty 屬性的值,而且更新變更的"[MyCustomProperty]"值登錄項目不會更新。 登錄項目沒有出現在修改清單,就會發生這個問題。

撰寫您的更新,以防止 flyweight 修補最佳化

重要這個區段、 方法或任務包含告訴您如何修改登錄的步驟。然而,如果您不當修改登錄,可能會發生嚴重的問題。因此,執行這些步驟時請務必小心。為加強保護,修改登錄之前,請務必將它備份起來。以後您就可以在發生問題時還原登錄。如需有關如何備份和還原登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
322756如何備份和還原在 Windows 登錄


撰寫您的更新,以防止 flyweight 修補最佳化,最簡單的方法是.msp 檔案中加入新的自訂資料表與新的資料列。新自訂資料表,新的資料列存在可防止 flyweight 修補模式。例如新增新的表格,用來建置更新升級的封裝中名為 CustomDisableflyweight 」。撰寫您更新,這樣表格僅有一個資料行。此一資料行也作為主索引鍵資料行。當您想要停用 flyweight 修補該更新,現在,新增到資料表資料列。

此外,系統管理員可以停用修補所有更新的最佳化藉由設定
DisableflyweightPatching
flyweight 子機碼在登錄 DWORD 值為 1。這個動作會解析應用程式相容性問題。

請遵循這些步驟,然後結束 「 登錄編輯程式 」:
  1. 按一下 [開始]、 按一下 [執行]、 輸入 regedit,然後按一下 [確定]]。
  2. 找出並按一下登錄中的下列機碼:
    HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer
  3. 在 [編輯] 功能表上指向 [新增],然後按一下 [DWORD]。
  4. 鍵入 DisableFlyWeightPatching,並按下 ENTER。
  5. 編輯] 功能表上按一下 [修改]。
  6. 輸入 1,然後按一下 [確定]

?考

如需有關 Windows Installer 3.0 的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站:

DisableFlyWeightPatching
http://msdn2.microsoft.com/en-us/library/aa368300.aspx
補充程式最佳化
http://msdn2.microsoft.com/en-us/library/aa370595.aspx
Windows Installer 3.0 是可用
http://go.microsoft.com/fwlink/?LinkId=33342

屬性

文章編號: 894439 - 上次校閱: 2007年1月16日 - 版次: 1.2
這篇文章中的資訊適用於:
  • Microsoft Windows Installer 3.0
關鍵字:?
kbmt kbhowtomaster kbhowto kbinfo KB894439 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:894439
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