次の方法で共有


印刷サポート アプリの関連付け

この記事のガイダンスに従って印刷サポート アプリを設定し、プリンターに関連付けます。

重要

Windows 11 SDK (22000.1) のリリース以降、プリンター用の UWP アプリ開発に推奨される方法は印刷サポート アプリ (PSA) です。 印刷デバイス用の印刷サポート アプリを開発するには、Windows 11 SDK (22000.1) をダウンロードしてインストールします。

この記事では、次のタスクについて説明します。

  • プリンターのハードウェア ID または互換性 ID を見つける

  • psa.inf 拡張 INF ファイルを準備する

  • Windows 11 PC に psa.inf 拡張 INF ファイルをインストールする

  • エンタープライズおよびビジネスのお客様向けの PSA 関連付けのオーバーライド

  • ユニバーサル印刷で PSA を使用する

プリンターを設定し、ハードウェア ID または互換性 ID を見つける

印刷サポート アプリ (PSA) は、ハードウェア ID または互換性 ID を使用して、プリンター キューに関連付けられます。

プリンターのハードウェア ID と互換性 ID を見つけるには、次の手順に従います。

  1. IPP プリンターを Windows 11 PC に接続します。

  2. Windows 11 の設定アプリの [Bluetooth とデバイス] を選択します。

  3. [Bluetooth とデバイス] ページで、[プリンターとスキャナー] を選択します。

  4. IPP プリンターを選択します。

  5. [IPP プリンター] ページで、[ハードウェアのプロパティ] を選択します。

  6. [プリンター ハードウェアのプロパティ] ダイアログで、[設定] タブを選択します。

  7. [デバイスとプリンター フォルダー] を選択します。

  8. IPP プリンターを右クリックし、コンテキスト メニューから [プロパティ] を選択します。

  9. [ハードウェア] タブの [デバイスの機能] の一覧で [Microsoft IPP クラス ドライバー] を選択し、[プロパティ] ボタンを選択します。

  10. [Microsoft IPP クラス ドライバーのプロパティ] ダイアログで、[詳細] タブを選択します。

  11. [プロパティ] ドロップダウン リストで、[ハードウェア ID] (または [互換性 ID]) を選択します。

  12. [値] 一覧のハードウェア ID 文字列 ("PSA_" で始まる) をコピーします。 拡張 INF、または互換性 ID ("PSA_" で始まらない) の場合はこれが必要です。

PSA 拡張 INF ファイルを準備する

PSA は、拡張 INF ファイルを使用してプリンターに関連付けられます。

次の手順に沿って、拡張 INF ファイルを作成してテストします。

  1. INF ファイルの開始点として、次に示す psa.inf サンプル拡張 INF をコピーします。

  2. psa.inf ファイルの PrinterHardwareId を、実際のハードウェア ID または互換性 ID で更新します。

  3. PSA アプリケーションの PackageFamilyNameAUMID (AppUserModeId) を更新します。

  4. カタログ ファイルを作成します。

  5. psa.cat ファイル サンプル拡張 INF に署名します。

psa.inf サンプル拡張 INF ファイル

[Version]
Signature = "$WINDOWS NT$"
Class = Extension
ClassGuid = {e2f84ce7-8efa-411c-aa69-97454ca4cb57}
Provider = %ManufacturerName%
ExtensionId = {D4D9196A-105B-4B76-B693-84BD33A7A703}
CatalogFile = psa.cat
DriverVer = 05/19/2020,16.35.13.542
PnpLockdown = 1

[Manufacturer]
%ManufacturerName% = Microsoft, NTamd64.6.3

[Microsoft.NTamd64.6.3]
%Device.ExtensionDesc% = PSA-Install, %PrinterHardwareId%
%Device.ExtensionDesc% = PSA-Install, %PrinterHardwareId2%
%Device.ExtensionDesc% = PSA-Install, %PrinterHardwareId3%

[PSA-Install.NT]
AddProperty = Add-PSA-Property

[PSA-Install.NT.Software]
AddSoftware = %SoftwareName%,, Microsoft-PSA-SoftwareInstall

[Microsoft-PSA-SoftwareInstall]
SoftwareType = %MicrosoftStoreType%
SoftwareID = pfn://%PackageFamilyName%

[Add-PSA-Property]
{A925764B-88E0-426D-AFC5-B39768BE59EB}, 1, 0x12,, %AUMID%

[Strings]
ManufacturerName = "Microsoft"
SoftwareName = "Microsoft Print Support App"
Device.ExtensionDesc = "Print Support App Extension"
MicrosoftStoreType = 2
PackageFamilyName = "dd5de805-d9bb-4785-88e9-399cbff2130e_ph1m9x8skttmg"
AUMID = "dd5de805-d9bb-4785-88e9-399cbff2130e_ph1m9x8skttmg!App"
PrinterHardwareId = "PSA_CanoniP110_seriesD84F"
PrinterHardwareId2 = "PSA_XeroxAltaLink_B8055C036"
PrinterHardwareId3 = "PSA_BrotherMFC-J775DWF678"

Note

{A925764B-88E0-426D-AFC5-B39768BE59EB}, 1 は、INF を使用するプリンターの PSA 関連付けプロセスで使用される定義済みのプロパティです。

Windows 11 で拡張 INF をテストし、インストールする

  1. 自己署名証明書を使用して .cat ファイルに署名した場合は、ルート証明書を信頼されたストアにインポートします。

  2. 管理者特権のコマンド プロンプトを開き、次のコマンドを実行します。

    pnputil.exe /add-driver psa.inf
    

エンタープライズおよびビジネスのお客様向けの PSA 関連付けのオーバーライド

一般ユーザーおよびホーム ユーザーの場合、PSA は Microsoft Store からダウンロードされ、プリンターのハードウェア ID または互換性 ID に基づいてインストールされます。 プリンター製造元の PSA の使用が選択されていれば、エンタープライズ ユーザーおよびビジネス ユーザーに対しても、この機能がサポートされます。 関連付けは、プリンターの製造元が Windows Update で公開している拡張 INF で制御されます。

エンタープライズとビジネスのお客様は、ビジネス ロジックの PSA (基幹業務アプリなど) を使用することにした場合、拡張 INF の関連付けをオーバーライドする必要がある場合があります。 ビジネス ロジックが組み込まれているカスタム PSA をデプロイして関連付ける必要があります。 ビジネス ロジックの例には、印刷のクォータとコストの管理や印刷ポリシー (色なし、または片面印刷なし) があります。

レジストリ キーを使用して、拡張 INF からの PSA 関連付けをオーバーライドできます。 このレジストリ キー メソッドは、Windows プリント サーバー (ポイント アンド プリント) とユニバーサル印刷を使用する企業のお客様の場合に使用できます。

PSA の関連付け方法のランキングを次に示します。

  1. プリンター製造元のカスタム v3/v4 ドライバーが Windows Update からダウンロードされます (PSA は使用されません)

  2. レジストリ キーを使用して PSA を関連付けます

  3. 拡張 INF を使用して PSA を関連付けます

  4. PSA を使用しない IPP 印刷

エンタープライズのお客様は、Microsoft Endpoint Manager を使用してレジストリ キーを配布することをお勧めします。 Endpoint Manager を使用して、カスタムの PSA をデプロイすることもできます。

レジストリ キーは次のように定義されます。

キー項目 Value
レジストリ キーのパス HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PSA\Association
Name ハードウェア ID または互換性 ID
Type REG_SZ
Value PSA AUMID、例: "dd5de805-d9bb-4785-88e9-399cbff2130e_ph1m9x8skttmg!App"

レジストリ エディター内の PSA キー:

レジストリ エディター内の P S A キー

[複数文字列の編集] ダイアログの [値の名前][値のデータ]:

複数行文字列の編集ダイアログの P S A キー

ユニバーサル印刷での PSA の使用

ユニバーサル印刷をネイティブにサポートするプリンターに PSA を関連付けることができます。

重要

ユニバーサル印刷コネクタを使用するプリンターは、PSA での使用について、Microsoft でサポートされていません。 ただし一部のインスタンスでは、ユニバーサル印刷コネクタを使用するプリンターは、PSA とプリンター ハードウェアを提供する相手先ブランド供給 ("OEM") によってサポートされる場合があります。 OEM にお問い合わせください。 この OEM の有効化とサポートに関連する問題は、Microsoft ではなく、OEM が対応します。

ユニバーサル印刷プリンターのハードウェア ID は、ローカル IPP プリンターと同様に、Windows 11 の設定アプリで確認できます。

  1. Windows 11 の設定アプリの [Bluetooth とデバイス] を選択します。

  2. [Bluetooth とデバイス] ページで、[プリンターとスキャナー] を選択します。

  3. ユニバーサル印刷プリンターを選択します。

  4. [ユニバーサル印刷プリンター] ページで、[ハードウェアのプロパティ] を選択します。

  5. [プリンター ハードウェアのプロパティ] ダイアログで、[設定] タブを選択します。

  6. [デバイスとプリンター フォルダー] を選択します。

  7. プリンターを右クリックし、コンテキスト メニューから [プロパティ] を選択します。

  8. [ハードウェア] タブの [デバイスの機能] の一覧で [ユニバーサル印刷クラス ドライバー] を選択し、[プロパティ] ボタンを選択します。

  9. [プロパティ] ダイアログで、[詳細] タブを選択します。

  10. [プロパティ] ドロップダウンの一覧で、[ハードウェア ID] を選択します。

ハードウェア ID は、プリンターの printer-device-id IPP 属性です。

プリンターのプロパティ ダイアログのプリンター デバイス ID の I P P 属性

印刷サポート アプリの設計ガイド

Windows.Devices.Printers

Windows.Graphics.Printing.PrintSupport

Windows.Graphics.Printing.Workflow

インターネット印刷プロトコル (IPP) の仕様