テスト用に署名されていない MSIX パッケージを作成する

Windows 11 以降では、開発者がパッケージに署名しなくても Powershell を使用してアプリをインストールできるようになりました。 この機能はテスト目的を目的としており、アプリを広く配布するために使用しないでください。 これは、開発者がアプリを簡単かつ迅速にテストしやすくするために役立ちます。

署名されていないパッケージを作成する方法

署名されていないパッケージは、マニフェスト ファイル内の ID 要素に特殊な OID (組織 ID) 値を含める必要があります。または、登録することはできません。 署名されていないパッケージは、署名されたパッケージと同じ ID を持つことはありません。 これにより、署名なしパッケージが署名付きパッケージの ID と競合したり、これをスプーフィングしたりするのを防止できます。

例:

...
  <Identity Name="NumberGuesserManifest"
    Publisher="CN=AppModelSamples, OID.2.25.311729368913984317654407730594956997722=1"
    Version="1.0.0.0" />
...

署名されていないパッケージのインストール

開発者は、署名されていないパッケージをインストールするときに PowerShell を管理者として実行し、Add-AppxPackage コマンドを実行するときに -AllowUnsigned フラグを渡す必要があります。 非管理者は、非実行可能ファイルが含まれている場合にのみ、署名されていないパッケージをインストールできます。 これは、ユーザーがイメージ、資産、コンテンツ、またはスクリプト ファイルのみを読み込む必要があるシナリオで役立ちます。

例:


    Add-AppPackage -Path ".\MyEmployees.appx" -AllowUnsigned
    

アプリを配布する準備ができたら、開発者はパッケージが署名されていることを確認する必要があります。 特別な OID を削除し、発行元名が証明書のサブジェクト名と同じであることを確認する必要があります。