Windows アプリをテストして、Windows 10 を S モードで実行するデバイスで正しく動作することを確認できます。 実際、アプリを Microsoft Store に発行する予定がある場合は、ストアの要件であるため、これを行う必要があります。 アプリをテストするには、Windows 10 Pro を実行しているデバイスに Windows Defender アプリケーション制御 (WDAC) ポリシーを適用します。
WDAC ポリシーは、Windows 10 S で実行するためにアプリが準拠する必要がある規則を適用します。
重要
これらのポリシーを仮想マシンに適用することをお勧めしますが、ローカル コンピューターに適用する場合は、ポリシーを適用する前に、このトピックの「次にポリシーをインストールしてシステムを再起動する」セクションのベスト プラクティス ガイダンスを確認してください。
まず、ポリシーをダウンロードし、1 つを選択します
WDAC ポリシー は、ここからダウンロードしてください。
次に、最も意味のあるものを選択します。 各ポリシーの概要を次に示します。
| ポリシー | 強制 | 署名証明書 | ファイル名 |
|---|---|---|---|
| 監査モード ポリシー | 問題をログに記録/ブロックしない | ストア | SiPolicy_Audit.p7b |
| 運用モード ポリシー | イエス | ストア | SiPolicy_Enforced.p7b |
| 自己署名アプリを使用する実稼働モード ポリシー | イエス | AppX テスト証明書 | SiPolicy_DevModeEx_Enforced.p7b |
最初に監査モード ポリシーを使用することをお勧めします。 コード整合性イベント ログを確認し、その情報を使用して、アプリの調整に役立ちます。 次に、最終テストの準備ができたら、運用モード ポリシーを適用します。
各ポリシーの詳細を次に示します。
監査モード ポリシー
このモードでは、Windows 10 S でサポートされていないタスクを実行した場合でもアプリが実行されます。Windows では、コード整合性イベント ログにブロックされていた実行可能ファイルがログに記録されます。
これらのログを見つけるには、 イベント ビューアーを開き、次の場所を参照します。Application and Services Logs->Microsoft->Windows->CodeIntegrity->Operational。
このモードは安全であり、システムの起動を妨げることはありません。
(省略可能)呼び出し履歴内の特定の障害ポイントを検索する
ブロックの問題が発生する呼び出し履歴内の特定のポイントを検索するには、このレジストリ キーを追加し、 カーネル モードデバッグ環境を設定します。
| 鍵 | 名前 | タイプ | 価値 |
|---|---|---|---|
| HKEY_LOCAL_MACHINE\SYSTEM\CurentControlSet\Control\CI | デバッグフラグ | REG_DWORD | 1 |
運用モード ポリシー
このポリシーでは、Windows 10 S での実行をシミュレートできるように、Windows 10 S に一致するコード整合性規則が適用されます。これは最も厳密なポリシーであり、最終的な運用テストに最適です。 このモードでは、アプリはユーザーのデバイスで適用されるのと同じ制限を受けます。 このモードを使用するには、アプリが Microsoft Store によって署名されている必要があります。
自己署名アプリを使用する実稼働モード ポリシー
このモードは運用モード ポリシーに似ていますが、zip ファイルに含まれているテスト証明書で署名された動作を実行することもできます。 この zip ファイルの AppxTestRootAgency フォルダーに含まれている PFX ファイルをインストールします。 次に、それを使ってアプリに署名します。 そうすることで、ストアの署名を必要とせずに、すばやく反復処理できます。
証明書の発行元名はアプリの発行元名と一致する必要があるため、 Identity 要素の Publisher 属性の値を一時的に "CN=Appx Test Root Agency Ex" に変更する必要があります。 テストを完了した後、その属性を元の値に戻すことができます。
次に、ポリシーをインストールし、システムを再起動します
これらのポリシーは起動エラーにつながる可能性があるため、これらのポリシーを仮想マシンに適用することをお勧めします。 これは、これらのポリシーによって、ドライバーを含む Microsoft Store によって署名されていないコードの実行がブロックされるためです。
これらのポリシーをローカル コンピューターに適用する場合は、監査モード ポリシーから開始することをお勧めします。 このポリシーを使用すると、コード整合性イベント ログを確認して、適用されたポリシーで重要なものがブロックされないようにすることができます。
ポリシーを適用する準備ができたら、選択したポリシーの P7B ファイルの名前を SIPolicy.P7B に変更し、そのファイルをシステム上の次の場所 ( C:\Windows\System32\CodeIntegrity\) に保存します。
次に、システムを再起動します。
注
システムからポリシーを削除するには、P7B ファイルを開き、システムを再起動します。
次のステップ
質問に対する回答を見つける
質問がありますか? Stack Overflow についてお問い合わせください。 私たちのチームはこれらの タグを監視しています。
アプリ 相談チームによって投稿された詳細なブログ記事を確認する
デスクトップ ブリッジを使用した Windows 10 S でのデスクトップ アプリケーションの移植とテストを参照してください。
S モードで Windows のテストを容易にするツールについて説明します
APPX の パッケージ解除、変更、再パッケージ化、署名に関するページを参照してください。