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

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

重要

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

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

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

  • ps.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. ps.inf ファイルの PrinterHardwareId をハードウェア ID または互換性 ID で更新します。

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

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

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

ps.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"

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
名前 ハードウェア ID または互換性 ID
Type REG_SZ
Value PSA AUMID、例: "dd5de805-d9bb-4785-88e9-399cbff2130e_ph1m9x8skttmg!App"

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

P S A key in registry editor

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

P S A key in edit multi string dialog

ユニバーサル印刷での 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 属性です。

printer device id I P P attribute from the printer properties dialog

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

Windows.Devices.Printers

Windows.Graphics.Printing.PrintSupport

Windows.Graphics.Printing.Workflow

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