Windows アプリの Windows 10 S 対応のテストTest your Windows app for Windows 10 S

Windows アプリをテストして、Windows 10 S を実行するデバイスでそのアプリが正しく動作することを確認できます。実際、Microsoft Store にアプリを公開する予定がある場合はこの作業を行わなければなりません。それが Microsoft Store 要件になっているためです。You can test your Windows app to ensure that it will operate correctly on devices that run Windows 10 S. In fact, if you plan to publish your app to the Microsoft Store, you must do this because it is a store requirement. アプリをテストするために、Windows 10 Pro を実行しているデバイスでは Device Guard コードの整合性ポリシーを適用できます。To test your app, you can apply a Device Guard Code Integrity policy on a device that is running Windows 10 Pro.

注意

Device Guard コードの整合性ポリシーを適用するデバイスでは、Windows 10 Creators Edition (10.0 ビルド 15063) 以降が実行されている必要があります。The device on which you apply the Device Guard Code Integrity policy must be running Windows 10 Creators Edition (10.0; Build 15063) or later.

Device Guard コードの整合性ポリシーは、Windows 10 S で実行するために従う必要のある規則がアプリに適用されます。The Device Guard Code Integrity policy enforces the rules that apps must conform to in order to run on Windows 10 S.

重要

これらのポリシーを仮想マシンに適用することをお勧めします。ただし、ローカル コンピューターに適用する場合は、ポリシーを適用する前に、このトピックの「次に、ポリシーをインストールしてシステムを再起動する」セクションに記載されているベスト プラクティスのガイダンスを確認してください。We recommend that you apply these policies to a virtual machine, but if you want to apply them to your local machine, make sure to review our best practice guidance in the "Next, install the policy and restart your system" section of this topic before you apply a policy.

まず、ポリシーをダウンロードして 1 つを選択するFirst, download the policies and then choose one

Device Guard コード整合性ポリシーは、こちらからダウンロードできます。Download the Device Guard Code Integrity policies here.

次に、最も希望に合うものを 1 つ選びます。Then, choose the one that makes the most sense to you. 各ポリシーの概要を以下に示します。Here's summary of each policy.

ポリシーPolicy 適用Enforcement 署名用の証明書Signing certificate ファイル名File name
監査モード ポリシーAudit mode policy 問題をログに記録/ブロックしないLogs issues / does not block ストアStore SiPolicy_Audit.p7bSiPolicy_Audit.p7b
実稼働モード ポリシーProduction mode policy Yes ストアStore SiPolicy_Enforced.p7bSiPolicy_Enforced.p7b
自己署名アプリを使用する実稼働モード ポリシーProduct mode policy with self-signed apps Yes AppX テスト証明書AppX Test Cert SiPolicy_DevModeEx_Enforced.p7bSiPolicy_DevModeEx_Enforced.p7b

監査モード ポリシーから開始することをお勧めします。We recommend that you start with audit mode policy. コードの整合性イベント ログを確認し、その情報を使用してアプリを調整することができます。You can review the Code Integrity Event Logs and use that information to help you make adjustments to your app. 最終的なテストの準備ができたら、実稼働モード ポリシーを適用します。Then, apply the Production mode policy when you're ready for final testing.

各ポリシーについて、もう少し詳しい情報を次に示します。Here’s a bit more information about each policy.

監査モード ポリシーAudit mode policy

このモードでは、Windows 10 S でサポートされていないタスクがアプリで実行される場合も、そのアプリを実行できます。実稼働でブロックされる実行可能ファイルは、Windows によってコード整合性イベント ログに記録されます。With this mode, your app runs even if it performs tasks that aren’t supported on Windows 10 S. Windows logs any executables that would have been blocked into the Code Integrity Event Logs.

これらのログを見つけるには、[イベント ビューアー] を開き、[アプリケーションとサービス ログ]、[Microsoft]、[Windows]、[CodeIntegrity]、[Operational] の順に移動します。You can find those logs by opening the Event Viewer, and then browsing to this location: Application and Services Logs->Microsoft->Windows->CodeIntegrity->Operational.

コードの整合性イベント ログ

このモードは安全であり、システムの起動を妨げません。This mode is safe and it won't prevent your system from starting.

(省略可能) 呼び出し履歴で特定の障害箇所を見つける(Optional) Find specific failure points in the call stack

呼び出し履歴でブロックに関する問題が発生している特定のポイントを見つけるには、次のレジストリ キーを追加してから、カーネル モード デバッグ環境をセットアップします。To find specific points in the call stack where blocking issues occur, add this registry key, and then set up a kernel-mode debugging environment.

キーKey 名前Name 種類Type Value
HKEY_LOCAL_MACHINE\SYSTEM\CurentControlSet\Control\CIHKEY_LOCAL_MACHINE\SYSTEM\CurentControlSet\Control\CI DebugFlagsDebugFlags REG_DWORDREG_DWORD 11

レジストリ設定

実稼働モード ポリシーProduction mode policy

このポリシーでは、Windows 10 S に合致するコード整合性規則が適用され、Windows 10 S での実行をシミュレートできます。これは最も厳しいポリシーであり、最終的な実稼働テストに適しています。This policy enforces code integrity rules that match Windows 10 S so that you can simulate running on Windows 10 S. This is the strictest policy, and it is great for final production testing. このモードでは、アプリへの制限が、ユーザーのデバイスでの制限と同じである必要があります。In this mode, your app is subject to the same restrictions as it would be subject to on a user's device. このモードを使用するには、Microsoft Store によるアプリへの署名が必要です。To use this mode, your app must be signed by the Microsoft Store.

自己署名アプリを使用する実稼働モード ポリシーProduction mode policy with self-signed apps

このモードは、実稼働モード ポリシーに似ていますが、zip ファイルに含まれているテスト証明書で署名されているアプリを実行できる点が異なります。This mode is similar to the Production mode policy, but it also allows things to run that are signed with the test certificate that is included in the zip file. この zip ファイル内にある AppxTestRootAgency フォルダーに含まれる PFX ファイルをインストールします。Install the PFX file that is included in the AppxTestRootAgency folder of this zip file. 次に、それを使用してアプリに署名します。Then, sign your app with it. この方法では、ストアによる署名を必要としないため、迅速に反復できます。That way, you can quickly iterate without requiring Store signing.

証明書の発行元名がアプリの発行者名と一致する必要があるため、Identity 要素の Publisher 属性の値を "CN=Appx Test Root Agency Ex" に一時的に変更する必要があります。Because the publisher name of your certificate must match the publisher name of your app, you'll have to temporarily change the value of the Identity element's Publisher attribute to "CN=Appx Test Root Agency Ex". テストの完了後に、この属性を元の値に戻すことができます。You can change that attribute back to it's original value after you've completed your tests.

次に、ポリシーをインストールしてシステムを再起動するNext, install the policy and restart your system

これらのポリシーは起動エラーを招く可能性があるため、仮想マシンに適用することをお勧めします。We recommend that you apply these policies to a virtual machine because these policies might lead to boot failures. エラーが発生するのは、ドライバーを含めて Microsoft Store によって署名されていないコードの実行がポリシーによってブロックされるためです。That's because these policies block the execution of code that isn't signed by the Microsoft Store, including drivers.

ローカル コンピューターにこれらのポリシーを適用する場合は、監査モード ポリシーから始めることをお勧めします。If you want to apply these policies to your local machine, it's best to start with the Audit mode policy. このポリシーでは、適用されたポリシーで重要なコードがブロックされないことをコード整合性イベント ログで確認できます。With this policy, you can review the Code Integrity Event Logs to ensure that nothing critical would be blocked in an enforced policy.

ポリシーを適用する準備ができたら、選択したポリシーに対応する .P7B ファイルを見つけて、SIPolicy.P7B という名前に変更したうえで、このファイルをシステム上の C:\Windows\System32\CodeIntegrity\ に保存します。When you're ready to apply a policy, find the .P7B file for the policy that you chose, rename it to SIPolicy.P7B, and then save that file to this location on your system: C:\Windows\System32\CodeIntegrity\.

システムを再起動します。Then, restart your system.

注意

システムからポリシーを削除するには、.P7B ファイルを削除してからシステムを再起動します。To remove a policy from your system, delete the .P7B file and then restart your system.

次のステップNext steps

質問に対する回答を見つけるFind answers to your questions

ご質問がある場合は、Have questions? Stack Overflow でお問い合わせください。Ask us on Stack Overflow. Microsoft のチームでは、これらのタグをチェックしています。Our team monitors these tags. こちらから質問することもできます。You can also ask us here.

フィードバックの提供または機能の提案を行うGive feedback or make feature suggestions

UserVoice のページをご覧ください。See UserVoice.

App Consult Team が投稿した詳細なブログ記事を確認するReview a detailed blog article that was posted by our App Consult Team

Windows 10 S でのデスクトップ ブリッジを使用した従来のデスクトップ アプリケーションの移植とテストに関する記事をご覧ください。See Porting and testing your classic desktop applications on Windows 10 S with the Desktop Bridge.

Windows S でのテストを容易にするツールについて理解するLearn about tools that make it easier to test for Windows S

APPX のアンパッケージ、変更、再パッケージ、署名に関する記事をご覧ください。See Unpackage, modify, repackage, sign an APPX.