共用方式為


設定程式存取和電腦預設值 (SPAD)

本主題討論在 控制台 中找到的設定程式存取和計算機預設值 (SPAD) 功能。 SPAD 位於 Windows Vista 和更新版本中的預設程式 控制台 專案底下。 在 Windows XP 中,它位於 [新增或移除程式] 項目,標題為 [ 設定程式存取和預設值]。

重要

本主題不適用於 Windows 10。 默認檔案關聯在 Windows 10 中運作的方式有所變更。 如需詳細資訊,請參閱本文Windows 10 如何處理預設應用程式的變更一節。

 

使用設定程式存取和計算機預設值工具

注意

從 Windows 8 起,SPAD 會根據每個用戶來設定目前用戶的預設值。 在 Windows 8 之前,SPAD 會設定每部電腦預設值。 當使用者尚未設定每個用戶預設值時,系統會提示他們設定每個用戶預設值,而不是在每部計算機預設值上回復。 如果使用者先前已設定每個用戶預設值,則 Windows Vista 和 Windows 7 中使用者可能從未看到每部電腦預設值,因為每一使用者預設會覆寫這些操作系統中的每部計算機預設值。

 

在 Windows XP 中,[設定程式存取和預設值] 是 控制台 的 [新增] 或 [移除程式] 專案中的選項。 在 Windows Vista 和更新版本中,它位於 [預設程式] 控制台 專案底下。 針對 已註冊 的程式,它會執行下列函式:

  • 啟用每個客戶端類型的預設程式選擇(僅限 Windows 7)。
  • 可讓您控制程式的圖示、快捷方式和功能表項的顯示。
  • 提供一組預設的預設程序選擇。 (僅限 Windows XP Service Pack 1 (SP1)

此工具用於下列五種客戶端類型。

  • 瀏覽器
  • 電子郵件
  • 立即訊息程式
  • 媒體播放器
  • 適用於 Java 的虛擬機

設定程式存取和計算機預設值的概觀

Windows 8 設定程式存取和電腦預設值 頁面會顯示在下列螢幕快照中。

設定程式存取和計算機預設項目檢視的螢幕快照

向用戶呈現三個可能的組態選項,以及 OEM 提供標題為「計算機製造商」的第四個選項的選項。

Microsoft Windows

Microsoft Windows態是由 Windows 提供的一組預設程式所組成,如下列螢幕快照所示。

設定程式存取和預設 Microsoft 選項的螢幕快照

選取 [Microsoft Windows 組態],也可針對針對五種用戶端類型註冊的每個程序顯示圖示、快捷方式或功能表項。 這些圖示、快捷方式和功能表項可供使用者在 [開始] 功能表或 [開始 ] 畫面、桌面上,以及新增至其他所有位置使用。

非Microsoft

下列 螢幕快照所示的非Microsoft 組態會用於用戶系統上未由Microsoft產生的已註冊應用程式。 這些應用程式可以預安裝於使用者的系統上,也可以是使用者已安裝的非Microsoft應用程式。

注意

應用程式必須註冊才能出現在此頁面。 如需註冊應用程式的指示,請參閱 使用用戶端類型註冊程式。

 

設定程式存取和預設非 Microsoft 選項的螢幕快照

選取 [非Microsoft] 選項也會移除所有客戶端類型之Microsoft Windows 組態中所列Microsoft程序的圖示、快捷方式和功能表項的存取權。 這些Microsoft圖示、快捷方式和功能表項會從 [ 開始 ] 功能表、桌面和其他新增的位置中移除。

自訂

下列 螢幕快照所示的自定義 組態可讓使用者使用註冊為五種用戶端類型之預設可能性的Microsoft和非Microsoft程序組合,自定義其系統。 這是 Windows 2000 Service Pack 3 (SP3) 中唯一可用的四個選項之一。

設定程式存取和預設自訂選項的螢幕快照

Microsoft Windows 和非Microsoft組態中顯示的所有選項,都可以在 [自定義] 區段中提供給使用者,以及不屬於 Windows 的任何額外安裝Microsoft應用程式。 [ 使用我目前的網頁瀏覽器] 單選按鈕會預先選取,如前一個螢幕快照所示。 無法從UI判斷目前的預設瀏覽器。 叫用 Windows 中的網頁連結或檔案是探索目前預設瀏覽器的唯一方法。

當使用者選取程式的 [啟用存取此程式] 複選框時,該程式的圖示、快捷方式和功能表項會顯示在 [開始] 功能表 或 [開始] 畫面、桌面上,或安裝於任何其他位置。 清除此選項應該移除這些圖示、快捷方式和功能表項,不過,這些選項的行為完全由應用程式廠商決定。 Windows 不會控制在整個 UI 中啟用或移除存取的方式。 也請務必瞭解應用程式不需要註冊 設定程式存取和計算機預設值

電腦製造商

標題為「計算機製造商」的第四個類別可以出現在某些系統的 SPAD 視窗中。 計算機製造商可以選擇使用一組自定義預設值預先設定其計算機,並從自定義設定中可用的相同選項中選擇。 (為了說明目的,已註冊一組名為 LitWare 的應用程式,以便與所有用戶端類型搭配使用。用戶可以選擇 [計算機製造商 ] 選項,隨時返回計算機製造商的預設設定,如下列 Windows XP 螢幕快照所示。

注意

此設定不會出現在所有系統上。 如需詳細資訊,請參閱 OEM 預安裝套件 (OPK)。

 

設定程式存取和預設電腦製造商選項的螢幕快照

LastUserInitiatedDefaultChange 登錄值

LastUserInitiatedDefaultChange 值已新增至登錄,以協助應用程式辨識和尊重使用者的預設選項。 值會以 FILETIME 結構的形式保存REG_BINARY數據,其中包含用戶最後一次透過 [設定程式存取和計算機預設值] 工具變更預設選擇的日期和時間(以國際標準時間(UTC)為單位。 此值位於下列子機碼底下。

HKEY_LOCAL_MACHINE
   SOFTWARE
      Clients
         ClientTypeName
            LastUserInitiatedDefaultChange = FILETIME

下列案例會針對監視檔案關聯的應用程式使用此值。

  1. 應用程式會在內部記錄上次設定為其用戶端類型的預設程序的時間(在安裝時或稍後)。
  2. 應用程式會偵測其用戶端類型的預設程式已變更為本身以外的程式,或它所代表的應用程式(在背景協助程序的情況下)。 Windows 8 不支援。
  3. 應用程式會讀取 LastUserInitiatedDefaultChange 的值(上次使用者起始的預設變更時間戳),並將它與它儲存的時間戳值做為預設值。
  4. 如果 LastUserInitiatedDefaultChange 晚於應用程式的預存值,則該應用程式不應該採取任何動作,因為使用者透過 [設定程式存取和預設值 ] 工具明確要求變更。
  5. 應用程式不會再監視該檔案關聯,直到再次選擇為預設值為止。 Windows 8 不支援。

藉由遵守這類方案,使用者的願望會受到尊重,並維護其系統的最終擁有權。

篩選新增或移除程式清單

注意

本節適用於 Windows XP Service Pack 2 (SP2) 和更新版本,以及 Windows Server 2003 和更新版本。

 

在 Windows XP 和 Windows Server 2003 中,使用者可以篩選 [新增或移除程式] 底下的 [變更或移除程式] 索引標籤中顯示的應用程式清單,以排除應用程式更新的專案。 在這些版本的 Windows 中,這會透過視窗頂端的 [ 顯示更新 ] 複選框來完成。 預設不會選取 [顯示更新] 選項,因此除非使用者選擇顯示更新,否則不會顯示更新。 當 [新增或移除程式] 關閉時,複選框狀態的變更會持續存在;如果使用者選擇顯示更新,則會繼續顯示,直到使用者清除複選框為止。

注意

Windows XP SP2 更新本身是篩選的例外狀況。 不論複選框狀態為何,它一律都會顯示。

 

在 Windows Vista 和更新版本中,應用程式更新會顯示在單獨用於更新的個別頁面上,控制台 專用於更新。 當使用者按兩下 [檢視已安裝的更新 ] 工作連結時,會顯示此頁面。 沒有用戶可選取的選項可在與已安裝程式相同的頁面上顯示更新。 儘管 UI 有所變更,但註冊為已安裝程式更新的機制仍與舊版 Windows 相同。

使用 Windows Installer 的Microsoft和非Microsoft應用程式不需要執行任何進一步動作,才能將其更新辨識為更新。 不使用 Windows Installer 的非Microsoft應用程式必須在登錄中宣告特定值,以將其安裝視為現有程式的更新。

下列範例說明要宣告哪些登錄值,以便將安裝辨識為現有程式的更新。

  1. 父應用程式必須在 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall 子機碼下的子機碼中新增其卸載資訊。 如需使用 Uninstall 子機碼的詳細資訊,請參閱安裝主題。
  2. 每個父應用程式的更新也必須將其資訊新增為 Uninstall 子機碼的子機碼。 它應該使用其選擇的特定命名慣例,嘗試避免與其他程式的潛在衝突。 下列慣例會保留為子機碼名稱,Microsoft以搭配 Windows 更新使用。
    • IEUpdate
    • OEUpdate
    • “KB” 後面接著六位數,例如 “KB123456”
    • “Q” 後面接著六位數,例如 “Q123456”
    • 六位數,例如“123456”
  3. 除了為父應用程式新增的標準卸載資訊之外,每個更新的子機碼還必須包含下列三個專案的兩個。 其值的類型為 REG_SZ。
    • ParentKeyName。 數值是必要項。 這是在步驟 1 中宣告之父代子機碼的名稱。 這會將更新與程式產生關聯。
    • ParentDisplayName。 數值是必要項。 如果 ParentKeyName 中沒有名為 的子機碼相符,這個值會作為要顯示在 [新增或移除程式] 中的佔位符父程式。
    • InstallDate。 此為選用值。 它應該使用表單 yyyymmdd 來指定日期。 此日期用於 UI 中更新專案旁顯示的已安裝 On 資訊。 如果沒有 InstallDate 專案,或存在但未指派任何值,則會發生下列情況:
      • Windows Vista 和 Windows 7 以外的操作系統版本:不會顯示 [ 安裝] 資訊。
      • Windows Vista 和更新版本:使用預設日期。 這是該更新子機碼下任何專案的「上次修改」日期。 這通常是更新新增至登錄的一天。 不過,因為它是「上次修改」日期,因此任何子機碼專案的後續變更都會使 InstallDate 值變更為該變更的日期。

下列範例顯示 LitWare 豪華應用程式更新的相關登錄專案。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               Uninstall
                  LitWare
                     DisplayName = LitWare Deluxe
                     UninstallString = "C:\Program Files\LitWare\LitWare Deluxe\litware.exe" /uninstall
                  LitWare_Update123456
                     DisplayName = LitWare Deluxe Update 123456. Fixes printing problems.
                     UninstallString = "C:\Program Files\LitWare\LitWare Deluxe\Updates\123456.exe" /uninstall
                     ParentKeyName = LitWare
                     ParentDisplayName = LitWare Deluxe
                     InstallDate = 20050513

未提供適當登錄資訊的非Microsoft應用程式,例如在此選項可用之前產生的更新,會繼續正常顯示在已安裝的程式清單中,而且不會篩選掉。

Windows Vista 和 Windows 7 以外的作業系統版本中的更新篩選通常是使用者控制的設定,因此應用程式應該遵守這類設定。 不過,在企業環境中,系統管理員可以控制使用者是否可選擇透過 DontGroupPatches 登錄值篩選更新,如下列範例所示。

HKEY_LOCAL_MACHINE
   Software
      Microsoft
         Windows
            CurrentVersion
               policies
                  Uninstall
                     DontGroupPatches = 0 or 1

此值的類型為 REG_DWORD,並解譯如下。

DontGroupPatches 值 意義
0 [ 顯示更新] 複選框會顯示給使用者。 篩選取決於使用者是否已核取此方塊。
1 [ 顯示更新] 複選框會從 UI 中移除。 更新不會從清單中篩選。 此值基本上會還原為 Windows XP SP1 行為,然後 才引進 [顯示更新 ] 功能。
DontGroupPatches 專案不存在 這相當於將值設定為 0。

 

DontGroupPatches 在 Windows Vista 和 Windows 7 中沒有作用,其中 UI 不包含複選框,且已註冊的更新一律會經過篩選。

注意

原則只會由系統管理員設定。 應用程式不應該改變此值。 如需如何設定登錄型組策略的詳細資訊,請參閱 組策略Windows Server 組策略

 

其他資源

檔案關聯的最佳作法

檔案關聯範例案例

在 Windows Vista 和更新版本中管理預設應用程式的指導方針

預設程式