署名されていない 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 を実行する必要があります。 詳細については、以下を参照してください。

  • 署名されていないパッケージをインストールするには、フラグを -AllowUnsigned Add-AppxPackage コマンドに渡します。
  • ほとんどのシナリオでは、署名されていないパッケージには実行可能なコンテンツが含まれます。管理者として PowerShell を実行する必要があります。 これは、実行可能なコンテンツを含む署名されていないパッケージをすべてのユーザーにインストールする必要があるためです。 これは現在のユーザー以上に影響を与える可能性があるため、管理者特権が必要です。
  • 署名されていないパッケージに実行可能でないコンテンツのみが含まれている場合 (たとえば、イメージ、アセット、その他のコンテンツ、またはスクリプト ファイルのみを読み込む必要がある場合)、管理者特権は 必要なく 、管理者以外はパッケージをインストールできます。

構文の例を次に示します。

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

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