プログラム アクセスとコンピューターの既定値の設定 (SPAD)
このトピックでは、コントロール パネルで見つかった Set Program Access and Computer Defaults (SPAD) 機能について説明します。 SPAD は、Windows Vista 以降のバージョンの Windows の Default Programs コントロール パネル 項目の下にあります。 Windows XP では、 [プログラムの追加と削除] 項目に配置され、「 プログラムのアクセスと既定値の設定」というタイトル。
重要
このトピックは、Windows 10 には適用されません。 Windows 10 で既定のファイルの関連付けが機能する方法が変更されました。 詳細については、のセクションを参照してくださいWindows 10 が既定のアプリを処理する方法についてこの記事。
プログラム アクセスとコンピューターの既定の設定ツールの使用
Note
Windows 8 の時点で、SPAD は現在のユーザーに対してユーザーごとに既定値を構成します。 Windows 8 より前では、SPAD はコンピューターごとに既定値を設定します。 ユーザーごとの既定値がまだユーザーによって構成されていない場合、システムは、コンピューターごとの既定値にフォールバックするのではなく、ユーザーごとの既定値を設定するように求められます。 以前にユーザーごとの既定値を設定していた場合、コンピューターごとの既定値が Windows Vista および Windows 7 のユーザーに表示されなかった可能性があります。これは、ユーザーごとの既定値がそれらのオペレーティング システムのコンピューターごとの既定値をオーバーライドするためです。
Windows XP では、Set Program Access と Defaults は、コントロール パネルの [ プログラムの追加と削除]項目のオプションとして見つかるツールです。 Windows Vista 以降では、Default Programs コントロール パネル 項目の下にあります。 登録プログラムの場合は、次の関数を実行します。
- クライアントの種類ごとに既定のプログラムを選択できるようにします (最大 Windows 7 のみ)。
- プログラムのアイコン、ショートカット、およびメニュー エントリの表示を制御できるようにします。
- プリセットの既定のプログラムの選択肢のセットを提供します。 (Windows XP Service Pack 1 (SP1) のみ)
このツールは、次の 5 種類のクライアントに使用されます。
- Browser
- メール
- インスタント メッセージング プログラム
- メディア プレーヤー
- Java 用の仮想マシン
プログラム アクセスとコンピューターの既定値の設定の概要
Windows 8 Set Program Access と Computer Defaults ページが次のスクリーン ショットに表示されます。
3 つの構成オプションがユーザーに表示され、OEM が "Computer Manufacturer" というタイトルの 4 番目のオプションを提示するオプションが表示されます。
Microsoft Windows
Microsoft Windows 構成は、次のスクリーン ショットに示すように、Windows で提供される既定のプログラムのセットで構成されます。
Microsoft Windows 構成を選択すると、5 つのクライアントの種類のいずれかに登録されている各プログラムのアイコン、ショートカット、またはメニュー エントリを表示することもできます。 これらのアイコン、ショートカット、およびメニュー エントリは、 Start メニューまたはスタート画面、デスクトップ、および追加されたその他すべての場所で使用できます。
Microsoft 以外
次のスクリーン ショットに示す Non-Microsoft 構成は、Microsoft によって生成されないユーザーのシステム上の登録済みアプリケーションに使用されます。 これらのアプリケーションは、ユーザーのシステムにプレインストールすることも、ユーザーがインストールした Microsoft 以外のアプリケーションにすることもできます。
Note
このページに表示するには、アプリケーションを登録する必要があります。 アプリケーションを登録する手順については、「 クライアントの種類でプログラムを登録するを参照してください。
Non-Microsoft オプションを選択すると、Microsoft Windows 構成に記載されているすべてのクライアントの種類の Microsoft プログラムのアイコン、ショートカット、メニュー エントリへのアクセスも削除されます。 これらの Microsoft のアイコン、ショートカット、およびメニュー エントリは、 Start メニュー、デスクトップ、および追加されたその他の場所から削除されます。
Custom
次のスクリーン ショットに示す Custom 構成を使用すると、ユーザーは、5 つのクライアントの種類の既定の可能性として登録されている Microsoft と Microsoft 以外のプログラムの任意の組み合わせを使用してシステムをカスタマイズできます。 これは、Windows 2000 Service Pack 3 (SP3) で使用できる 4 つのオプションのうちの 1 つだけです。
Microsoft Windows および Non-Microsoft 構成に表示されるすべてのオプションは、Custom セクションのユーザーと、Windows に含まれていない追加でインストールされた Microsoft アプリケーションで使用できます。 前のスクリーン ショットに示すように現在の Web ブラウザーを使用すると、ラジオ ボタンが事前に選択されます。 UI から現在の既定のブラウザーを特定する方法はありません。 Windows での Web リンクまたはファイルの呼び出しは、現在の既定のブラウザーを検出する唯一の方法です。
ユーザーがプログラムの [プログラムへのアクセスを有効にする] チェック ボックスをオンにすると、そのプログラムのアイコン、ショートカット、メニュー エントリが、スタート メニューまたはスタート画面、デスクトップ、またはインストールされたその他の場所に表示されます。 このオプションをオフにすると、これらのアイコン、ショートカット、およびメニュー エントリが削除されますが、これらのオプションの動作はアプリケーション ベンダーによって完全に行われます。 Windows では、UI 全体でアクセスを有効または削除する方法は制御されません。 また、アプリケーションが Set Program Access と Computer Defaults に登録する必要はないことを理解することも重要です。
[コンピュータの製造元]
"Computer Manufacturer" というタイトルの 4 番目のカテゴリは、一部のシステムの SPAD ウィンドウに表示されます。 コンピューターの製造元は、 Custom 構成で使用できるのと同じ選択から選択して、既定のカスタム セットでコンピューターを事前構成することを選択できます。 (説明を目的として、LitWare と呼ばれる架空のアプリケーション のセットは、すべてのクライアントの種類で使用するために登録されています)。ユーザーは、次の Windows XP スクリーン ショットに示すように Computer Manufacturer オプションを選択することで、いつでもコンピューターの製造元の既定の構成に戻ることができます。
Note
この構成は、すべてのシステムに表示されるわけではありません。 詳細については、OEM プレインストール キット (OPK) を参照してください。
LastUserInitiatedDefaultChange レジストリ値
LastUserInitiatedDefaultChange 値がレジストリに追加され、アプリケーションがユーザーの既定の選択肢を認識して尊重するのを支援します。 この値はREG_BINARYデータを FILETIME 構造体の形式で保持します。この構造体には、ユーザーが Set Program Access と Computer Defaults ツールを使用して既定の選択を最後に変更した日時 (UTC) が含まれます。 この値は、次のサブキーの下にあります。
HKEY_LOCAL_MACHINE
SOFTWARE
Clients
ClientTypeName
LastUserInitiatedDefaultChange = FILETIME
次のシナリオでは、ファイルの関連付けを監視するアプリケーションにこの値を使用します。
- アプリケーションは、クライアントの種類 (インストール時または後で) の既定のプログラムとして最後に設定された時刻を内部的に記録します。
- アプリケーションは、クライアントの種類の既定のプログラムが、それ自体またはそれが表すアプリケーション以外のプログラム (バックグラウンド ヘルパー プログラムの場合) に変更されたことを検出します。 Windows 8 ではサポートされていません。
- アプリケーションは LastUserInitiatedDefaultChange (ユーザーが開始した最後の既定の変更のタイム スタンプ) の値を読み取り、既定として独自に選択するために保存したタイム スタンプ値と比較します。
- LastUserInitiatedDefaultChange がアプリケーションの格納された値より後の場合は、 Set Program Access と Defaults ツールを使用してユーザーが変更を明示的に要求したため、そのアプリケーションでアクションを実行する必要はありません。
- アプリケーションは、既定として再び選択されるまで、そのファイルの関連付けを監視しなくなりました。 Windows 8 ではサポートされていません。
このようなスキームに従うことで、ユーザーの希望が尊重され、システムの最終的な所有権が維持されます。
[プログラムの追加と削除] リストのフィルター処理
Note
このセクションは、Windows XP Service Pack 2 (SP2) 以降および Windows Server 2003 以降に適用されます。
Windows XP および Windows Server 2003 では、Change または [プログラムの削除] タブに表示されるアプリケーションの一覧プログラムの追加または削除アプリケーション更新プログラムのエントリを除外するようにユーザーがフィルター処理できます。 これらのバージョンの Windows では、これはウィンドウの上部にある Show 更新プログラム チェック ボックスを使用して実現されます。 Show updates オプションは既定では選択されていないため、更新プログラムはされませんユーザーが表示することを選択しない限り表示されます。 プログラムの追加と削除が閉じられると、チェック ボックスの状態の変更は保持されます。ユーザーが更新プログラムを表示することを選択した場合、ユーザーがチェック ボックスをオフにするまで表示されます。
Note
Windows XP SP2 更新プログラム自体は、フィルター処理の例外です。 チェック ボックスの状態に関係なく、常に表示されます。
Windows Vista 以降では、アプリケーションの更新プログラムは、更新プログラム専用のコントロール パネル別のページに表示されます。 このページは、ユーザーが View インストール済み更新プログラム タスク リンクをクリックしたときに表示されます。 インストールされているプログラムと同じページに更新プログラムを表示するユーザーが選択できるオプションはありません。 UI の変更にもかかわらず、インストールされているプログラムの更新プログラムとして登録するメカニズムは、以前のバージョンの Windows と同じままです。
Windows インストーラーを使用する Microsoft および Microsoft 以外のアプリケーションでは、更新プログラムを更新プログラムとして認識するために、それ以上何もする必要はありません。 Windows インストーラーを使用しない Microsoft 以外のアプリケーションでは、既存のプログラムの更新プログラムとして認識されるように、インストールの一部としてレジストリ内の特定の値を宣言する必要があります。
次の例は、インストールを既存のプログラムの更新プログラムとして認識するために宣言するレジストリ値を示しています。
- 親アプリケーションは、 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall サブキーの下のサブキーにアンインストール情報を追加する必要があります。 Uninstall サブキーの使用の詳細については、Installation トピックを参照してください。
- その親アプリケーションに対する各更新では、その情報を Uninstall サブキーのサブキーとして追加する必要もあります。 他のプログラムとの潜在的な競合を回避するために、選択した特定の名前付け規則を使用する必要があります。 次の規則は、Windows 更新プログラムで使用するために Microsoft によってサブキー名として予約されています。
- IEUpdate
- OEUpdate
- "KB" の後に 6 桁の数字 (例: "KB123456"
- "Q" の後に 6 桁の数字 (例: "Q123456"
- 6 桁の数字 (例: "123456"
- 親アプリケーションに追加される標準のアンインストール情報に加えて、各更新プログラムのサブキーには、次の 3 つのエントリのうち 2 つを追加する必要があります。 値はREG_SZ型です。
- ParentKeyName。 この値は必須です。 これは、手順 1 で宣言された親のサブキーの名前です。 これにより、更新プログラムがプログラムに関連付けられます。
- ParentDisplayName。 この値は必須です。 ParentKeyName で指定されたサブキーと一致するサブキーがない場合、この値は、 Add または Remove Programs に表示されるプレースホルダーの親プログラムとして使用されます。
- InstallDate。 この値は省略可能です。 フォーム
yyyymmdd
を使用して日付を指定する必要があります。 この日付は、UI の更新プログラムのエントリの横に表示される Installed On 情報に使用されます。 InstallDate エントリがない場合、またはエントリが存在するが値が割り当てられていない場合は、次の処理が行われます。- Windows Vista および Windows 7 以外のオペレーティング システムのバージョン: インストールされていません 情報が表示されます。
- Windows Vista 以降: 既定の日付が使用されます。 これは、その更新プログラムのサブキーの下にあるエントリの "最終更新日" です。 これは通常、更新プログラムがレジストリに追加された日です。 ただし、これは "最終変更日" であるため、サブキーのエントリをそれ以降変更すると、InstallDate 値がその変更日に変更されます。
次の例は、LitWare Deluxe アプリケーションの更新に関連するレジストリ エントリを示しています。
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 | Show の更新チェック ボックスがユーザーに表示されます。 フィルター処理は、ユーザーがこのボックスをオンにしているかどうかによって異なります。 |
1 | [ Show の更新 ] チェック ボックスが UI から削除されます。 更新プログラムは一覧からフィルター処理されません。 この値は基本的に、 Show の更新 機能が導入される前に、Windows XP SP1 の動作に戻ります。 |
DontGroupPatches エントリが存在しません | これは、値を 0 に設定することと同じです。 |
DontGroupPatches は Windows Vista および Windows 7 では効果がありません。UI にはチェック ボックスが含まれており、登録されている更新プログラムは常にフィルター処理されます。
Note
ポリシーは管理者のみが設定します。 アプリケーションでは、この値を変更しないでください。 レジストリ ベースのグループ ポリシーを設定する方法の詳細については、「 グループ ポリシー または Windows Server グループ ポリシーを参照してください。
その他のリソース
関連トピック