アプリのパッケージ化の準備 (デスクトップ ブリッジ)Prepare to package an app (Desktop Bridge)

この記事では、デスクトップ アプリをパッケージ化する前に理解しておく必要のあることについて説明します。This article lists the things you need to know before you package your desktop app. パッケージ化プロセス用にアプリを準備するためには多くの作業を行う必要はありませんが、以下の項目のいずれかがアプリケーションに当てはまる場合には、パッケージ化の前に対処する必要があります。You might not have to do much to get your app ready for the packaging process, but if any of the items below applies to your application, you need to address it before packaging. ライセンスと自動更新は Microsoft Store で処理されるため、これらのタスクに関連した機能はコードベースから削除できます。Remember that the Microsoft Store handles licensing and automatic updating for you, so you can remove any features that relate to those tasks from your codebase.


デスクトップ ブリッジは、Windows 10 Version 1607 で導入されており、Windows 10 Anniversary Update (10.0、ビルド 14393) 以降のリリースをターゲットとする Visual Studio プロジェクトでのみ使用できます。The Desktop Bridge was introduced in Windows 10, version 1607, and it can only be used in projects that target Windows 10 Anniversary Update (10.0; Build 14393) or a later release in Visual Studio.

  • アプリにバージョン 4.6.2 よりも前のバージョンの .NET が必要であるYour app requires a version of .NET earlier than 4.6.2. アプリが .NET 4.6.2 で実行されていることを確認します。You need to make sure your app runs on .NET 4.6.2. 4.6.2 より前のバージョンを要求したり、再配布したりすることはできません。You cannot require or redistribute versions earlier than 4.6.2. これは、Windows 10 Anniversary Update で出荷された .NET のバージョンです。This is the version of .NET that shipped in the Windows 10 Anniversary Update. アプリがこのバージョンで動作することを確認すると、Windows 10 の今後の更新プログラムとアプリの互換性が維持されます。Verifying your app works on this version will ensure that your app will continue to be compatible with future updates of Windows 10. アプリが .NET Framework 4.0 以降をターゲットとしている場合、.NET 4.6.2 上で実行されることが予想されますが、テストは必要です。If your app targets the .NET Framework 4.0 or later, it is expected to run on .NET 4.6.2 but you should still test it.

  • 常に管理者特権のセキュリティ権限でアプリを実行するYour app always runs with elevated security privileges. アプリは、対話ユーザーとして実行中にも機能する必要があります。Your app needs to work while running as the interactive user. Microsoft Store からアプリをインストールするユーザーはシステム管理者ではない可能性があります。そのため、アプリは、標準ユーザーでは正しく動作しない、管理者だけが実行できる方法で実行する必要があります。Users who install your app from the Microsoft Store may not be system administrators, so requiring your app to run elevated means that it won't run correctly for standard users. 機能の一部で昇格を必要とするアプリは、Microsoft Store では受け入れられません。Apps that require elevation for any part of their functionality won't be accepted in the Microsoft Store.

  • アプリにカーネル モード ドライバーや Windows サービスが必要Your app requires a kernel-mode driver or a Windows service. ブリッジはアプリには適していますが、システム アカウントで実行する必要があるカーネル モード ドライバーや Windows サービスはサポートしていません。The bridge is suitable for an app, but it does not support a kernel-mode driver or a Windows service that needs to run under a system account. Windows サービスの代わりに、バックグラウンド タスクを使います。Instead of a Windows service, use a background task.

  • アプリのモジュールが、Windows アプリ パッケージに含まれていないプロセスに読み込まれるインプロセスであるYour app's modules are loaded in-process to processes that are not in your Windows app package. これは許可されていません。つまり、シェルの拡張機能などのインプロセスの拡張機能はサポートされていません。This isn't permitted, which means that in-process extensions, like shell extensions, aren't supported. ただし、同じパッケージに 2 つのアプリが含まれている場合に、そのアプリ間でプロセス間通信することはできます。But if you have two apps in the same package, you can do inter-process communication between them.

  • アプリでカスタム アプリケーション ユーザー モデル ID (AUMID) を使うYour app uses a custom Application User Model ID (AUMID). プロセスから SetCurrentProcessExplicitAppUserModelID を呼び出して独自の AUMID を設定する場合、アプリ モデル環境/Windows アプリ パッケージでその目的で生成された AUMID しか使えません。If your process calls SetCurrentProcessExplicitAppUserModelID to set its own AUMID, then it may only use the AUMID generated for it by the app model environment/Windows app package. カスタムの AUMID を定義することはできません。You can't define custom AUMIDs.

  • アプリが HKEY_LOCAL_MACHINE (HKLM) レジストリ ハイブを変更するYour app modifies the HKEY_LOCAL_MACHINE (HKLM) registry hive. アプリから HKLM キーを作成しようとしたり、変更のために開こうとしたりすると、アクセス拒否エラーが発生します。Any attempt by your app to create an HKLM key, or to open one for modification, will result in an access-denied failure. アプリには、レジストリを仮想化した独自のプライベート ビューがあるため、ユーザーやマシン全体のレジストリ ハイブ (HKLM はこれに相当) の概念は適用されないことに注意してください。Remember that your app has its own private virtualized view of the registry, so the notion of a user- and machine-wide registry hive (which is what HKLM is) does not apply. HKLM を使って実現していたことを、HKEY_CURRENT_USER (HKCU) に書き込むなど別の方法で実現する必要があります。You will need to find another way of achieving what you were using HKLM for, like writing to HKEY_CURRENT_USER (HKCU) instead.

  • アプリで、別のアプリを起動する手段として ddeexec レジストリ サブキーを使っているYour app uses a ddeexec registry subkey as a means of launching another app. 代わりに、アプリ パッケージ マニフェストのさまざまなアクティブ化可能* な拡張機能で構成する DelegateExecute verb ハンドラーの 1 つを使います。Instead, use one of the DelegateExecute verb handlers as configured by the various Activatable* extensions in your app package manifest.

  • アプリが、別のアプリとデータを共有するために AppData フォルダーまたはレジストリに書き込みを行うYour app writes to the AppData folder or to the registry with the intention of sharing data with another app. 変換後、AppData はローカル アプリ データ ストアにリダイレクトされます。このストアは、各 UWP アプリのプライベート ストアです。After conversion, AppData is redirected to the local app data store, which is a private store for each UWP app.

    アプリが HKEY_LOCAL_MACHINE レジストリ ハイブに書き込んだすべてのエントリが、分離されたバイナリ ファイルにリダイレクトされ、アプリが HKEY_CURRENT_USER レジストリ ハイブに書き込んだすべてのエントリが、ユーザーごと、アプリごとのプライベートな場所に配置されます。All entries that your app writes to the HKEY_LOCAL_MACHINE registry hive are redirected to an isolated binary file and any entries that your app writes to the HKEY_CURRENT_USER registry hive are placed into a private per-user, per-app location. ファイルとレジストリのリダイレクトの詳細については、「デスクトップ ブリッジの内側」をご覧ください。For more details about file and registry redirection, see Behind the scenes of the Desktop Bridge.

    プロセス間データ共有に別の方法を使います。Use a different means of inter-process data sharing. 詳しくは、「設定と他のアプリ データを保存して取得する」をご覧ください。For more info, see Store and retrieve settings and other app data.

  • アプリが、アプリのインストール ディレクトリに書き込みを行うYour app writes to the install directory for your app. たとえば、exe と同じディレクトリに置いたログ ファイルにアプリが書き込む場合などです。For example, your app writes to a log file that you put in the same directory as your exe. この書き込みは、サポートされていないため、ローカル アプリ データ ストアなどの別の場所にする必要があります。This isn't supported, so you'll need to find another location, like the local app data store.

  • アプリのインストールでユーザーの対話式操作を求めるYour app installation requires user interaction. アプリ インストーラーはサイレント実行でき、クリーンな状態の OS イメージには既定では存在しないすべての前提条件をインストールする必要があります。Your app installer must be able to run silently, and it must install all of its prerequisites that aren't on by default on a clean OS image.

  • アプリで現在の作業ディレクトリを使うYour app uses the Current Working Directory. パッケージ デスクトップ アプリでは、実行時に、デスクトップで以前に指定していたのと同じ作業ディレクトリ (.LNK ショートカット) を取得しません。At runtime, your packaged desktop app won't get the same Working Directory that you previously specified in your desktop .LNK shortcut. アプリを正しく動作させるために現在のディレクトリを取得することが重要な場合は、実行時に CWD を変更する必要があります。You need to change your CWD at runtime if having the correct directory is important for your app to function correctly.

  • アプリで UIAccess が必要Your app requires UIAccess. アプリケーションが UAC マニフェストの requestedExecutionLevel 要素で UIAccess=true を指定している場合の UWP への変換は現在サポートされていません。If your application specifies UIAccess=true in the requestedExecutionLevel element of the UAC manifest, conversion to UWP isn't supported currently. 詳しくは、「UI オートメーション セキュリティの概要」をご覧ください。For more info, see UI Automation Security Overview.

  • COM オブジェクトをアプリで公開しているYour app exposes COM objects. パッケージ内のプロセスと拡張機能は、インプロセスとアウト プロセス (OOP) の両方で、COM サーバーおよび OLE サーバーを登録して使用できます。Processes and extensions from within the package can register and use COM & OLE servers, both in-process and out-of-process (OOP). Creators Update では、Packaged COM のサポートが追加されています。これにより、パッケージ外部で表示されるようになった OOP COM サーバーおよび OLE サーバーを登録できるようになります。The Creators Update adds Packaged COM support which provides the ability to register OOP COM & OLE servers that are now visible outside the package. COM サーバーおよび OLE ドキュメントのデスクトップ ブリッジ用サポートに関するブログをご覧ください。See COM Server and OLE Document support for Desktop Bridge.

    Packaged COM のサポートは、既存の COM API に使用できますが、Packaged COM の場所はプライベートであるため、レジストリの読み取りに直接依存するアプリケーションの拡張機能には使用できません。Packaged COM support works with existing COM APIs, but will not work for application extensions that rely upon directly reading the registry, as the location for Packaged COM is in a private location.

  • 他のプロセスで使用できるように GAC アセンブリをアプリで公開しているYour app exposes GAC assemblies for use by other processes. 現在のリリースでは、Windows アプリ パッケージ外部の実行可能ファイルから生成されたプロセスで使用できるようにアプリが GAC アセンブリを公開することはできません。In the current release, your app cannot expose GAC assemblies for use by processes originating from executables external to your Windows app package. パッケージ内のプロセスは、通常どおり、GAC アセンブリを登録して使用できますが、外部からは認識されません。Processes from within the package can register and use GAC assemblies as normal, but they will not be visible externally. つまり、OLE などの相互運用機能のシナリオは、外部プロセスによって呼び出された場合、機能しません。This means interop scenarios like OLE will not function if invoked by external processes.

  • サポートされていない方法でアプリが C ランタイム ライブラリ (CRT) にリンクされているYour app is linking C runtime libraries (CRT) in an unsupported manner. Microsoft C/C++ ランタイム ライブラリは、Microsoft Windows オペレーティング システムのプログラミングのルーチンを提供します。The Microsoft C/C++ runtime library provides routines for programming for the Microsoft Windows operating system. これらのルーチンは、C および C++ 言語では提供されない、多くの一般的なプログラミング タスクを自動化します。These routines automate many common programming tasks that are not provided by the C and C++ languages. アプリで C/C++ ランタイム ライブラリを使用している場合、サポートされている方法でリンクされていることを確認する必要があります。If your app utilizes C/C++ runtime library, you need to ensure it is linked in a supported manner.

    Visual Studio 2017 は、現在のバージョンの CRT に対して、コードで共通の DLL ファイルを使用できるようにするダイナミック リンクと、コードに直接ライブラリをリンクするスタティック リンクの両方をサポートしています。Visual Studio 2017 supports both static and dynamic linking, to let your code use common DLL files, or static linking, to link the library directly into your code, to the current version of the CRT. 可能であれば、アプリで VS 2017 へのダイナミック リンクを使用することをお勧めします。If possible, we recommend your app use dynamic linking with VS 2017.

    以前のバージョンの Visual Studio でのサポートは異なります。Support in previous versions of Visual Studio varies. 詳しくは、次の表をご覧ください。See the following table for details:

    Visual Studio のバージョンVisual Studio versionダイナミック リンクDynamic linkingスタティック リンクStatic linking
    2005 (VC 8)2005 (VC 8)サポートされないNot supportedサポートされるSupported
    2008 (VC 9)2008 (VC 9)サポートされないNot supportedサポートされるSupported
    2010 (VC 10)2010 (VC 10)サポートされるSupportedサポートされるSupported
    2012 (VC 11)2012 (VC 11)サポートされるSupportedサポートされないNot supported
    2013 (VC 12)2013 (VC 12)サポートされるSupportedサポートされないNot supported
    2015 および 2017 (VC 14)2015 and 2017 (VC 14)サポートされるSupportedサポートされるSupported

    注: いずれの場合も、最新の公開されている CRT にリンクする必要があります。Note: In all cases, you must link to the latest publically available CRT.

  • アプリが Windows サイドバイサイド フォルダーからアセンブリをインストールする/読み込むYour app installs and loads assemblies from the Windows side-by-side folder. たとえば、アプリが C ランタイム ライブラリ VC8 または VC9 を使用しており、Windows サイドバイサイド フォルダーから動的にリンクしている、つまり、コードが共有フォルダーから共通の DLL ファイルを使用しているとします。For example, your app uses C runtime libraries VC8 or VC9 and is dynamically linking them from Windows side-by-side folder, meaning your code is using the common DLL files from a shared folder. これはサポートされていません。This is not supported. 再頒布可能なライブラリ ファイルをコードに直接リンクして、静的にリンクする必要があります。You will need to statically link them by linking to the redistributable library files directly into your code.

  • アプリが、System32/SysWOW64 フォルダーの依存関係を使っているYour app uses a dependency in the System32/SysWOW64 folder. DLL が機能するためには、Windows アプリ パッケージの仮想ファイル システム部分にそれらの DLL を含める必要があります。To get these DLLs to work, you must include them in the virtual file system portion of your Windows app package. これにより、アプリは DLL が System32/SysWOW64 フォルダーにインストールされている場合と同じように動作します。This ensures that the app behaves as if the DLLs were installed in the System32/SysWOW64 folder. パッケージのルートで VFS という名前のフォルダーを作成します。In the root of the package, create a folder called VFS. そのフォルダー内に、SystemX64 フォルダーと SystemX86フォルダーを作成します。Inside that folder create a SystemX64 and SystemX86 folder. SystemX86 フォルダーに DLL の 32 ビット バージョンを格納し、SystemX64 フォルダーに 64 ビット バージョンを格納します。Then, place the 32-bit version of your DLL in the SystemX86 folder, and place the 64-bit version in the SystemX64 folder.

  • アプリが VCLibs フレームワーク パッケージを使っているYour app uses a VCLibs framework package. VCLibs 11 ライブラリは、Windows アプリ パッケージで依存関係として定義されている場合、Microsoft Store から直接インストールできます。The VCLibs libraries can be directly installed from the Microsoft Store if they are defined as a dependency in the Windows app package. たとえば、アプリが Dev11 VCLibs パッケージを使っている場合、アプリ パッケージ マニフェストに変更を加えます。<Dependencies> ノードで、以下のものを追加します。For example, if your app uses Dev11 VCLibs packages, make the following change to your app package manifest: Under the <Dependencies> node, add:
    <PackageDependency Name="Microsoft.VCLibs.110.00.UWPDesktop" MinVersion="11.0.24217.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
    Microsoft Store からインストールするとき、アプリをインストールする前に VCLibs フレームワークの適切なバージョン (x86 または x64) がインストールされます。During installation from the Microsoft Store, the appropriate version (x86 or x64) of the VCLibs framework will get installed prior to the installation of the app.
    アプリがサイドローディングによってインストールされる場合は、依存関係がインストールされません。The dependencies will not get installed if the app is installed by sideloading. コンピューター上に依存関係を手動でインストールするには、デスクトップ ブリッジ用の適切な VCLibs フレームワーク パッケージをダウンロードしてインストールする必要があります。To install the dependencies manually on your machine, you must download and install the appropriate VCLibs framework package for Desktop Bridge. これらのシナリオについて詳しくは、Centennial プロジェクトで Visual C++ ラインタイムを使用する方法に関するページをご覧ください。For more information about these scenarios, see Using Visual C++ Runtime in a Centennial project.

    フレームワーク パッケージ:Framework Packages:

  • アプリにカスタム ジャンプ リストが含まれるYour app contains a custom jump list. ジャンプ リストを使用する場合は、いくつかの問題と注意事項があります。There are several issues and caveats to be aware of when using jump lists.

    • アプリのアーキテクチャが OS と一致しない。Your app's architecture does not match the OS. 現在、アプリと OS のアーキテクチャが一致しない場合 (x64 Windows で実行されている x86 アプリなど)、ジャンプ リストは正しく機能しません。Jump lists currently do not function correctly if the app and OS architectures do not match (e.g., an x86 app running on x64 Windows). 現時点では、アプリを再コンパイルしてアーキテクチャを一致させる以外に回避策はありません。At this time, there is no workaround other than to recompile your app to the matching architecture.

    • アプリがジャンプ リストの項目を作成して、ICustomDestinationList::SetAppID または SetCurrentProcessExplicitAppUserModelID を呼び出すYour app creates jump list entries and calls ICustomDestinationList::SetAppID or SetCurrentProcessExplicitAppUserModelID. プログラムによって AppID をコードに設定しないでください。Do not programmatically set your AppID in code. そうすると、ジャンプ リストの項目が表示されません。Doing so will cause your jump list entries to not appear. アプリにカスタム ID が必要な場合は、マニフェスト ファイルを使用して指定してください。If your app needs a custom Id, specify it using the manifest file. 手順については、「アプリを手動でパッケージ化する (デスクトップ ブリッジ)」を参照してください。Refer to Package an app manually (Desktop Bridge) for instructions. アプリケーションの AppID は YOUR_PRAID_HERE セクションに指定されます。The AppID for your application is specified in the YOUR_PRAID_HERE section.

    • アプリが、パッケージ内の実行可能ファイルを参照するジャンプ リスト シェル リンクを追加しますYour app adds a jump list shell link that references an executable in your package. ジャンプ リストから直接、パッケージ内の実行可能ファイルを起動することはできません (アプリ自体の .exe の絶対パスを使用する場合は除く)。You cannot directly launch executables in your package from a jump list (with the exception of the absolute path of an app’s own .exe). アプリの実行エイリアスを登録し (これで、まるで PATH に指定されているかのように、キーワードを使ってパッケージ デスクトップ アプリを起動できます)、リンク先のパスにこのエイリアスを設定します。Instead, register an app execution alias (which allows your packaged desktop app to start via a keyword as though it were on the PATH) and set the link target path to the alias instead. appExecutionAlias 拡張機能の使用方法については、「Windows 10 にアプリを統合する (デスクトップ ブリッジ)」をご覧ください。For details on how to use the appExecutionAlias extension, see Integrate your app with Windows 10 (Desktop Bridge). 元の .exe に一致するジャンプ リストのリンク アセットが必要な場合は、他のカスタム項目と同様に、SetIconLocation を使用してアイコンなどのアセットを設定し、PKEY_Title を使用して名前を表示します。Note that if you require assets of the link in jump list to match the original .exe, you will need to set assets such as the icon using SetIconLocation and the display name with PKEY_Title like you would for other custom entries.

    • アプリが、絶体パスを使用して、アプリのパッケージ内のアセットを参照するジャンプ リスト項目を追加しますYour app adds a jump list entries that references assets in the app's package by absolute paths. アプリのインストール パスが、パッケージが更新されるときに変更され、アセット (アイコン、ドキュメント、実行可能ファイルなど) の場所が変わる場合があります。The installation path of an app may change when its packages are updated, changing the location of assets (such as icons, documents, executable, and so on). ジャンプ リストの項目が、そのようなアセットを絶対パスで参照している場合、アプリのジャンプ リストを定期的に (アプリの起動時など) 更新して、パスが正しく解決されるようにします。If jump list entries reference such assets by absolute paths, then the app should refresh its jump list periodically (such as on app launch) to ensure paths resolve correctly. または、UWP Windows.UI.StartScreen.JumpList API を使用します。この API では、package-relative ms-resource URI スキーマ (これは言語、DPI、ハイ コントラストにも対応します) を使用して、文字列アセットと画像アセットを参照できます。Alternatively, use the UWP Windows.UI.StartScreen.JumpList APIs instead, which allow you to reference string and image assets using the package-relative ms-resource URI scheme (which is also language, DPI, and high contrast aware).

  • タスクを実行するユーティリティがアプリによって起動されるYour app starts a utility to perform tasks. PowerShell や Cmd.exe など、コマンド ユーティリティの起動は避けてください。Avoid starting command utilities such as PowerShell and Cmd.exe. Windows 10 S を実行するシステムにユーザーが対象アプリをインストールした場合、アプリではこのようなユーティリティを一切起動できません。In fact, if users install your app onto a system that runs the Windows 10 S, then your app won’t be able to start them at all. Microsoft Store へのアプリの申請がブロックされる可能性があります。これは、Microsoft Store に申請されるすべてのアプリが Windows 10 S に対応している必要があるためです。This could block your app from submission to the Microsoft Store because all apps submitted to the Microsoft Store must be compatible with Windows 10 S.

ユーティリティの起動は、オペレーティング システムからの情報の取得、レジストリへのアクセス、システム機能へのアクセスなどを行うための手段として便利であることが少なくありません。Starting a utility can often provide a convenient way to obtain information from the operating system, access the registry, or access system capabilities. ただし、このような作業を実行するには、代わりに UWP API を使用することができます。However, you can use UWP APIs to accomplish these sorts of tasks instead. 個別の実行可能ファイルを必要としないため、これらの API の方が高効率ですが、さらに重要な点は、この方法を使用するとパッケージ外でアプリにアクセスされないよう分離できることです。Those APIs are more performant because they don’t need a separate executable to run, but more importantly, they keep the app from reaching outside of the package. アプリの設計が、デスクトップ ブリッジでパッケージ化したアプリで提供される分離、信頼性、セキュリティに従った形に維持されるため、Windows 10 S で実行されるシステムで、アプリを正しく実行できます。The app’s design stays consistent with the isolation, trust, and security that comes with a app that you you've package with the desktop bridge, and your app will behave as expected on systems running Windows 10 S.

  • アプリで、アドイン、プラグイン、または拡張機能をホストしているYour app hosts add-ins, plug-ins, or extensions. 多くの場合、COM スタイルの拡張機能は、引き続き動作します。ただし、拡張機能がパッケージ化されておらず、完全信頼としてインストールされている場合に限られます。In many cases, COM-style extensions will likely continue to work as long as the extension has not been packaged, and it installs as full trust. これは、インストーラーによって、完全信頼機能を使用してレジストリを変更し、ホスト アプリで検出できる任意の場所に拡張機能を配置することが可能であるためです。That's because those installers can use their full-trust capabilities to modify the registry and place extension files wherever your host app expects to find them.

    ただし、これらの拡張機能がパッケージ化され、Windows アプリ パッケージとしてインストールされた場合は、各パッケージ (ホスト アプリと拡張機能) が互いに分離されるため、正しく動作しません。However, if those extensions are packaged, and then installed as a Windows app package, they won't work because each package (the host app and the extension) will be isolated from one another. デスクトップ ブリッジによってアプリケーションがシステムから分離されるしくみについては、「デスクトップ ブリッジの内側」をご覧ください。To read more about how desktop bridge isolates applications from the system, see Behind the scenes of the Desktop Bridge.

    Windows 10 S を実行するシステムにユーザーがインストールするすべてのアプリケーションおよび拡張機能は、Windows アプリ パッケージとしてインストールされる必要があります。All applications and extensions that users install to a system running Windows 10 S must be installed as Windows App packages. このため、拡張機能をパッケージ化する予定がある場合や、関係者にパッケージ化を奨励する場合は、ホスト アプリ パッケージと拡張機能パッケージの間でのやり取りをどのように実現するか、検討する必要があります。So if you intend to package your extensions, or you plan to encourage your contributors to package them, consider how you might facilitate communication between the host app package and any extension packages. 1 つの方法として、アプリ サービスを使用することもできます。One way that you might be able to do this is by using an app service.

  • アプリがコードを生成するYour app generates code. アプリは、メモリ内で消費されるコードを生成できますが、生成されたコードはディスクに書き込まないでください。このようなコードは、アプリの提出前に Windows アプリ認定プロセスで検証することができません。Your app can generate code that it consumes in memory, but avoid writing generated code to disk because the Windows App Certification process can't validate that code prior to app submission. また、Windows 10 S を実行するシステムでは、ディスクにコードを書き込むアプリは正しく動作しません。Microsoft Store に申請されるすべてのアプリが Windows 10 S に対応している必要があるため、Microsoft Store へのアプリの申請がブロックされる可能性があります。Also, apps that write code to disk won’t run properly on systems running Windows 10 S. This could block your app from submission to the Microsoft Store because all apps submitted to the Microsoft Store must be compatible with Windows 10 S.


Windows アプリ パッケージを作成した後、アプリをテストして Windows 10 S を実行するシステムで正常に動作することを確認してください。Microsoft Store に提出するすべてのアプリは、Windows 10 S と互換性がある必要があります、互換性のないアプリは Microsoft Store で受け入れられません。After you've created your Windows app package, please test your app to ensure that it works correctly on systems that run Windows 10 S. All apps submitted to the Microsoft Store must be compatible with Windows 10 S. Apps that aren't compatible won't be accepted in the store. Windows アプリの Windows 10 S 対応をテストする」をご覧ください。See Test your Windows app for Windows 10 S.

次のステップ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.

デスクトップ アプリの Windows アプリ パッケージを作成するCreate a Windows app package for your desktop app

Windows アプリ パッケージを作成する」をご覧ください。See Create a Windows app package