パッケージ、Desktop App Converter を使用してデスクトップ アプリケーションPackage a desktop application using the Desktop App Converter


Desktop App Converter ツールで非推奨とされます。The Desktop App Converter tool is deprecated. 使用することをお勧め、 MSIX パッケージ化ツール代わりにします。We recommend that you use the MSIX Packaging Tool instead.

DAC アイコン

Desktop App Converter (DAC) は、分散など、Microsoft Store を使用してサービスの最新の Windows 機能と統合するデスクトップ アプリケーション用のパッケージを作成します。The Desktop App Converter (DAC) creates packages for desktop applications to integrate with the latest Windows features, including distribution and servicing via the Microsoft Store. Win32 アプリや .NET 4.6.1 を使用して作成されたアプリも対象になります。This includes Win32 apps and apps that you've created by using .NET 4.6.1.

Desktop App Converter を入手するGet the Desktop App Converter

このツールの名前には "Converter" という用語が含まれますが、実は、アプリの変換は行いません。While the term "Converter" appears in the name of this tool, it doesn't actually convert your app. アプリケーションは変更されません。Your application remains unchanged. しかし、DACは、パッケージ ID を持ち多くの WinRT API を呼び出すことができる Windows アプリ パッケージを生成します。However, this tool generates a Windows app package with a package identity and the ability to call a vast range of WinRT APIs.

このパッケージは、開発コンピューターで Add-AppxPackage という PowerShell コマンドレットを使ってインストールすることができます。You can install that package by using the Add-AppxPackage PowerShell cmdlet on your development machine.

このコンバーターは、コンバーターのダウンロードに含まれるクリーンな状態の基本イメージを使って、分離された Windows 環境でデスクトップ インストーラーを実行します。The converter runs the desktop installer in an isolated Windows environment by using a clean base image provided as part of the converter download. デスクトップ インストーラーが作成するすべてのレジストリとファイル システムの I/O がキャプチャされ、出力の一部としてパッケージ化されます。It captures any registry and file system I/O made by the desktop installer and packages it as part of the output.


Desktop App Converter は、Windows 10 バージョン 1607、以降でサポートされます。Desktop App Converter is supported on Windows 10, version 1607, and later. Windows 10 Anniversary Update (10.0; を対象とするプロジェクトでのみ使用できます。ビルド 14393) または Visual Studio の今後のリリース。It can only be used in projects that target Windows 10 Anniversary Update (10.0; Build 14393) or a later release in Visual Studio.

DAC が行うのはパッケージの生成だけではありませんThe DAC does more than just generate a package for you

他にも以下のような処理を実行できます。Here's a few extra things it can do for you.

Windows 10 Creators Update します。Windows 10 Creators Update

:heavy_check_mark:プレビュー ハンドラー、サムネイル ハンドラー、プロパティ ハンドラー、ファイアウォール規則、URL フラグを自動的に登録する。:heavy_check_mark: Automatically register your preview handlers, thumbnail handlers, property handlers, firewall rules, URL flags.

:heavy_check_mark:ファイルの種類のマッピングを自動的に登録する。これによりユーザーは、エクスプローラーの [種類] 列を使ってファイルをグループ化できるようになります。:heavy_check_mark: Automatically register file type mappings that enable users to group files by using the Kind column in File Explorer.

:heavy_check_mark:公開 COM サーバーを登録する。:heavy_check_mark: Register your public COM servers.

Windows 10 Anniversary Update 以降Windows 10 Anniversary Update or later

:heavy_check_mark:アプリをテストできるように、パッケージに自動的に署名する。:heavy_check_mark: Automatically sign your package so that you can test your app.

:heavy_check_mark:パッケージ アプリと Microsoft Store の要件に照らしてアプリケーションを検証します。:heavy_check_mark: Validate your application against packaged app and Microsoft Store requirements.

オプションの完全な一覧については、このガイドの「パラメーター リファレンス」セクションをご覧ください。To find a complete list of options, see the Parameters section of this guide.

パッケージを作成する準備ができたら、始めましょう。If you're ready to create your package, let's start.

まず、アプリケーションを準備しますFirst, prepare your application

アプリケーションのパッケージの作成を開始する前に、このガイドを確認します。デスクトップ アプリケーションをパッケージ化するための準備します。Review this guide before you begin creating a package for your application: Prepare to package a desktop application.

システムでコンバーターを実行できることを確認するMake sure that your system can run the converter

システムが以下の要件を満たしていることを確認します。Make sure that your system meets the following requirements:

Desktop App Converter を起動するStart the Desktop App Converter

  1. Desktop App Converterをダウンロードおよびインストールします。Download and install the Desktop App Converter.

  2. 管理者として Desktop App Converter を実行します。Run the Desktop App Converter as an administrator.

    DAC を管理者として実行する

    コンソール ウィンドウが開きます。A console window appears. コマンドを実行するには、このコンソール ウィンドウを使います。You'll use that console window to run commands.

必要な設定を行う (インストーラーがあるアプリのみ)Set a few things up (apps with installers only)

進んで、次のセクションに、アプリケーションは、インストーラーを持っていない場合。You can skip ahead to the next section if your application doesn't have an installer.

  1. オペレーティング システムのバージョン番号を特定します。Identify the version number of your operating system.

    そのためには、 [ファイル名を指定して実行] ダイアログ ボックスで「winver」と入力し、 [OK] をクリックします。To do that, type winver in the Run dialog box, and then choose the OK button.


    [Windows のバージョン情報] ダイアログ ボックスに Windows ビルドのバージョンが表示されます。You'll find the version of your Windows build in the About Windows dialog box.

    Windows 10 のバージョン

  2. 適切な Desktop App Converter 基本イメージをダウンロードします。Download the appropriate Desktop app Converter base image.

    ファイル名に含まれるバージョン番号が Windows ビルドのバージョン番号と一致していることを確認してください。Make sure that the version number that appears in the name of the file matches the version number of your Windows build.


    ビルド番号を使用している場合15063、そのビルドのマイナー バージョン以上になるは .483 (例。15063.540) をダウンロードすることを確認、 UPDATE.wim-BaseImage-15063ファイル。If you're using build number 15063, and the minor version of that build is equal to or greater than .483 (For example: 15063.540), make sure to download the BaseImage-15063-UPDATE.wim file. そのビルドのマイナー バージョンが .483 未満である場合は、BaseImage-15063.wim ファイルをダウンロードします。If the minor version of that build is less than .483, download the BaseImage-15063.wim file. このベース ファイルの互換性のないバージョンを既にセットアップしている場合は、修正することができます。If you've already setup an incompatible version of this base file, you can fix it. その方法については、このブログの投稿をご覧ください。This blog post explains how to do that.

  3. ダウンロードしたファイルを後で見つけることができるように、コンピューター上の適切な場所に置きます。Place the downloaded file anywhere on your computer where you'll be able to find it later.

  4. Desktop App Converter を起動したときに表示されるコンソール ウィンドウで、コマンド Set-ExecutionPolicy bypass を実行します。In the console window that appeared when you started the Desktop App Converter, run this command: Set-ExecutionPolicy bypass.

  5. コマンド DesktopAppConverter.exe -Setup -BaseImage .\BaseImage-1XXXX.wim -Verbose を実行してコンバーターをセットアップします。Set up the converter by running this command: DesktopAppConverter.exe -Setup -BaseImage .\BaseImage-1XXXX.wim -Verbose.

  6. 画面の指示に従って、コンピューターを再起動します。Restart your computer if you're prompted to do so.

    コンバーターによって基本イメージが展開されると、コンソール ウィンドウに状態メッセージが表示されます。Status messages appear in the console window as the converter expands the base image. 状態メッセージが表示されない場合は、任意のキーを押します。If you don't see any status messages, press any key. これにより、コンソール ウィンドウの内容が更新されます。This can cause the contents of the console window to refresh.

    コンソール ウィンドウに表示された状態メッセージ

    基本イメージが完全に展開されたら、次のセクションに進みます。When the base image is fully expanded, move to the next section.

アプリをパッケージ化するPackage an app

アプリをパッケージ化するには、Desktop App Converter を起動したときに開くコンソール ウィンドウで DesktopAppConverter.exe コマンドを実行します。To Package your app, run the DesktopAppConverter.exe command in the console window that opened when you started the Desktop App Converter.

パラメーターを使用して、アプリケーションのパッケージの名前、発行者、およびバージョン番号を指定します。You'll specify the package name, publisher and version number of the application by using parameters.


使用して、パッケージとパブリッシャーの名前を取得するには、Microsoft Store でアプリ名に予約した場合パートナー センターします。If you've reserved your app name in the Microsoft Store, you can obtain the package and publisher names by using Partner Center. アプリを他のシステムにサイドローディング展開する場合は、独自の名前を指定できます。ただし、選択する発行元名は、アプリへの署名に使用する証明書の名前と一致する必要があります。If you plan to sideload your app onto other systems, you can provide your own names for these as long as the publisher name that you choose matches the name on the certificate you use to sign your app.

コマンド パラメーターの確認A quick look at command parameters

必要なパラメーターは次のとおりです。Here are the required parameters.

-Installer <String>
-Destination <String>
-PackageName <String>
-Publisher <String>
-Version <Version>

各パラメーターについて詳しくは、こちらをご覧ください。You can read about each one here.


アプリをパッケージ化する一般的な方法のいくつかを以下に示します。Here's a few common ways to package your app.

パッケージ インストーラー (.msi) ファイルがあるアプリケーションPackage an application that has an installer (.msi) file

Installer パラメーターでインストーラー ファイルを指定します。Point to the installer file by using the Installer parameter.

DesktopAppConverter.exe -Installer C:\Installer\MyAppSetup.msi -Destination C:\Output\MyApp -PackageName "MyApp" -Publisher "CN=MyPublisher" -Version


ここで留意すべき重要なことが 2 つあります。There are two important things to keep in mind here. まず、インストーラーは独立したフォルダーに配置し、そのインストーラーに関連するファイルだけを同じフォルダーに配置してください。First, make sure that your installer is located in an independent folder and that only files related to that installer are in the same folder. コンバーターは、このフォルダーの内容をすべて、分離された Windows 環境にコピーします。The converter copies all of the contents of that folder to the isolated Windows environment.
次に、パートナー センターでは、id を数字で始まる場合、パッケージに割り当てられる場合、確認で渡すことも、 - AppIdパラメーター、およびそのパラメーターの値としては、(後にピリオドを区切り文字) 文字列サフィックスのみを使用します。Secondly, if Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.

インストーラーに、従属ライブラリやフレームワークのインストーラーが含まれている場合、少し異なる方法で整理する必要があります。If your installer includes installers for dependent libraries or frameworks, you might have to organize things a bit a differently. 複数のインストーラーとデスクトップ ブリッジの連結に関する記事をご覧ください。See Chaining multiple installers with the Desktop Bridge.

セットアップの実行可能ファイルがあるアプリケーションをパッケージ化します。Package an application that has a setup executable file

Installer パラメーターを使って、セットアップの実行可能ファイルを指定します。Point to the setup executable by using the Installer parameter.

DesktopAppConverter.exe -Installer C:\Installer\MyAppSetup.exe -InstallerArguments "/S" -Destination C:\Output\MyApp -PackageName "MyApp" -Publisher "CN=MyPublisher" -Version


パートナー センターによって id が数字で始まる場合、パッケージに割り当てられる場合に渡すことも確認、 - AppIdパラメーター、およびそのパラメーターの値としては、(後にピリオドを区切り文字) 文字列サフィックスのみを使用します。If Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.

InstallerArguments パラメーターは省略可能なパラメーターです。The InstallerArguments parameter is an optional parameter. ただし、Desktop App Converter のには、インストーラーを無人モードで実行する必要があります、ためには、アプリケーションがサイレント フラグをサイレント実行する必要がある場合に使用する必要があります。However, because the Desktop App Converter needs your installer to run in unattended mode, you might have to use it if your application needs silent flags to run silently. /S フラグは非常に一般的なサイレント フラグですが、セットアップ ファイルを作成するために使用したインストーラー テクノロジによっては、使用するフラグが異なる場合もあります。The /S flag is a very common silent flag, but the flag that you use might be different depending on which installer technology you used to create the setup file.

インストーラーがないアプリケーションをパッケージ化します。Package an application that doesn't have an installer

この例では、使用、Installerアプリケーション ファイルのルート フォルダーを指定するパラメーター。In this example, use the Installer parameter to point to the root folder of your application files.

アプリの実行可能ファイルを指定するには、AppExecutable パラメーターを使用します。Use the AppExecutable parameter to point to your apps executable file.

DesktopAppConverter.exe -Installer C:\Installer\MyApp\ -AppExecutable MyApp.exe -Destination C:\Output\MyApp -PackageName "MyApp" -Publisher "CN=MyPublisher" -Version


パートナー センターによって id が数字で始まる場合、パッケージに割り当てられる場合に渡すことも確認、 - AppIdパラメーター、およびそのパラメーターの値としては、(後にピリオドを区切り文字) 文字列サフィックスのみを使用します。If Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.

アプリをパッケージ化し、アプリに署名して、パッケージに対して検証チェックを実行するPackage an app, sign the app, and run validation checks on the package

この例は、ローカル テストでアプリケーションへの署名およびパッケージ アプリと Microsoft Store の要件に照らしてアプリケーションを検証する方法を示しています点を除いて最初の 1 つに似ています。This example is similar to first one except it shows how you can sign your application for local testing, and then validate your application against packaged app and Microsoft Store requirements.

DesktopAppConverter.exe -Installer C:\Installer\MyAppSetup.exe -InstallerArguments "/S" -Destination C:\Output\MyApp -PackageName "MyApp" -Publisher "CN=MyPublisher" -Version -MakeAppx -Sign -Verbose -Verify


パートナー センターによって id が数字で始まる場合、パッケージに割り当てられる場合に渡すことも確認、 - AppIdパラメーター、およびそのパラメーターの値としては、(後にピリオドを区切り文字) 文字列サフィックスのみを使用します。If Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.

Signパラメーター証明書を生成し、それを使用してアプリケーションに署名します。The Sign parameter generates a certificate and then signs your application with it. アプリを実行するには、生成された証明書をインストールする必要があります。To run your app, you'll have to install that generated certificate. その方法については、このガイドの「パッケージ アプリを実行する」セクションをご覧ください。To learn how, see the Run the packaged app section of this guide.

検証でくアプリケーションを使用して、Verifyパラメーター。You can validate you application by using the Verify parameter.

省略可能なパラメーターの確認A quick look at optional parameters

Sign パラメーターと Verify パラメーターは省略可能です。The Sign and Verify parameters are optional. 他にも多数の省略可能なパラメーターがあります。There are many more optional parameters. よく使用される省略可能なパラメーターを以下に示します。Here are some of the more commonly used optional parameters.

[-ExpandedBaseImage <String>]
[-AppExecutable <String>]
[-AppFileTypes <String>]
[-AppId <String>]
[-AppDisplayName <String>]
[-AppDescription <String>]
[-PackageDisplayName <String>]
[-PackagePublisherDisplayName <String>]
[-LogFile <String>]

これらについて詳しくは、次のセクションをご覧ください。You can read about all of them in the next section.

パラメーター リファレンスParameter Reference

ここでは、Desktop App Converter を実行するときに使用できるパラメーターの完全な一覧をカテゴリ別に示します。Here's the complete list of parameters (organized by category) that you can use when you run the Desktop App Converter.

アプリ コンソール ウィンドウで Get-Help コマンドを実行して完全な一覧を表示することもできます。You can also view the entire list by running the Get-Help command in the app console window.

セットアップ パラメーター Setup parameters
-Setup [<SwitchParameter>]-Setup [<SwitchParameter>] 必須Required セットアップ モードで DesktopAppConverter を実行します。Runs DesktopAppConverter in setup mode. セットアップ モードでは、用意されている基本イメージの展開をサポートします。Setup mode supports expanding a provided base image.
-BaseImage <String>-BaseImage <String> 必須Required 展開されていない基本イメージの完全パス。Full path to an unexpanded base image. このパラメーターは、-Setup を指定する場合に必要です。This parameter is required if -Setup is specified.
-LogFile <String>-LogFile <String> 省略可能Optional ログ ファイルを指定します。Specifies a log file. 省略した場合は、ログ ファイルの一時的な場所が作成されます。If omitted, a log file temporary location will be created.
-NatSubnetPrefix <String>-NatSubnetPrefix <String> 省略可能Optional Nat インスタンスで使うプレフィックス値。Prefix value to be used for the Nat instance. 通常この値は、ホスト コンピューターがコンバーターの NetNat と同じサブネット範囲に割り当てられている場合にのみ変更します。Typically, you would want to change this only if your host machine is attached to the same subnet range as the converter's NetNat. 現在のコンバーターの NetNat 構成は Get NetNat コマンドレットを使って照会できます。You can query the current converter NetNat config by using the Get-NetNat cmdlet.
-NoRestart [<SwitchParameter>]-NoRestart [<SwitchParameter>] 必須Required セットアップの実行中に再起動を要求しません (コンテナー機能を有効にするには再起動が必要です)。Don't prompt for reboot when running setup (reboot is required to enable the container feature).
変換パラメーター Conversion parameters
-AppInstallPath <String>-AppInstallPath <String> 省略可能Optional インストール済みのファイルに対応する、アプリケーションのルート フォルダーの完全パス (インストールされている場合)。"C:\Program Files (x86)\MyApp" など。The full path to your application's root folder for the installed files if it were installed (e.g., "C:\Program Files (x86)\MyApp").
-Destination <String>-Destination <String> 必須Required コンバーターの appx を出力する場所。この場所がまだ存在しない場合は、DesktopAppConverter によって作成されます。The desired destination for the converter's appx output - DesktopAppConverter can create this location if it doesn't already exist.
-Installer <String>-Installer <String> 必須Required アプリケーションのインストーラーのパス。無人/サイレント モードで実行できるようにする必要があります。The path to the installer for your application - must be able to run unattended/silently. No インストーラー変換では、これは、アプリケーション ファイルのルート ディレクトリのパスです。No-installer conversion, this is the path to the root directory of your application files.
-InstallerArguments <String>-InstallerArguments <String> 省略可能Optional インストーラーに無人/サイレント モードでの実行を強制する引数の文字列、またはコンマ区切り一覧。A comma-separated list or string of arguments to force your installer to run unattended/silently. インストーラーが msi の場合は、このパラメーターは省略可能です。This parameter is optional if your installer is an msi. インストーラーからログを取得するには、ここで、インストーラーのログ記録の引数を指定し、パス <log_folder> (コンバーターが適切なパスに置換するトークン) を使います。To get a log from your installer, supply the logging argument for the installer here and use the path <log_folder>, which is a token that the converter replaces with the appropriate path.

:サイレント/無人のフラグとログ引数インストーラー テクノロジによって異なります。NOTE: The unattended/silent flags and log arguments will vary between installer technologies.

このパラメーターの使用例: - InstallerArguments"/silent/log <log_folder>\install.log"ログ ファイルを生成しない別の例のようになります。-InstallerArguments "/quiet", "/norestart" ここでも、する指示する必要が文字どおりトークンのパスにログがあれば<log_folder>する場合はそれをキャプチャし、最後のログ フォルダーに配置するコンバーター。An example usage for this parameter: -InstallerArguments "/silent /log <log_folder>\install.log" Another example that doesn't produce a log file may look like: -InstallerArguments "/quiet", "/norestart" Again, you must literally direct any logs to the token path <log_folder> if you want the converter to capture it and put it in the final log folder.
-InstallerValidExitCodes <Int32>-InstallerValidExitCodes <Int32> 省略可能Optional インストーラーを示す終了コードのコンマ区切りの一覧が正常に実行 (例。0, 1234, 5678).A comma-separated list of exit codes that indicate your installer ran successfully (for example: 0, 1234, 5678). 既定では、非 msi は 0、msi は 0, 1641, 3010 です。By default this is 0 for non-msi, and 0, 1641, 3010 for msi.
-MakeAppx [<SwitchParameter>]-MakeAppx [<SwitchParameter>] 省略可能Optional このスクリプトに出力で MakeAppx を呼び出すように指示するスイッチ (存在する場合)。A switch that, when present, tells this script to call MakeAppx on the output.
-MakeMSIX [<SwitchParameter>]-MakeMSIX [<SwitchParameter>] 省略可能Optional 存在する場合、MSIX パッケージとして出力をパッケージ化するには、このスクリプトに指示するスイッチ。A switch that, when present, tells this script to package the output as an MSIX Package.
パッケージの id パラメーターPackage identity parameters
-PackageName <String>-PackageName <String> 必須Required ユニバーサル Windows アプリ パッケージの名前。The name of your Universal Windows App package. パートナー センターによって id が数字で始まる場合、パッケージに割り当てられる場合に渡すことも確認、 - AppIdパラメーター、およびそのパラメーターの値としては、(後にピリオドを区切り文字) 文字列サフィックスのみを使用します。If Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.
-Publisher <String>-Publisher <String> 必須Required ユニバーサル Windows アプリ パッケージの発行元The publisher of your Universal Windows App package
-Version <Version>-Version <Version> 必須Required ユニバーサル Windows アプリ パッケージのバージョン番号The version number for your Universal Windows App package
パッケージ マニフェストのパラメーターPackage manifest parameters
-AppExecutable <String>-AppExecutable <String> 省略可能Optional アプリケーションのメインの実行可能ファイルの名前 (例:"MyApp.exe")。The name of your application's main executable (eg "MyApp.exe"). インストーラーを使用しない変換では、このパラメーターは必須です。This parameter is required for a no-installer conversion.
-AppFileTypes <String>-AppFileTypes <String> 省略可能Optional アプリケーションに関連付ける、ファイルの種類のコンマ区切りの一覧。A comma-separated list of file types which the application will be associated with. 使用例: -AppFileTypes "'.md', '.markdown'"。Example usage: -AppFileTypes "'.md', '.markdown'".
-AppId <String>-AppId <String> 省略可能Optional Windows アプリ パッケージ マニフェストでアプリケーション ID を設定する値を指定します。Specifies a value to set Application Id to in the Windows app package manifest. 指定しなかった場合は、PackageName で渡した値が設定されます。If it is not specified, it will be set to the value passed in for PackageName. 多くの場合、PackageName を使って問題ありません。In many cases, using the PackageName is fine. ただし、パートナー センターでは、id を数字で始まる場合、パッケージに割り当てられる場合、確認で渡すことも、 - AppIdパラメーター、およびそのパラメーターの値としては、(後にピリオドを区切り文字) 文字列サフィックスのみを使用します。However, if Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.
-AppDisplayName <String>-AppDisplayName <String> 省略可能Optional Windows アプリ パッケージ マニフェストでアプリケーションの表示名を設定する値を指定します。Specifies a value to set Application Display Name to in the Windows app package manifest. 指定しなかった場合は、PackageName で渡した値が設定されます。If it is not specified, it will be set to the value passed in for PackageName.
-AppDescription <String>-AppDescription <String> 省略可能Optional Windows アプリ パッケージ マニフェストでアプリケーションの説明を設定する値を指定します。Specifies a value to set Application Description to in the Windows app package manifest. 指定しなかった場合は、PackageName で渡した値が設定されます。If it is not specified, it will be set to the value passed in for PackageName.
-PackageDisplayName <String>-PackageDisplayName <String> 省略可能Optional Windows アプリ パッケージ マニフェストでパッケージの表示名を設定する値を指定します。Specifies a value to set Package Display Name to in the Windows app package manifest. 指定しなかった場合は、PackageName で渡した値が設定されます。If it is not specified, it will be set to the value passed in for PackageName.
-PackagePublisherDisplayName <String>-PackagePublisherDisplayName <String> 省略可能Optional Windows アプリ パッケージ マニフェストでパッケージ発行元の表示名を設定する値を指定します。Specifies a value to set Package Publisher Display Name to in the Windows app package manifest. 指定しないと、Publisher で渡した値が設定されます。If it is not specified, it will be set to the value passed in for Publisher.
クリーンアップ パラメーターCleanup parameters
-Cleanup [<Option>]-Cleanup [<Option>] 必須Required DesktopAppConverter の成果物のクリーンアップを実行します。Runs cleanup for the DesktopAppConverter artifacts. クリーンアップ モードには 3 つの有効なオプションがあります。There are 3 valid options for the Cleanup mode.
-Cleanup All-Cleanup All 展開済みのすべての基本イメージを削除し、コンバーターのすべての一時ファイルを削除します。コンテナーのネットワークを削除し、Windows のオプション機能、コンテナーを無効にします。Deletes all expanded base images, removes any temporary converter files, removes the container network, and disables the optional Windows feature, Containers.
-Cleanup WorkDirectory-Cleanup WorkDirectory 必須Required コンバーターのすべての一時ファイルを削除します。Removes all the temporary converter files.
-Cleanup ExpandedImage-Cleanup ExpandedImage 必須Required ホスト コンピューターにインストールされているすべての展開済みの基本イメージを削除します。Deletes all the expanded base images installed on your host machine.
パッケージ アーキテクチャ パラメーターPackage architecture parameters
-PackageArch <String>-PackageArch <String> 必須Required 指定したアーキテクチャのパッケージを生成します。Generates a package with the specified architecture. 有効なオプションは、'x86' または 'x64' です。たとえば、-PackageArch x86 のように指定します。Valid options are 'x86' or 'x64'; for example, -PackageArch x86. このパラメーターは省略可能です。This parameter is optional. 指定されていない場合、DesktopAppConverter はパッケージのアーキテクチャの自動検出を試みます。If unspecified, the DesktopAppConverter will try to auto-detect package architecture. 自動検出に失敗した場合、既定値は x64 パッケージです。If auto-detection fails, it will default to x64 package.
その他のパラメーターMiscellaneous parameters
-ExpandedBaseImage <String>-ExpandedBaseImage <String> 省略可能Optional 既に展開済みの基本イメージの完全パス。Full path to an already expanded base image.
-LogFile <String>-LogFile <String> 省略可能Optional ログ ファイルを指定します。Specifies a log file. 省略した場合は、ログ ファイルの一時的な場所が作成されます。If omitted, a log file temporary location will be created.
-Sign [<SwitchParameter>]-Sign [<SwitchParameter>] 省略可能Optional 出力する Windows アプリ パッケージに、テスト用に生成された証明書を使用して署名するようにこのスクリプトに指示します。Tells this script to sign the output Windows app package by using a generated certificate for testing purposes. このスイッチは、-MakeAppx スイッチと共に含める必要があります。This switch should be present alongside the switch -MakeAppx.
<共通パラメーター><Common parameters> 必須Required このコマンドレットでは、詳細なデバッグErrorActionErrorVariableWarningActionWarningVariableOutBufferPipelineVariable、およびOutVariableします。This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. 詳細については、「about_CommonParameters」をご覧ください。For more info, see about_CommonParameters.
-Verify [<SwitchParameter>]-Verify [<SwitchParameter>] 省略可能Optional 存在する場合は、パッケージ アプリと Microsoft Store の要件に対してアプリ パッケージを検証する DAC を通知するスイッチ。A switch that, when present, tells the DAC to validate the app package against packaged app and Microsoft Store requirements. 結果は、検証レポート "VerifyReport.xml" で、ブラウザーでの視覚化に最適です。The result is a validation report "VerifyReport.xml", which is best visualized in a browser. このスイッチは、-MakeAppx スイッチと共に含める必要があります。This switch should be present alongside the switch -MakeAppx.
-PublishComRegistrations-PublishComRegistrations 省略可能Optional インストーラーによって行われたすべての パブリック COM 登録をスキャンし、有効な登録をマニフェストで公開します。Scans all public COM registrations made by your installer and publishes the valid ones in your manifest. このフラグは、これらの登録を他のアプリケーションで利用できるようにする場合にのみ使用してください。Use this flag only if you want to make these registrations available to other applications. これらの登録を対象アプリケーションでのみ使用する場合、このフラグを使用する必要はありません。You don't need to use this flag if these registrations will be used only by your application.

アプリをパッケージ化した後、正常に動作するように COM 登録を行うには、こちらの記事をご覧ください。Review this article to make sure that your COM registrations behave as you expect after you package your app.

パッケージ アプリを実行するRun the packaged app

アプリを実行するには、2 種類の方法があります。There's two ways to run your app.

1 つ目は、PowerShell コマンド プロンプトを開いて、Add-AppxPackage –Register AppxManifest.xml というコマンドを入力する方法です。One way is to open a PowerShell command prompt, and then type this command: Add-AppxPackage –Register AppxManifest.xml. 署名する必要がないために、アプリケーションを実行する最も簡単な方法です。It's probably the easiest way to run your application because you don't have to sign it.

別の方法では、証明書を使用してアプリケーションに署名します。Another way is to sign your application with a certificate. 使用する場合、 sign Desktop App Converter のパラメーターは、1 つを生成し、それを使用してアプリケーションにサインインします。If you use the sign parameter, the Desktop App Converter will generate one for you, and then sign your application with it. その証明書ファイルは auto-generated.cer という名前になり、パッケージ アプリのルート フォルダーに配置されます。That file is named auto-generated.cer, and you can find it in the root folder of your packaged app.

生成された証明書をインストールし、アプリを実行するには、次の手順を実行します。Follow these steps to install the generated certificate, and then run your app.

  1. auto-generated.cer ファイルをダブルクリックして証明書をインストールします。Double-click the auto-generated.cer file to install the certificate.



    パスワードを求められた場合は、既定のパスワード "123456" を使用します。If you're prompted for a password, use the default password "123456".

  2. [証明書] ダイアログ ボックスで、 [証明書のインストール] を選択します。In the Certificate dialog box, choose the Install Certificate button.

  3. 証明書インポート ウィザードで、証明書をローカル コンピューターにインストールし、証明書を "信頼されたユーザー" の証明書ストアに配置します。In the Certificate Import Wizard, install the certificate onto the Local Machine, and place the certificate into the Trusted People certificate store.

    信頼されたユーザー ストア

  4. パッケージ アプリのルート フォルダーで、Windows アプリのパッケージ ファイルをダブルクリックします。In root folder of your packaged app, double click the Windows app package file.

    Windows アプリのパッケージ ファイル

  5. [インストール] を選択してアプリをインストールします。Install the app, by choosing the Install button.

    [インストール] ボタン

パッケージ アプリを変更するModify the packaged app

バグに対処、ビジュアルの資産を追加またはライブ タイルなどの最新のエクスペリエンスを使用してアプリケーションを強化をパッケージ化されたアプリケーションに変更を行います可能性があります。You'll likely make changes to your packaged application to address bugs, add visual assets, or enhance your application with modern experiences such as live tiles.

変更を加えた後、もう一度コンバーターを実行する必要はありません。After you make your changes, you don't need to run the converter again. ほとんどの場合、MakeAppx ツールを使用してアプリケーションを再パッケージすることができますのみと、アプリの DAC appxmanifest.xml ファイルが生成されます。In most cases, you can just repackage your application by using the MakeAppx tool and the appxmanifest.xml file the DAC generates for your app. Windows アプリ パッケージを生成する」をご覧ください。See Generate a Windows app package.


インストーラーによるレジストリ設定を変更した場合は、その変更を適用するために、Desktop App Converter をもう一度実行する必要があります。If you make changes to registry settings that your installer makes, you will have to run the Desktop App Converter again to pick up those changes.

次の 2 つのセクションでは、いくつかの可能性があるパッケージ化されたアプリケーションに省略可能なによる修正について説明します。The following two sections describe a couple of optional fix-ups to the packaged application that you might consider.

不要なファイルとレジストリ キーを削除するDelete unnecessary files and registry keys

Desktop App Converter は、コンテナー内のファイルとシステム ノイズの除去に、非常に保守的なアプローチを取ります。The desktop App Converter takes a very conservative approach to filtering out files and system noise in the container.

VFS フォルダーを確認し、インストーラーに必要ないファイルがあれば、削除することもできます。If you want, you can review the VFS folder and delete any files that your installer doesn't need. また、Reg.dat の内容を確認し、アプリによってインストールされないキーや不要なキーがあれば、削除できます。You can also review the contents of Reg.dat and delete any keys that are not installed/needed by the app.

破損した PEヘッダーを修正するFix corrupted PE headers

DesktopAppConverter は 変換処理中に PEHeaderCertFixTool を自動的に実行し、破損している PEヘッダーを修正します。During the conversion process, the DesktopAppConverter automatically runs the PEHeaderCertFixTool to fixup any corrupted PE headers. ただし、UWP の Windows アプリ パッケージ、ルーズ ファイル、または特定のバイナリで、PEHeaderCertFixTool を実行することも可能です。However, you can also run the PEHeaderCertFixTool on a UWP Windows app package, loose files, or a specific binary. 次に例を示します。Here's an example.

PEHeaderCertFixTool.exe <binary file>|<.appx package>|<folder> [/c] [/v]
 /c   -- check for corrupted certificate but do not fix (optional)
 /v   -- verbose (optional)
example1: PEHeaderCertFixTool app.exe
example2: PEHeaderCertFixTool c:\package.appx /c
example3: PEHeaderCertFixTool c:\myapp /c /v

Desktop App Converter の利用統計情報Telemetry from Desktop App Converter

Desktop App Converter は、ソフトウェアの使用者と使用方法に関する情報を収集して、この情報を Microsoft に送信することがあります。Desktop App Converter may collect information about you and your use of the software and send this info to Microsoft. Microsoft のデータ収集と製品ドキュメントでの使用の詳細については、「マイクロソフトのプライバシーに関する声明」をご覧ください。You can learn more about Microsoft's data collection and use in the product documentation and in the Microsoft Privacy Statement. お客様は、本ソフトウェアを使用することにより、マイクロソフトのプライバシーに関する声明のすべての適用規定を遵守することに同意したものと見なされます。You agree to comply with all applicable provisions of the Microsoft Privacy Statement.

既定では、Desktop App Converter の利用統計情報は有効にされています。By default, telemetry will be enabled for the Desktop App Converter. 利用統計情報を目的の設定に構成するには、次のレジストリ キーを追加します。Add the following registry key to configure telemetry to a desired setting:

  • DWORD を 1 に設定して、DisableTelemetry 値を追加または編集します。Add or edit the DisableTelemetry value by using a DWORD set to 1.
  • 利用統計情報を有効にするには、このキーを削除するかキーの値を 0 に設定します。To enable telemetry, remove the key or set the value to 0.

サポート言語Language support

Desktop App Converterは、Unicode をサポートしていません。したがって、漢字または非 ASCII 文字をツールで使用することはできません。The Desktop App Converter does not support Unicode; thus, no Chinese characters or non-ASCII characters can be used with the tool.

Desktop App Converter の既知の問題Known issues with the Desktop App Converter


これらのエラーのうちいずれかが発生した場合は、ダウンロード センターから取得した有効な基本イメージを使用しているか確認してください。If you receive either of these errors, make sure that you're using a valid base image from the download center. 有効な基本イメージを使っている場合は、コマンドに -Cleanup All を含めてみてください。If you’re using a valid base image, try using -Cleanup All in your command. それでも問題が解決しない場合は、調査用としてログを converter@microsoft.com にお送りください。If that does not work, please send us your logs at converter@microsoft.com to help us investigate.

New-containernetwork:オブジェクトは既にエラーNew-ContainerNetwork: The object already exists error

新しい基本イメージをセットアップするときは、このエラーが発生する可能性があります。You might receive this error when you setup a new base image. Desktop App Converter が先にインストールされた開発用コンピューターに Windows Insider フライトがある場合に、このエラーが発生することがあります。This can happen if you have a Windows Insider flight on a developer machine that previously had the Desktop App Converter installed.

この問題を解決するには、管理者特権で開いたコマンド プロンプトで Netsh int ipv4 reset コマンドを実行して、コンピューターを再起動します。To resolve this issue, try running the command Netsh int ipv4 reset from an elevated command prompt, and then reboot your machine.

.NET アプリケーションは、"AnyCPU"ビルド オプションを使用してコンパイルされ、インストールに失敗します。Your .NET application is compiled with the "AnyCPU" build option and fails to install

この問題は、メインの実行可能ファイルまたは何らかの依存ファイルが、Program Files または Windows\System32 のフォルダー階層に配置された場合に発生することがあります。This can happen if the main executable or any of the dependencies were placed anywhere in the Program Files or Windows\System32 folder hierarchy.

この問題を解決するには、アーキテクチャ固有のデスクトップ インストーラー (32 ビットまたは 64 ビット) を使って Windowsアプリ パッケージを生成してみてください。To resolve this issue, try using your architecture-specific desktop installer (32 bit or 64 bit) to generate a Windows app package.

パブリック side-by-side Fusion アセンブリの公開が機能しないPublishing public side-by-side Fusion assemblies won't work

アプリケーションは、インストール中にパブリック side-by-side Fusion アセンブリを公開して、他のプロセスからアクセスできるようにします。During install, an application can publish public side-by-side Fusion assemblies, accessible to any other process. これらのアセンブリは、プロセスのアクティブ化コンテキストの作成中に、CSRSS.exe という名前のシステム プロセスによって取得されます。During process activation context creation, these assemblies are retrieved by a system process named CSRSS.exe. 変換プロセスでこれが行われると、アクティブ化コンテキスト作成とこれらのアセンブリのモジュール読み込みは失敗します。When this is done for a converted process, activation context creation and module loading of these assemblies will fail. side-by-side Fusion アセンブリは、次の場所に登録されています。The side-by-side Fusion assemblies are registered in the following locations:

  • レジストリ: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\WinnersRegistry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners
  • ファイル システム: %windir%\SideBySideFile System: %windir%\SideBySide

これは、既知の制限であり、今のところ回避策はありません。This is a known limitation and no workaround currently exists. ただし、ComCtl などの受信トレイ アセンブリは OS に同梱されているため、これらのアセンブリに依存していても安全です。That said, Inbox assemblies, like ComCtl, are shipped with the OS, so taking a dependency on them is safe.

XML にエラーが見つかり、Error found in XML. 'Executable' 属性が無効 - 'MyApp.EXE' の値がデータ型に対して無効The 'Executable' attribute is invalid - The value 'MyApp.EXE' is invalid according to its datatype

この問題は、アプリケーションに含まれる実行可能ファイルの .EXE 拡張子が大文字になっている場合に発生することがあります。This can happen if the executables in your application have a capitalized .EXE extension. ただし、この拡張機能の大文字小文字の区別は、アプリケーションを実行しているかどうかに影響しません、このエラーを生成する DAC ができます。Although, the casing of this extension shouldn't affect whether your application runs, this can cause the DAC to generate this error.

この問題を解決するを指定してください、 - AppExecutableフラグをパッケージ化、小文字、メインの実行可能ファイルの拡張子として".exe"を使用すると (例。MYAPP.exe)。To resolve this issue, try specifying the -AppExecutable flag when you package, and use the lower case ".exe" as the extension of your main executable (For example: MYAPP.exe). 大文字を小文字から、アプリケーションで実行可能ファイルのすべての大文字と小文字を変更する代わりに (例: から。Exe を使用して .exe)。Alternately you can change the casing for all executables in your application from lowercase to uppercase (For example: from .EXE to .exe).

Authenticode 署名が破損しているか、形式が正しくないCorrupted or malformed Authenticode signatures

このセクションでは、Windows アプリ パッケージ内の移植可能な実行可能ファイル (PE) で、Authenticode 署名が破損しているかまたは形式が正しくない問題を特定する方法について説明します。This section contains details on how to identify issues with Portable Executable (PE) files in your Windows app package that may contain corrupted or malformed Authenticode signatures. 任意のバイナリ形式 (.exe、.dll、.chm など) の PE ファイルに対する無効な Authenticode 署名によって、パッケージが正しく署名されない場合や、Windows アプリ パッケージから展開できない場合があります。Invalid Authenticode signatures on your PE files, which may be in any binary format (e.g. .exe, .dll, .chm, etc.), will prevent your package from being signed properly, and thus prevent it from being deployable from an Windows app package.

PE ファイルの Authenticode 署名の場所は、Optional Header Data Directories の Certificate Table エントリおよび関連付けられている Attribute Certificate Table で指定されます。The location of the Authenticode signature of a PE file is specified by the Certificate Table entry in the Optional Header Data Directories and the associated Attribute Certificate Table. 署名を検証する場合、これらの構造体で指定されている情報を使用して、PE ファイルの署名を検出します。During signature verification, the information specified in these structures is used to locate the signature on a PE file. これらの値が壊れている場合、ファイルの署名が無効であるように見える可能性があります。If these values get corrupted then it is possible for a file to appear to be invalidly signed.

Authenticode 署名が正しいと見なされるには、Authenticode 署名が次の条件を満たしている必要があります。For the Authenticode signature to be correct, the following must be true of the Authenticode signature:

  • PE ファイル内の WIN_CERTIFICATE エントリの先頭は、実行可能ファイルの終わりを超えて拡張できないThe start of the WIN_CERTIFICATE entry in the PE file cannot extend past the end of the executable
  • WIN_CERTIFCATE エントリは、イメージの最後に置かれている必要があるThe WIN_CERTIFCATE entry should be located at the end of the image
  • WIN_CERTIFICATE エントリのサイズは正の値である必要があるThe size of the WIN_CERTIFICATE entry must be positive
  • WIN_CERTIFICATE エントリは、32 ビット実行可能ファイルの場合は IMAGE_NT_HEADERS32 構造体より後、64 ビット実行可能ファイルの場合は IMAGE_NT_HEADERS64 構造体より後に開始する必要があるThe WIN_CERTIFICATEentry must start after the IMAGE_NT_HEADERS32 structure for 32-bit executables and IMAGE_NT_HEADERS64 structure for 64-bit executables

詳しくは、移植可能な実行可能ファイルの Authenticode 署名の仕様に関するドキュメントPE ファイル形式の仕様に関するページをご覧ください。For more details, please refer to the Authenticode Portal Executable specification and the PE file format specification.

Windows アプリ パッケージに署名するときに、SignTool.exe で、壊れているバイナリや形式が正しくないバイナリの一覧を出力できます。Note that SignTool.exe can output a list of the corrupted or malformed binaries when attempting to sign an Windows app package. これを行うには、環境変数 APPXSIP_LOG を 1 に設定して (例: set APPXSIP_LOG=1) 詳細なログを有効にし、SignTool.exe を再度実行します。To do this, enable verbose logging by setting the environment variable APPXSIP_LOG to 1 (e.g., set APPXSIP_LOG=1 ) and re-run SignTool.exe.

これらの形式が正しくないバイナリを修正するには、上記の要件に準拠していることを確認します。To fix these malformed binaries, ensure they conform to the requirements above.

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

アプリケーションを実行/を検索し、問題を修正Run your application / find and fix issues

参照してください実行、デバッグ、およびデスクトップ アプリケーションをパッケージ化されたテストSee Run, debug, and test a packaged desktop application

アプリを配布します。Distribute your app

参照してくださいパッケージ化されたデスクトップ アプリケーションの配布See Distribute a packaged desktop application