如果應用程式開發人員在開發測試期間於播放程式與偵錯程式版本間進行變更,則可能導致 Flash Player 控制安裝與註冊方式出現問題。

開始之前

本頁面僅適用於 Flash 與 Flex 開發人員。如果您為尋求升級 Flash Player 的使用者,請參閱下列其中一個網頁:

開發支援版本

自 2007 年 12 月 18 日安全性公告發佈起,Adobe 即終止支援 Adobe Flash Player 7,且不再提供安全性更新。 Adobe 建議所有支援系統上的 Flash Player 使用者透過 Flash Player 下載中心更新至最新的 Flash Player 版本。

Adobe 的 Flash Player 支援原則為支援最新與先前的重要版本。為方便 Windows 95、Microsoft NT 和 Macintosh Classic 客戶使用,我們針對 Flash Player 7 提供安全性修正更新。在 Flash Player 9 推出前,我們也針對 Linux 與 Solaris 客戶提供更新。

如果您使用的是最新播放程式不支援的組態,或想要繼續使用 Adobe Flash Player 7,可以至封存的 Flash Player 版本尋找封存的安裝程式。此 TechNote 資訊持續適用於測試 Flash Player 7 的所有開發人員。

解決方法

選取適用的 Flash Player 版本

一般解除安裝程式 (uninstall_flash_player.exe) 為搭配使用新版本檢查邏輯所設計,您可用於移除系統中的 Flash Player。(此解除安裝程式適用於解除安裝 Flash Player | Windows。) 此解除安裝程式為一般用途程式,可用於移除任何版本的 Flash Player。如果您想要將較新的 Flash Player 版本變更為較早版本,Adobe 建議您於安裝其他版本前將該版本移除。

安裝較早版本的 Flash Player 可能會失敗

如果您先前已安裝適用於 Internet Explorer 的較新版本 Flash Player,請避免安裝較早版本。例如,如果您已安裝 Flash Player 9.0.47.0,但嘗試安裝版本 9.0.45.0,則會發生安裝失敗。如果發生安裝失敗,請依照安裝較早版本 Flash Player | Internet Explorer | Windows 中的指示操作。

附註: 如為針對 Windows Vista 測試,則播放程式最早的支援版本為 9.0.28.0。如果您使用 Windows Vista 且安裝較早版本的播放程式,請進行更新。

Flash Player 10.1 更新版本


隨著 Flash Player 10.1 (Argo) 推出,命令列引數已進行重大變更。如果使用者使用獨立解除安裝程式,則不再需要使用 -clean/-force 引數強制完成解除安裝 Flash Player。但是,如果使用 FlashUtil.exe 進行解除安裝,則使用者仍須使用 -force 引數執行完整解除安裝。

附註: 以下所列之引數僅適用於 EXE 安裝程式,不適用於 MSI 安裝程式。

新的命令列引數如下:

  • -install: 執行無訊息 Flash Player 安裝。
  • -uninstall: 執行無訊息 Flash Player 解除安裝。
    • 附註: 以下引數可搭配獨立解除安裝程式使用,或搭配 \Macromed\Flash 目錄中的 FlashUtil.exe 使用。
  • -uninstall {activex | plugin}: 執行特定播放程式 ActiveX (Internet Explorer) 或增效模組 (其他瀏覽器) 的解除安裝。
    • 附註: 此引數可搭配獨立解除安裝程式使用,或搭配 \Macromed\Flash 目錄中的 FlashUtil.exe 使用。
    • 附註: 如果要解除安裝特定播放程式,請使用特定播放程式類型的無訊息 -uninstall 引數。否則,將無法進行特定解除安裝,且兩種播放程式類型會同時解除安裝。

Flash Player 9.0.28.0 至 10.0.45.0

 

安裝檔案 FlashUtil.exe 會搭配 Flash Player 9.0.28.0 至 10.0.45.0 (Coral) 安裝於 C:\Windows\system32\Macromed\Flash 目錄中。FlashUtil.exe 包括 Windows Vista 與自動更新通知程序所需的功能。Flash Player 不再使用舊版公用程式 (UninstFl.exe),且不會再與該程式搭配安裝。

公用程式會使用控制檔建立版本。例如,FlashUtil9b.exe 會搭配控制檔 Flash9b.ocx 安裝。FlashUtil.exe 也包含多個選項,開發人員可在測試期間用於播放程式與偵錯程式版本間的變更。開發人員可透過使用下列命令列旗標修改預設行為:

用法: %s [-uninstallUnlock] [-uninstallLock] [-uninstallControlPath] 路徑]

  • 如果未使用旗標執行,則會出現自動更新通知對話方塊。
  • -uninstallUnlock: 解除鎖定控制檔。向 OCX 與登錄機碼授與寫入/刪除權限,而不會清除檔案。
  • -uninstallLock: 鎖定控制檔。拒絕寫入/刪除權限。
  • -uninstallControlPath 路徑: 選用;覆寫預設路徑至控制檔。必須搭配其他旗標之一使用。如果省略,則可根據登錄資訊找到路徑。

預設路徑位於下列登錄機碼:

HKCR\CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000}\InProcServer32

例如,C:\Windows\system32\Macromed\Flash\Flash8b.ocx

搭配鎖定控制檔使用 FlashUtil*.exe 的情形可透過下列範例詳細說明。開發測試內容時,您想要在 Flash Player 8 與 Flash Player 9 中檢查播放。您在各別命名的目錄中保留有 8.0.24.0 與 9.0.28.0 的控制檔副本。9.0.28.0 版本為目前使用的登錄控制檔,但您想變更為版本 8。

首先,請解除鎖定登錄控制檔 (但不要刪除),以便稍後變更回原來版本:

FlashUtil9b.exe -uninstallUnlock c:\WINDOWS\System32\Macromed\Flash\Flash9b.ocx

接著,登錄版本 8 控制檔:

regsvr32.exe c:\windows\system32\Macromed\Flash\Flash8b.ocx

現在,版本 8 為目前登錄的 Flash Player 版本。鎖定控制檔包含自我登錄碼,可用於鎖定控制檔。

Flash Player 9.0.16.0 或更早版本

 

部分早於 9.0.28.0 的 Flash Player 版本會搭配解除安裝程式 UninstFl.exe 安裝,該程式會放置於 C:\Windows\system32\Macromed\Flash 目錄中。

版本 包括 UninstFl.exe

Flash Player 7

7.0.63.0、7.0.68.0 及更新版本

Flash Player 8

8.0.24.0、8.0.33.0 及更新版本

Flash Player 9

9.0.16.0

UninstFl.exe 的預設行為為提示使用者、解除鎖定控制檔、取消登錄控制檔,接著刪除 OCX、GetFlash.exe 和 GetFlash.exe.manifest。UninstFl.exe 不會自我移除,且不會移除使用中的檔案。UninstFl.exe 僅會針對新的鎖定控制檔執行。較舊的控制檔不會包含用於鎖定或解除鎖定檔案的登錄邏輯,且 UninstFl.exe 無法辨識並刪除這些檔案。針對較舊的控制檔執行時,會刪除 GetFlash.exe 和 GetFlash.exe.manifest,但會保留控制檔。為確保完整移除 Flash Player,請執行一般解除安裝程式 uninstall_flash_player.exe。 (此解除安裝程式適用於解除安裝 Flash Player | Windows。)

UninstFl.exe 也包含多個選項,開發人員可在測試期間用於各播放程式間的變更。開發人員可透過使用下列命令列旗標修改預設行為:

用法: %s [-quiet] [-unlock] [-lock] [檔案名稱]

旗標的第一個字元即可表達其關聯性。

  • -q: 隱藏提示。
  • -u: 解除鎖定;取得 OCX 和登錄機碼的寫入/刪除權限,不會消除檔案。
  • -l: 鎖定;拒絕寫入/刪除權限。
  • 檔案名稱: 覆寫預設路徑。預設路徑位於下列登錄機碼: HKCR\CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000}\InProcServer32。例如: C:\Windows\system32\Macromed\Flash\Flash85.ocx

搭配鎖定控制檔使用 UninstFl.exe 的情形可透過下列範例詳細說明。開發測試內容時,在 Flash Player 7 與 Flash Player 8 中檢查播放。您在各別命名的目錄中保留有 7.0.63.0 與 8.0.24.0 的控制檔副本。版本 8 為目前登錄的控制檔,但您想變更為版本 7。

首先,請解除鎖定登錄控制檔 (但不要刪除),以便稍後變更回原來版本:

UninstFl.exe -u c:\windows\system32\Macromed\Flash\Flash8.ocx

接著,登錄版本 7 控制檔:

regsvr32.exe c:\windows\system32\Macromed\Flash\Flash.ocx

現在,版本 7 為目前登錄的 Flash Player 版本。鎖定控制檔包含自我登錄碼,可用於鎖定控制檔。

其他資訊

Flash Player 7 (7.0.63.0) 與 Flash Player 8 (8.0.24.0) 的更新包括安全性增強功能,且額外引進安裝程序的版本檢查功能。由於較舊的安裝程式與控制檔不包含新的版本檢查邏輯,因此 Flash Player 控制檔會在安裝時鎖定。自此更新起,Adobe 的安裝程式和解除安裝程式皆因應此變更而設計執行,但不會因此影響使用者安裝體驗。Flash 和 Flex 開發人員認為,有時必須針對其在測試期間於各播放程式版本間變更的標準方式進行些許修正,以因應此變更。

常見安裝問題:

徵兆 診斷及解決辦法

嘗試手動刪除登錄控制檔或刪除 Macromed\Flash 資料夾時發生失敗。

診斷: 目前登錄的控制檔為鎖定狀態且無法手動刪除。

解決辦法: 執行一般解除安裝程式移除所有檔案,或執行 uninstfl.exe -uFlashUtil.exe -uninstallUnlock 解除鎖定登錄控制檔後,即可手動刪除。

嘗試變更登錄控制檔的檔案名稱時失敗。

診斷: 目前登錄的控制檔為鎖定狀態,如未解除鎖定檔案則會在嘗試重新命名控制檔時發生失敗。

解決辦法: 執行 ininstfl.exe -uFlashUtil.exe -uninstallUnlock 解除鎖定控制檔後,即可重新命名檔案。

針對 flash*.ocx 檔案執行 regsvr32 時會傳回下列錯誤訊息:

診斷: 目前登錄的控制檔為鎖定狀態,如未解除鎖定登錄的播放程式而嘗試登錄替代版本的播放程式,則會發生失敗。

解決辦法: 針對目前登錄的控制檔執行 uninstfl.exe -uFlashUtil.exe -uninstallUnlock,即可進行解除鎖定。接著,針對所需使用的 Flash Player 控制檔版本執行 regsvr32 即可進行登錄。

 

 

 

關鍵字: 更新; 支援原則; 修補檔案; 疑難排解; 4da116d3

此産品由 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 授權  Creative Commons 條款未涵蓋 Twitter™ 與 Facebook 文章。

法律說明   |   線上隱私權政策