檔案類型和 URI 關聯模型
平台
用戶端- Windows 8
伺服器- Windows Server 2012
描述
檔案類型和 URI 關聯模型在 Windows 8 中已變更。 應用程式無法再以程式設計方式將自己設定為檔案類型或 URI 的預設處理常式。 相反地,使用者一律會控制檔案類型或 URI 配置的預設處理常式。
表現
這項變更如何呈現給使用者,取決於應用程式的設計方式,例如:
- 許多應用程式會在每次執行時檢查它們是否為預設值,如果不是,則會提示使用者將其設定為預設值。 不過,由於應用程式無法再正確查詢,以判斷哪一個應用程式是檔案類型或 URI 配置的預設處理常式,因此這些作業都無法運作。
- 許多應用程式都有內建的對話方塊或功能表,或在其安裝程式中,指定應用程式應作為預設值的檔案類型。 不過,由於應用程式無法再以程式設計方式將自己設定為檔案類型或 URI 配置的預設處理常式,因此無法再運作。
降低
使用者可以執行數件事來容納這些變更:
- 當未指定檔案類型、URI 配置或兩者時,系統會提示使用者選擇預設應用程式來處理檔案類型、URI 配置或兩者
- 安裝可處理檔案類型或 URI 配置的新應用程式之後,系統會提供使用者變更其預設處理常式的選項
- 預設程式控制面板可讓使用者為應用程式設定預設值,或針對檔案類型、URI 配置或兩者設定預設值;應用程式可以連結至控制台
- 您可以從 Windows 檔案總管變更預設值
解決方法
由於這些變更,會提供此 API 指引:
IApplicationAssociationRegistration API 內某些方法呼叫的功能已變更,不應再使用。
- 請勿呼叫QueryAppIsDefault/QueryAppIsDefaultAll來判斷應用程式是否為預設值
- 請勿 呼叫 QueryCurrentDefault 來判斷是否有任何) 為目前預設值的應用程式 (
- 請勿呼叫SetAppIsDefault/SetAppIsDefaultAll來設定預設應用程式
接下來的指導方針如下:
請勿 查詢以查看哪個應用程式是檔案類型或 URI 配置的預設處理常式
請勿 嘗試監視檔案類型或 URI 配置的預設處理常式變更
請勿 嘗試將應用程式設定為檔案類型或 URI 配置的預設處理常式
請勿 嘗試從應用程式內管理檔案類型或 URI 配置的預設值
如果您想要允許應用程式的使用者存取預設管理 UI,請與[設定預設程式] 控制台整合, (不再支援應用程式內的管理 UI)
- 呼叫 IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI 可讓使用者存取指定應用程式的 [設定預設程式] 控制台頁面
測試
- 測試以確認應用程式是否在 [設定預設程式] 控制台中正確註冊
- 測試以確認應用程式是否已正確註冊,使其出現在檔案類型、URI 配置或兩者之 OpenWith 清單中,這些應用程式已註冊以處理
- 測試以確認新的代理程式更新在安裝應用程式之後出現,而且使用者叫用檔案類型、URI 配置,或兩者都已註冊來處理您的應用程式
資源