Windows デスクトップ ブリッジ アプリのテストWindows Desktop Bridge app tests

デスクトップ ブリッジ アプリWindows デスクトップ アプリケーションを使用してユニバーサル Windows プラットフォーム (UWP) アプリに変換されて、デスクトップ ブリッジします。Desktop Bridge Apps are Windows desktop applications converted to Universal Windows Platform (UWP) apps using the Desktop Bridge. Windows デスクトップ アプリケーションは、変換後、Windows 10 デスクトップをターゲットとする UWP アプリ パッケージ (.appx または .appxbundle) の形式でパッケージ化され、処理と展開が行われます。After conversion, the Windows desktop application is packaged, serviced, and deployed in the form of a UWP app package (a .appx or .appxbundle) targeting Windows 10 Desktop.

必須のテストとオプションのテストRequired versus optional tests

Windows デスクトップ ブリッジ アプリの省略可能なテストは情報提供のみと、Microsoft Store オンボード中に、アプリを評価するには使用されません。Optional tests for Windows Desktop Bridge apps are informational only and will not be used to evaluate your app during Microsoft Store onboarding. 調査をお勧めします。 これらのテスト結果をより適切な品質のアプリを生成します。We recommend investigating these test results to produce better quality apps. ストアの配布準備の全体的な合格/不合格の基準は、これらのオプションのテストではなく、必須のテストで決定されます。The overall pass/fail criteria for store onboarding is determined by the required tests and not by these optional tests.

現在のオプションのテストCurrent optional tests

1. ファイルのテストをデジタル署名1. Digitally signed file test

背景情報Background
このテストでは、すべてのポータブル実行可能ファイル (PE) ファイルに有効な署名が含まれていることを確認します。This test verifies that all portable executable (PE) files contain a valid signature. デジタル署名されたファイルの存在によって、ユーザーはソフトウェアが正規品であると知ることができます。The presence of digitally signed files allows users to know that the software is genuine.

テストの詳細Test details
テストでは、パッケージ内のすべてのポータブル実行可能ファイルをスキャンし、そのヘッダーの署名を確認します。The test scans all of the portable executable files in the package and checks their headers for a signature. すべての PE ファイルがデジタル署名されていることを推奨します。All the PE files are recommended to be digitally signed. PE ファイルのいずれかが署名されていない場合、警告が生成されます。A warning will be generated if any of the PE files is not signed.

是正措置Corrective actions
ファイルにデジタル署名することを常にお勧めします。Having digitally signed files is always recommended. 詳しくは、「コード署名の概要」をご覧ください。For more information, see Introduction to Code Signing.

2. ファイルの関連付けの動詞2. File association verbs

背景情報Background
このテストでは、パッケージのレジストリをスキャンして、任意のファイルの関連付け動詞が登録されているかどうかを確認します。This test scans the package registry to check if any file association verbs are registered.

テストの詳細Test details
変換されたデスクトップ アプリケーションは、幅広いユニバーサル Windows プラットフォーム API を使用して拡張できます。Converted desktop apps can be enhanced with a wide range of Universal Windows Platform APIs. このテストでは、アプリ内の UWP バイナリが UWP 以外の API を呼び出していないことを確認します。This test checks that the UWP binaries in the app don’t call non-UWP APIs. UWP バイナリでは、AppContainer フラグが設定されています。UWP binaries have the AppContainer flag set.

是正措置Corrective actions
参照してくださいUWP ブリッジにデスクトップ。App エクス テンションこれらの拡張機能と適切に使用する方法の詳細についてはします。See Desktop to UWP Bridge: App extensions for an explanation of these extensions and how to use them properly.

3.デバッグ構成のテスト3. Debug configuration test

このテストでは、appx がデバッグ ビルドではないことを確認します。This test verifies that the appx is not a debug build.

背景情報Background
Microsoft Store の認定する場合にアプリする必要がありますがコンパイルされずデバッグ用、いない実行可能ファイルのデバッグ バージョンを参照する必要があります。To be certified for the Microsoft Store, apps must not be compiled for debug and they must not reference debug versions of an executable file. また、アプリがこのテストに合格するよう最適化されたコードをビルドする必要もあります。In addition, you must build your code as optimized for your app to pass this test.

テストの詳細Test details
アプリをテストして、デバッグ用のビルドでないことと、どのデバッグ用のフレームワークにもリンクされていないことを確認します。Test the app to make sure it is not a debug build and is not linked to any debug frameworks.

是正措置Corrective actions

  • Microsoft Store に提出する前に、リリース ビルドとして、アプリをビルドします。Build the app as a release build before you submit it to the Microsoft Store.
  • 適切なバージョンの .NET フレームワークがインストールされていることを確認します。Make sure that you have the correct version of .NET framework installed.
  • アプリがフレームワークのデバッグ バージョンにリンクされていないことと、リリース バージョンで構築されたことを確認します。Make sure the app isn't linking to debug versions of a framework and that it is building with a release version. このアプリに .NET コンポーネントが含まれている場合は、適切なバージョンの .NET Framework がインストールされていることを確認します。If this app contains .NET components, make sure that you have installed the correct version of the .NET framework.

4。パッケージのサニティ テスト4. Package sanity test

4.1 アーカイブ ファイルの使用状況4.1 Archive files usage

背景情報Background
このテストは、Windows 10 S コンピューターで動作するデスクトップ ブリッジ アプリの質を高めるために役立ちます。This test helps you build better Desktop Bridge Apps to run on Windows 10 S machines.

テストの詳細Test details
このテストでは、アーカイブ ファイルや自己展開型コンテンツに含まれている実行可能ファイルをすべてチェックします。This test checks for all executable files inside of archived files or self-extracting content. このような種類のコンテンツに格納されている実行可能ファイルは、Windows ストアへのオンボード時に署名されないため、Windows 10 S システムではアプリが期待どおりに動作しない場合があります。As executable files contained within this type of content are not signed during onboarding to Windows store, the app might not run as expected on Windows 10 S systems.

是正措置Corrective actions

  • テストによってフラグ付けされたファイルを評価して、Windows 10 S 環境で実行した場合にアプリに影響がないかどうかを確認します。Consider evaluating the files flagged by the test to determine if there is impact to your app running in a Windows 10 S environment.
  • アプリが影響を受ける場合は、アーカイブ ファイルから実行可能ファイルを削除します。また、自己展開型アーカイブを使って実行可能ファイルをディスク上に配置しないようにします。If your app would be affected, remove the executable files from the archived files and do not use self-extracting archives to place executable files on disk. これにより、アプリの機能が失われることを回避できます。This should prevent the loss of app functionality.

4.2 ブロックされる実行可能ファイル4.2 Blocked executables

背景情報Background
このテストは、Windows 10 S コンピューターで動作するデスクトップ ブリッジ アプリの質を高めるために役立ちます。This test helps you build better Desktop Bridge Apps to run on Windows 10 S machines.

テストの詳細Test details
このテストでは、アプリが実行可能ファイルの起動を試みていないかどうかをチェックします。これは Windows 10 S システムでは制限されます。This test checks whether the app is attempting to launch executable files, which is restricted on Windows 10 S systems. この機能に依存するアプリは、Windows 10 S システムでは正しく動作しない可能性があります。Apps that rely on this capability may not run as expected on Windows 10 S systems.

是正措置Corrective actions

  • テストによってフラグ付けされたエントリのうち、アプリの一部ではない実行可能ファイルの起動を呼び出しているものを特定し、それらの呼び出しを削除します。Identify which of the flagged entries from the test represent a call to launch an executable file that is not part of your app, and remove those calls.
  • フラグ付けされたファイルがアプリケーションの一部である場合は、この警告を無視できます。If the flagged file(s) is part of your application, you may ignore the warning.

現在の必須のテストCurrent required tests

1. アプリの機能をテスト (特別な用途の機能)1. App Capabilities test (special use capabilities)

背景情報Background
特殊な用途の機能は、特殊なシナリオ向けの機能です。Special use capabilities are intended for very specific scenarios. 会社アカウントだけがこれらの機能を使うことができます。Only company accounts are allowed to use these capabilities.

テストの詳細Test details
アプリが次のいずれかの機能を宣言することを検証します。Validate if the app is declaring any of the below capabilities:

  • EnterpriseAuthenticationEnterpriseAuthentication
  • SharedUserCertificatesSharedUserCertificates
  • DocumentsLibraryDocumentsLibrary

これらの機能のいずれかが宣言される場合は、テストにより警告がユーザーに表示されます。If any of these capabilities are declared, the test will display a warning to the user.

是正措置Corrective actions
アプリが必要としない場合は、特殊な用途の機能を削除することを検討してください。Consider removing the special use capability if your app doesn't require it. さらに、これらの機能は、追加の登録ポリシー レビューの対象となります。Additionally, use of these capabilities is subject to additional onboarding policy review.

2. アプリ マニフェスト リソースのテスト2. App manifest resources tests

2.1 アプリ リソースの検証2.1 App resources validation

アプリのマニフェストで宣言されている文字列や画像に誤りがある場合、そのアプリは正しくインストールされない可能性があります。Your app might not install properly if the strings or images declared in the app’s manifest are incorrect. これらのエラーがあるアプリをインストールすると、アプリのロゴなどの画像が適切に表示されません。If the app does install with these errors, your app’s logo or other images may not display correctly.

テストの詳細Test details
アプリ マニフェストで定義されているリソースを調べて、それらのリソースが存在し有効であることを確認します。Inspects the resources defined in the app manifest to make sure they are present and valid.

是正措置Corrective action
次の表をガイドとして使用してください。Use the following table as guide.

エラー メッセージError message コメントComments
The image {image name} defines both Scale and TargetSize qualifiers; you can define only one qualifier at a time. (イメージ {image name} には Scale 修飾子と TargetSize 修飾子が定義されていますが、一度に定義可能な修飾子は 1 つだけです。)The image {image name} defines both Scale and TargetSize qualifiers; you can define only one qualifier at a time. さまざまな解像度に合わせて画像をカスタマイズできます。You can customize images for different resolutions. 実際のメッセージでは、{imageName} にエラーの発生した画像の名前が入ります。In the actual message, {image name} contains the name of the image with the error. 各画像で Scale と TargetSize のいずれかが修飾子として定義されていることを確認します。Make sure that each image defines either Scale or TargetSize as the qualifier.
The image {image name} failed the size restrictions. (イメージ {image name} がサイズ制限を超えました。)The image {image name} failed the size restrictions. すべてのアプリ画像が適切なサイズ制限に従っていることを確認します。Ensure that all the app images adhere to the proper size restrictions. 実際のメッセージでは、{imageName} にエラーの発生した画像の名前が入ります。In the actual message, {image name} contains the name of the image with the error.
The image {image name} is missing from the package. (イメージ {image name} がパッケージ内に見つかりません。)The image {image name} is missing from the package. 必要な画像がありません。A required image is missing. 実際のメッセージでは、{image name} に見つからない画像の名前が入ります。In the actual message, {image name} contains the name of the image that is missing.
The image {image name} is not a valid image file. (イメージ {image name} は有効なイメージ ファイルではありません。)The image {image name} is not a valid image file. すべてのアプリ画像が適切なファイルの種類の制限に従っていることを確認します。Ensure that all the app images adhere to the proper file format type restrictions. 実際のメッセージでは、{image name} に画像の色として無効な値が入ります。In the actual message, {image name} contains the name of the image that is not valid.
The image "BadgeLogo" has an ABGR value {value} at position (x, y) that is not valid. (画像 "BadgeLogo" の位置 (x, y) の ABGR 値 {value} が無効です。)The image "BadgeLogo" has an ABGR value {value} at position (x, y) that is not valid. The pixel must be white (##FFFFFF) or transparent (00######) (このピクセルは、白 (##FFFFFF) または透明 (00######) である必要があります。)The pixel must be white (##FFFFFF) or transparent (00######) バッジ ロゴはロック画面でアプリを識別するためにバッジ通知の横に表示される画像です。The badge logo is an image that appears next to the badge notification to identify the app on the lock screen. この画像はモノクロである必要があります (含めることができるのは白または透明のピクセルだけです)。This image must be monochromatic (it can contain only white and transparent pixels). 実際のメッセージでは、{value} に画像の色として無効な値が入ります。In the actual message, {value} contains the color value in the image that is not valid.
The image “BadgeLogo” has an ABGR value {value} at position (x, y) that is not valid for a high-contrast white image. (画像 "BadgeLogo" の位置 (x, y) にハイコントラストの白い画像には無効な ABGR 値 {value} があります。)The image "BadgeLogo" has an ABGR value {value} at position (x, y) that is not valid for a high-contrast white image. The pixel must be (##2A2A2A) or darker, or transparent (00######). (ピクセルは (##2A2A2A) か、それより暗いか、透明 (00######) である必要があります。)The pixel must be (##2A2A2A) or darker, or transparent (00######). バッジ ロゴはロック画面でアプリを識別するためにバッジ通知の横に表示される画像です。The badge logo is an image that appears next to the badge notification to identify the app on the lock screen. "ハイコントラスト 白" ではバッジ ロゴが白い背景に表示されるため、通常のバッジ ロゴの濃いバージョンを使う必要があります。Because the badge logo appears on a white background when in high-contrast white, it must be a dark version of the normal badge logo. "ハイコントラスト 白" でバッジ ロゴに含めることができるピクセルは、(##2A2A2A) より濃い色か透明のピクセルだけです。In high-contrast white, the badge logo can only contain pixels that are darker than (##2A2A2A) or transparent. 実際のメッセージでは、{value} に画像の色として無効な値が入ります。In the actual message, {value} contains the color value in the image that is not valid.
The image must define at least one variant without a TargetSize qualifier. (画像では、TargetSize 修飾子がないバージョンが少なくとも 1 つ定義されている必要があります。)The image must define at least one variant without a TargetSize qualifier. It must define a Scale qualifier or leave Scale and TargetSize unspecified, which defaults to Scale-100. (Scale 修飾子が定義されているか、または Scale と TargetSize が指定されていないままである必要があり、既定では Scale-100 です。)It must define a Scale qualifier or leave Scale and TargetSize unspecified, which defaults to Scale-100. 詳しくは、レスポンシブ デザインアプリ リソースに関するガイドをご覧ください。For more info, see the guides on responsive design and app resources.
The package is missing a "resources.pri" file. (パッケージに "resources.pri" ファイルがありません。)The package is missing a "resources.pri" file. アプリ マニフェストにローカライズ可能なコンテンツがある場合は、アプリのパッケージに有効な resources.pri ファイルが含まれていることを確認します。If you have localizable content in your app manifest, make sure that your app's package includes a valid resources.pri file.
The "resources.pri" file must contain a resource map with a name that matches the package name {package full name} ("resources.pri" ファイルには、パッケージ名 {package full name} と名前が一致するリソース マップが含まれている必要があります。)The "resources.pri" file must contain a resource map with a name that matches the package name {package full name} このエラーが表示される場合は、マニフェストが変更され、resources.pri 内のリソース マップの名前がマニフェストのパッケージ名と一致しなくなった可能性があります。You can get this error if the manifest changed and the name of the resource map in resources.pri no longer matches the package name in the manifest. 実際のメッセージでは、{package full name} には resources.pri に含まれている必要があるパッケージ名が入ります。In the actual message, {package full name} contains the package name that resources.pri must contain. この問題を解決するには、resources.pri をリビルドする必要があります。その場合は、アプリのパッケージをリビルドするのが最も簡単です。To fix this, you need to rebuild resources.pri and the easiest way to do that is by rebuilding the app's package.
The "resources.pri" file must not have AutoMerge enabled. ("resources.pri" ファイルは AutoMerge を有効にしないでください。)The "resources.pri" file must not have AutoMerge enabled. MakePRI.exe では、AutoMerge というオプションがサポートされています。MakePRI.exe supports an option called AutoMerge. AutoMerge の規定値は "off" です。The default value of AutoMerge is off. オンにすると、AutoMerge が実行時にアプリの言語パックを単一の resources.pri にマージします。When enabled, AutoMerge merges an app's language pack resources into a single resources.pri at runtime. これは、Microsoft Store から配布するアプリをお勧めしません。We don't recommend this for apps that you intend to distribute through the Microsoft Store. Microsoft Store を通じて配布されるアプリの resources.pri は、アプリのパッケージのルート内にあり、アプリをサポートする言語のすべての参照を含めることが必要があります。The resources.pri of an app that is distributed through the Microsoft Store must be in the root of the app's package and contain all the language references that the app supports.
The string {string} failed the max length restriction of {number} characters. (文字列 {string} が {number} 文字の最大文字数の制限を満たしていません。)The string {string} failed the max length restriction of {number} characters. アプリ パッケージの要件」をご覧ください。Refer to the App package requirements. 実際のメッセージでは、{string} が問題の文字列に置き換わり、{number} に最大文字数が入ります。In the actual message, {string} is replaced by the string with the error and {number} contains the maximum length.
The string {string} must not have leading/trailing whitespace. (文字列 {string} の先頭または末尾を空白にすることはできません。)The string {string} must not have leading/trailing whitespace. アプリ マニフェストの要素のスキーマでは、先頭および末尾の空白は許可されていません。The schema for the elements in the app manifest don't allow leading or trailing white space characters. 実際のメッセージでは、{string} が問題の文字列に置き換わります。In the actual message, {string} is replaced by the string with the error. resources.pri のマニフェスト フィールドのローカライズされた値において、先頭または末尾にスペースが挿入されていないことを確認します。Make sure that none of the localized values of the manifest fields in resources.pri have leading or trailing white space characters.
The string must be non-empty (greater than zero in length) (文字列を空にすることはできません (文字数が 0 より大きい必要があります)。)The string must be non-empty (greater than zero in length) 詳しくは、「アプリ パッケージの要件」をご覧ください。For more info, see App package requirements.
There is no default resource specified in the "resources.pri" file. ("resources.pri" ファイルで指定された既定のリソースがありません。)There is no default resource specified in the "resources.pri" file. 詳しくは、アプリ リソースに関するガイドをご覧ください。For more info, see the guide on app resources. 既定のビルド構成では、Visual Studio はバンドル生成時に 200% スケールの画像リソースのみをアプリ パッケージ内に組み込み、その他のリソースはリソース パッケージ内に配置します。In the default build configuration, Visual Studio only includes scale-200 image resources in the app package when generating bundles, putting other resources in the resource package. 200% スケールの画像リソースを組み込むか、または持っているリソースを組み込むようにプロジェクトを構成してください。Make sure you either include scale-200 image resources or configure your project to include the resources you have.
There is no resource value specified in the "resources.pri" file. ("resources.pri" ファイルに指定されたリソース値がありません。)There is no resource value specified in the "resources.pri" file. resources.pri でアプリ マニフェストの有効なリソースが定義されていることを確認します。Make sure that the app manifest has valid resources defined in resources.pri.
The image file {filename} must be smaller than 204800 bytes. (イメージ ファイル {filename} は、204,800 バイト未満である必要があります。)The image file {filename} must be smaller than 204800 bytes. 指定の画像のサイズを小さくします。Reduce the size of the indicated images.
The {filename} file must not contain a reverse map section. ({filename} ファイルには、リバース マップ セクションを含めることはできません。)The {filename} file must not contain a reverse map section. 逆マップは Visual Studio の F5 デバッグ時に makepri.exe を呼び出すと生成されますが、pri ファイルの生成時に /m パラメーターなしで makepri.exe を実行すると削除することができます。While the reverse map is generated during Visual Studio 'F5 debugging' when calling into makepri.exe, it can be removed by running makepri.exe without the /m parameter when generating a pri file.

2.2 ブランドの検証2.2 Branding validation

背景情報Background
デスクトップ ブリッジ アプリは、完成していて完全に機能することが期待されます。Desktop Bridge Apps are expected to be complete and fully functional. 既定の画像 (テンプレートまたは SDK サンプルの画像) を使ったアプリは、ユーザー エクスペリエンスが貧弱であることを示しているため、ストア カタログであまり識別されない可能性があります。Apps using the default images (from templates or SDK samples) present a poor user experience and cannot be easily identified in the store catalog.

テストの詳細Test details
このテストは、アプリで使われている画像が SDK サンプルまたは Visual Studio の既定の画像でないことを検証します。The test will validate if the images used by the app are not default images either from SDK samples or from Visual Studio.

是正措置Corrective actions
既定の画像を、もっとアプリを明確に表すものに置き換えます。Replace default images with something more distinct and representative of your app.

3.パッケージの準拠テスト3. Package compliance tests

3.1 アプリ マニフェスト3.1 App Manifest

アプリ マニフェストのコンテンツをテストし、コンテンツが正しいかどうかを確認します。Tests the contents of app manifest to make sure its contents are correct.

背景情報Background
アプリ マニフェストは正しい形式でなければならないApps must have a correctly formatted app manifest.

テストの詳細Test details
アプリ パッケージの要件」の説明に従って、アプリ マニフェストを調べてコンテンツが正しいかどうかを確認します。Examines the app manifest to verify the contents are correct as described in the App package requirements. このテストでは、次のチェックが行われます。The following checks are done in this test:

  • ファイル拡張子とプロトコルFile extensions and protocols
    アプリは、関連付けることができるファイルの種類を宣言できます。Your app may declare the file types that it can be associated with. 多くの一般的ではないファイルの種類を宣言すると、ユーザー エクスペリエンスが低下します。A declaration of a large number of uncommon file types makes for a poorer user experience. このテストは、アプリに関連付けることができるファイル拡張子の数を制限します。This test limits the number of file extensions that an app can be associated with.
  • フレームワーク依存関係の規則Framework dependency rule
    このテストは、アプリが UWP への適切な依存関係を宣言しているかどうかをチェックします。This test enforces the requirement that apps declare appropriate dependencies on the UWP. 不適切な依存関係がある場合は、このテストは失敗します。If there is an inappropriate dependency, this test will fail. アプリがターゲットとする OS のバージョンと依存関係のあるフレームワークとの間に不整合がある場合は、テストは失敗します。If there is a mismatch between the OS version the app targets and the framework dependencies made, the test will fail. アプリがフレーム ワーク DLL の "Preview" 版を参照している場合にも、テストは失敗します。The test also fails if the app refers to any "preview" versions of the framework dlls.
  • プロセス間通信 (IPC) 検証Inter-process communication (IPC) verification
    このテストでは、デスクトップ ブリッジ アプリがデスクトップ コンポーネントとアプリ コンテナーの外側で通信しないかどうかをチェックします。This test enforces the requirement that Desktop Bridge apps do not communicate outside of the app container to desktop components. プロセス間通信は、サイドローディングが行われたアプリのみを対象としています。Inter-process communication is intended for side-loaded apps only. DesktopApplicationPath と同じ名前で ActivatableClassAttribute を指定しているアプリは、このテストに合格しません。Apps that specify the ActivatableClassAttribute with name equal to DesktopApplicationPath will fail this test.

是正措置Corrective action
アプリ パッケージの要件」で説明されている要件に照らして、アプリのマニフェストを確認します。Review the app's manifest against the requirements described in the App package requirements.

3.2 アプリケーション カウント3.2 Application Count

このテストは、アプリ パッケージ (.appx、アプリ バンドル) に 1 つのアプリケーションが含まれていることを確認します。This test verifies that an app package (.appx, app bundle) contains one application.

背景情報Background
このテストは、ストア ポリシーに従って実装されています。This test is implemented as per Store policy.

テストの詳細Test details
このテストでは、バンドル内の .appx パッケージの合計数が 512 未満であり、バンドル内の "main" パッケージが 1 つだけであることを確認します。This test verifies that the total number of .appx packages in the bundle is less than 512, and that there is only one "main" package in the bundle. また、バンドルのバージョンのリビジョン番号が 0 に設定されているかも確認します。It also verifies that the revision number of the bundle version is set to 0.

是正措置Corrective actions
アプリ パッケージとバンドルが、「テストの詳細」に示されている要件を満たしていることを確認します。Ensure the app package and bundle meet requirements stated in Test details.

3.3 レジストリ チェック3.3 Registry Checks

背景情報Background
このテストでは、アプリケーションが新しいサービスやドライバーをインストールまたは更新するかどうかを確認します。This test checks if the application installs or updates any new services or drivers.

テストの詳細Test details
このテストは、registry.dat ファイル内を調べて、新しいサービスやドライバーが登録されていることを示す特定のレジストリの場所が更新されていないか確認します。The test looks inside the registry.dat file for updates to specific registry locations that indicate a new service or driver being registered. アプリがドライバーまたはサービスをインストールしようとする場合、テストは失敗します。If the app is attempting to install a driver or service, the test will fail.

是正措置Corrective actions
エラーを確認し、必要はない場合、対象のサービスまたはドライバーを削除します。Review the failures and remove the services or drivers in question if they are unnecessary. アプリがこれらに依存している場合は、ストアに登録するには、アプリを修正する必要があります。If the app depends on these, you will need to revise the app if you want to onboard to the Store.

4。プラットフォーム対応ファイル テスト4. Platform appropriate files test

混在するバイナリをインストールするアプリは、ユーザーのプロセッサ アーキテクチャによってはクラッシュしたり、正しく動作しない場合があります。Apps that install mixed binaries may crash or not run correctly depending on the user’s processor architecture.

背景情報Background
このテストでは、アーキテクチャが競合していないか、アプリ パッケージのバイナリをスキャンします。This test scans the binaries in an app package for architecture conflicts. アプリ パッケージには、マニフェストに指定されたプロセッサ アーキテクチャで使用できないバイナリを含めることができません。An app package should not include binaries that can't be used on the processor architecture specified in the manifest. サポートされていないバイナリが含まれると、アプリがクラッシュしたり、アプリのパッケージ サイズが不必要に大きくなったりする可能性があります。Including unsupported binaries can lead to your app crashing or an unnecessary increase in the app package size.

テストの詳細Test details
アプリ パッケージのプロセッサ アーキテクチャ宣言と相互参照される場合に、各ファイルの PE ヘッダー内のビット "bitness" が適切かどうかを検証します。Validates that each file's "bitness" in the portable executable header is appropriate when cross-referenced with the app package processor architecture declaration.

是正措置Corrective actions
アプリ マニフェストで指定されたアーキテクチャでサポートされるファイルのみをアプリ パッケージが含むことを確認するために、次のガイドラインに従ってください。Follow these guidelines to ensure that your app package only contains files supported by the architecture specified in the app manifest:

  • アプリのターゲット プロセッサ アーキテクチャがニュートラル プロセッサ タイプの場合、アプリ パッケージは、x86、x64、または ARM のバイナリ タイプまたはイメージ タイプのファイルを含むことはできません。If the Target Processor Architecture for your app is Neutral Processor Type, the app package cannot contain x86, x64, or ARM binary or image type files.
  • アプリのターゲット プロセッサ アーキテクチャが x86 プロセッサ タイプの場合、アプリ パッケージは、x86 バイナリ タイプまたはイメージ タイプのファイルのみを含む必要があります。If the Target Processor Architecture for your app is x86 processor type, the app package must only contain x86 binary or image type files. パッケージが x64 ないし ARM バイナリ形式またはイメージ形式を含む場合は、アプリはテストに合格しません。If the package contains x64 or ARM binary or image types, it will fail the test.
  • アプリのターゲット プロセッサ アーキテクチャが x64 プロセッサ タイプの場合、アプリ パッケージは、x64 バイナリ タイプまたはイメージ タイプのファイルを含む必要があります。If the Target Processor Architecture for your app is x64 processor type, the app package must contain x64 binary or image type files. この場合は、パッケージに x86 ファイルを含めることもできますが、主なアプリ エクスペリエンスでは x64 バイナリを使ってください。Note that in this case the package can also include x86 files, but the primary app experience should utilize the x64 binary. パッケージが ARM バイナリ タイプまたはイメージ タイプのファイルを含む場合、または x86 バイナリ タイプまたはイメージ タイプのファイルのみを含む場合、パッケージはテストに合格しません。If the package contains ARM binary or image type files, or only contains x86 binaries or image type files, it will fail the test.
  • アプリのターゲット プロセッサ アーキテクチャが ARM プロセッサ タイプの場合、アプリ パッケージは、ARM バイナリ タイプまたはイメージ タイプのファイルのみを含む必要があります。If the Target Processor Architecture for your app is ARM processor type, the app package must only contain ARM binary or image type files. パッケージが x64 または x86 バイナリ形式またはイメージ形式のファイルを含む場合は、パッケージはテストに合格しません。If the package contains x64 or x86 binary or image type files, it will fail the test.

5。サポートされる API のテスト5. Supported API test

アプリで非標準 API が使われていないかどうかを確認します。Checks the app for the use of any non-compliant APIs.

背景情報Background
デスクトップ ブリッジ アプリでは、最新の API (UWP コンポーネント) と共に一部の従来の Win32 API を活用できます。Desktop Bridge apps can leverage some legacy Win32 APIs along with modern APIs (UWP components). このテストでは、サポートされていない API を使用しているマネージ バイナリを識別します。This test identifies managed binaries that use unsupported APIs.

テストの詳細Test details
このテストでは、アプリ内のすべての UWP コンポーネントを確認します。This test checks all the UWP components in the app:

  • アプリ パッケージ内の各マネージ バイナリがバイナリのインポート アドレス テーブルを調べて、UWP アプリ開発のサポートされていない Win32 API に依存関係がないことを確認します。Verifies that each managed binary within the app package doesn't have a dependency on a Win32 API that is not supported for UWP app development by checking the import address table of the binary.
  • アプリ パッケージ内の管理された各バイナリが承認済みのプロファイル外部の機能に依存していないことを確認します。Verifies that each managed binary within the app package doesn't have a dependency on a function outside of the approved profile.

是正措置Corrective actions
この問題を修正するには、アプリが、デバッグ用ビルドとしてではなく、リリース用ビルドとしてコンパイルされていることを確認します。This can be corrected by ensuring that the app was compiled as a release build and not as a debug build.

注意

アプリのデバッグ ビルドは、アプリのみ使用する場合でも、このテストは失敗UWP アプリ用 Apiします。The debug build of an app will fail this test even if the app uses only APIs for UWP apps. UWP アプリの許可されている API ではない、存在する API を識別するためにエラー メッセージを確認します。Review the error messages to identify the API present that is not an allowed API for UWP apps.

注意

C アプリのデバッグ構成で組み込まれている場合でも、構成は、UWP アプリ用 Windows SDK からの Api を使用するのみ、このテストは失敗します。C++ apps that are built in a debug configuration will fail this test even if the configuration only uses APIs from the Windows SDK for UWP apps. 参照してくださいUWP アプリでの Windows Api の代替詳細についてはします。See Alternatives to Windows APIs in UWP apps for more information.

6。ユーザー アカウント制御 (UAC) のテスト6. User account control (UAC) test

背景情報Background
アプリが実行時のユーザー アカウント制御を要求しないことを確認します。Ensures that the app is not requesting user account control at runtime.

テストの詳細Test details
アプリでは、1 つの Microsoft Store ポリシー管理者の昇格または UIAccess を要求できません。An app cannot request admin elevation or UIAccess per Microsoft Store policy. 管理者特権のセキュリティ アクセス許可はサポートされていません。Elevated security permissions are not supported.

是正措置Corrective actions
アプリは、対話ユーザーとして実行する必要があります。Apps must run as an interactive user. 詳しくは、「UI オートメーション セキュリティの概要」をご覧ください。See UI Automation Security Overview for details.

7.Windows ランタイム メタデータ検証7. Windows Runtime metadata validation

背景情報Background
アプリに付属するコンポーネントが、UWP 型システムに準拠していることを確認します。Ensures that the components that ship in an app conform to the UWP type system.

テストの詳細Test details
このテストは、適切な型の使用に関連するさまざまなフラグをスローします。This test throws a number of flags related to proper type usage.

是正措置Corrective actions

  • ExclusiveTo 属性ExclusiveTo attribute
    UWP クラスに別の ExclusiveTo クラスとしてマークされたインターフェイスが実装されていないことを確認します。Ensure that UWP classes don't implement interfaces that are marked as ExclusiveTo another class
  • 一般的なメタデータの正確性General Metadata correctness
    型の生成に使っているコンパイラが UWP の仕様に従って最新の状態になっていることを確認します。Ensure that the compiler you are using to generate your types is up-to-date with the UWP specifications.
  • [プロパティ]Properties
    UWP クラスのすべてのプロパティに get メソッドがあることを確認します (set メソッドは省略可能です)。Ensure that all properties in a UWP class have a get method (set methods are optional). すべてのプロパティについて、get メソッドによって返される型が set メソッドの入力パラメーターの型と一致することを確認します。For all properties, ensure that the type returned by the get method matches the type of the set method input parameter.
  • 型の場所Type location
    UWP のすべての型のメタデータが、アプリ パッケージで最も長い名前空間対応の名前を持つ .winmd ファイルにあることを確認します。Ensure that the metadata for all UWP types is located in the .winmd file that has the longest namespace-matching name in the app package.
  • 型名の大文字小文字の区別Type name case-sensitivity
    すべての UWP 型のアプリ パッケージ内に大文字と小文字が区別されない一意の名前が存在することを確認します。Ensure that all UWP types have unique, case-insensitive names within your app package. また、UWP 型名が、アプリ パッケージ内で名前空間名として使われていないことも確認します。Also ensure that no UWP type name is also used as a namespace name within your app package.
  • 型名が正しいことType name correctness
    グローバル名前空間または Windows の最上位名前空間に UWP 型がないことを確認します。Ensure there are no UWP types in the global namespace or in the Windows top-level namespace.

8.Windows セキュリティ機能のテスト8. Windows security features tests

Windows 既定のセキュリティ保護を変更すると、ユーザーが危険にさらされるリスクが増大します。Changing the default Windows security protections can put customers at increased risk.

8.1 禁止されたファイルのアナライザー8.1 Banned File Analyzer

背景情報Background
特定のファイルは、重要なセキュリティ、信頼性、その他の改善を提供するように更新されています。Certain files have been updated with important security, reliability or other improvements. 以前のバージョンにはリスクがあるため、Windows デスクトップ ブリッジ アプリには、これらのファイルの最新バージョンを含める必要があります。Windows Desktop Bridge apps must contain the latest versions these files, as outdated versions present a risk. すべてのアプリが最新バージョンを使っていることを確実にするために、Windows アプリ認定キットでこれらのファイルをブロックします。The Windows App Certification Kit blocks these files to ensure that all apps use the current version.

テストの詳細Test details
現在、Windows アプリ認定キットの禁止されたファイルのチェック機能で次のファイルの有無がチェックされます。The Banned File Check in the Windows App Certification Kit currently checks for the following files:

  • Bing.Maps.JavaScript\js\veapicore.jsBing.Maps.JavaScript\js\veapicore.js
    このチェックは、通常、アプリでファイルの最新の公式リリースではなく、"Release Preview" バージョンが使われていると失敗します。This check commonly fails when an app is using a "Release Preview" version of the file instead of the latest official release.

是正措置Corrective actions
これを修正するには、最新バージョンを使用して、 Bing Maps SDK UWP アプリ用です。To correct this, use the latest version of the Bing Maps SDK for UWP apps.

8.2 プライベート コードの署名8.2 Private Code Signing

アプリ パッケージ内にプライベート コードの署名バイナリが存在するかテストします。Tests for the existence of private code signing binaries within the app package.

背景情報Background
プライベート コードの署名ファイルは、セキュリティが侵害された場合は、悪用される可能性があるため、プライベートにしておく必要があります。Private code signing files should be kept private as they may be used for malicious purposes in the event they are compromised.

テストの詳細Test details
アプリ パッケージ内でプライベート署名キーを含むことを示す .pfx または .snk という拡張子を持つファイルについて確認します。Checks for files within the app package that have an extension of .pfx or .snk that would indicate that private signing keys are included.

是正措置Corrective actions
パッケージからプライベート コードの署名キー (.pfx ファイルや .snk ファイルなど) を削除します。Remove any private code signing keys (such as .pfx and .snk files) from the package.