デスクトップ アプリケーションを手動でパッケージ化するPackage a desktop application manually

このトピックでは、Visual Studio や Desktop App Converter (DAC) などのツールを使用せず、アプリケーションをパッケージ化する方法を示します。This topic shows you how to package your application without using tools such as Visual Studio or the Desktop App Converter (DAC).

アプリを手動でパッケージ化するには、パッケージ マニフェスト ファイルを作成してから、Windows アプリ パッケージを生成するコマンド ライン ツールを実行します。To manually package your app, create a package manifest file, and then run a command line tool to generate a Windows app package.

プロセスをより詳細な制御と xcopy コマンドを使用して、アプリケーションをインストールすることも、アプリのインストーラーが、システムに変更を使い慣れている場合は、手動のパッケージ化を検討してください。Consider manual packaging if you install your application by using the xcopy command, or you're familiar with the changes that your app's installer makes to the system and want more granular control over the process.

インストーラーによってどのような変更がシステムに加えられるのかわからない場合や、自動化ツールを使用してパッケージ マニフェストを生成する場合は、こちらのオプションのいずれかを検討してください。If you're uncertain about what changes your installer makes to the system, or if you'd rather use automated tools to generate your package manifest, consider any of these options.

重要

(それ以外の場合は、デスクトップ ブリッジと呼ばれます) デスクトップ アプリケーションの Windows アプリ パッケージを作成する機能は Windows 10 バージョン 1607 で導入され、Windows 10 Anniversary Update (10.0; を対象とするプロジェクトでのみ使用できます。ビルド 14393) または Visual Studio の今後のリリース。The ability to create a Windows app package for your desktop application (otherwise known as 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.

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

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

パッケージ マニフェストを作成するCreate a package manifest

ファイルを作成し、appxmanifest.xml という名前を付けて、以下の XML を追加します。Create a file, name it appxmanifest.xml, and then add this XML to it.

これは、パッケージに必要な要素や属性が含まれた基本テンプレートです。It's a basic template that contains the elements and attributes that your package needs. 次のセクションで、これらに値を追加します。We'll add values to these in the next section.

<?xml version="1.0" encoding="utf-8"?>
<Package
    xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities">
  <Identity Name="" Version="" Publisher="" ProcessorArchitecture="" />
    <Properties>
       <DisplayName></DisplayName>
       <PublisherDisplayName></PublisherDisplayName>
             <Description></Description>
      <Logo></Logo>
    </Properties>
    <Resources>
      <Resource Language="" />
    </Resources>
      <Dependencies>
      <TargetDeviceFamily Name="Windows.Desktop" MinVersion="" MaxVersionTested="" />
      </Dependencies>
      <Capabilities>
        <rescap:Capability Name="runFullTrust"/>
      </Capabilities>
    <Applications>
      <Application Id="" Executable="" EntryPoint="Windows.FullTrustApplication">
        <uap:VisualElements DisplayName="" Description=""   Square150x150Logo=""
                   Square44x44Logo=""   BackgroundColor="" />
      </Application>
     </Applications>
  </Package>

ファイルのパッケージ レベル要素に値を設定するFill in the package-level elements of your file

このテンプレートに、パッケージを説明する情報を設定します。Fill in this template with information that describes your package.

Identity 情報Identity information

Identity 要素の例を以下に示します。各属性にはプレースホルダー テキストが指定されています。Here's an example Identity element with placeholder text for the attributes. ProcessorArchitecture 属性は、x64 または x86 に設定できます。You can set the ProcessorArchitecture attribute to x64 or x86.

<Identity Name="MyCompany.MySuite.MyApp"
          Version="1.0.0.0"
          Publisher="CN=MyCompany, O=MyCompany, L=MyCity, S=MyState, C=MyCountry"
                ProcessorArchitecture="x64">

注意

パブリッシャーと名前を取得を使用して Microsoft Store でアプリケーション名に予約した場合パートナー センターします。If you've reserved your application name in the Microsoft Store, you can obtain the Name and Publisher by using Partner Center. 他のシステム上にアプリをサイドロードにする場合、アプリに署名する証明書の名前と一致するを選択したパブリッシャー名を使用する限り、これらの独自の名前を指定できます。If you plan to sideload your application 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.

プロパティProperties

Properties 要素には、必須の子要素が 3 つあります。The Properties element has 3 required child elements. 次に示すのは、Properties ノードの例です。要素はプレースホルダー テキストが指定されています。Here is an example Properties node with placeholder text for the elements. DisplayNameアプリ ストアにアップロードされるストア内に予約するアプリケーションの名前を指定します。The DisplayName is the name of your application that you reserve in the Store, for apps which are uploaded to the Store.

<Properties>
  <DisplayName>MyApp</DisplayName>
  <PublisherDisplayName>MyCompany</PublisherDisplayName>
  <Logo>images\icon.png</Logo>
</Properties>

参考資料Resources

次に Resources ノードの例を示します。Here is an example Resources node.

<Resources>
  <Resource Language="en-us" />
</Resources>

依存関係Dependencies

デスクトップのアプリのパッケージを作成するで、常に設定、Name属性をWindows.Desktopします。For desktop apps that you create a package for, always set the Name attribute to Windows.Desktop.

<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14316.0" MaxVersionTested="10.0.15063.0" />
</Dependencies>

機能Capabilities

パッケージを作成する、追加する必要がありますのデスクトップ アプリ、runFullTrust機能します。For desktop apps that you create a package for, you'll have to add the runFullTrust capability.

<Capabilities>
  <rescap:Capability Name="runFullTrust"/>
</Capabilities>

アプリケーション レベル要素に値を設定するFill in the application-level elements

このテンプレートに、アプリを説明する情報を指定します。Fill in this template with information that describes your app.

Application 要素Application element

パッケージを作成するデスクトップ アプリ、 EntryPoint Application 要素の属性は常にWindows.FullTrustApplicationします。For desktop apps that you create a package for, the EntryPoint attribute of the Application element is always Windows.FullTrustApplication.

<Applications>
  <Application Id="MyApp"     
        Executable="MyApp.exe" EntryPoint="Windows.FullTrustApplication">
   </Application>
</Applications>

視覚要素Visual elements

次に VisualElements ノードの例を示します。Here is an example VisualElements node.

<uap:VisualElements
    BackgroundColor="#464646"
    DisplayName="My App"
    Square150x150Logo="images\icon.png"
    Square44x44Logo="images\small_icon.png"
    Description="A useful description" />

(省略可能) ターゲット ベースのプレートなしのアセットを追加する(Optional) Add Target-based unplated assets

ターゲット ベースのアセットは、Windows タスク バー、タスク ビュー、スナップ アシスト、Alt + Tab キーを押したとき、およびスタート画面のタイルの右下に表示されるアイコンおよびタイルで使用されます。Target-based assets are for icons and tiles that appear on the Windows taskbar, task view, ALT+TAB, snap-assist, and the lower-right corner of Start tiles. これらについて詳しくは、こちらをご覧ください。You can read more about them here.

  1. 正しい 44 x 44 画像を取得して、画像保存用のフォルダー (Assets) にコピーします。Obtain the correct 44x44 images and then copy them into the folder that contains your images (i.e., Assets).

  2. 各 44 x 44 画像のコピーを同じフォルダーに作成し、ファイル名の末尾に .targetsize-44_altform-unplated を追加します。For each 44x44 image, create a copy in the same folder and append .targetsize-44_altform-unplated to the file name. これにより、同じ画像で異なる名前のアイコンが、2 つずつフォルダーに保存されます。You should have two copies of each icon, each named in a specific way. たとえば、プロセスの完了後には、assets フォルダーに MYAPP_44x44.pngMYAPP_44x44.targetsize-44_altform-unplated.png のようなファイルが含まれています。For example, after completing the process, your assets folder might contain MYAPP_44x44.png and MYAPP_44x44.targetsize-44_altform-unplated.png.

    注意

    この例では、MYAPP_44x44.png という名前のアイコンは、Windows アプリ パッケージの Square44x44Logo ロゴ属性で参照するアイコンです。In this example, the icon named MYAPP_44x44.png is the icon that you'll reference in the Square44x44Logo logo attribute of your Windows app package.

  3. Windows アプリ パッケージで、透明にするすべてのアイコンについて BackgroundColor を設定します。In the Windows app package, set the BackgroundColor for every icon you are making transparent.

  4. 次のサブセクションに進み、新しいパッケージ リソース インデックス ファイルを生成します。Continue to the next subsection to generate a new Package Resource Index file.

パッケージ リソース インデックス (PRI) ファイルを生成するGenerate a Package Resource Index (PRI) file

ターゲット ベースの資産を作成するように、上記のセクションで説明されている場合は、パッケージを作成した後、アプリケーションのビジュアル資産のいずれかを変更する、新しい PRI ファイルを生成する必要があります。If you create target-based assets as described in the section above, or you modify any of the visual assets of your application after you've created the package, you'll have to generate a new PRI file.

  1. [開発者コマンド プロンプト for VS 2017] を開きます。Open a Developer Command Prompt for VS 2017.

    開発者コマンド プロンプト

  2. パッケージのルート フォルダーにディレクトリを変更した後、makepri createconfig /cf priconfig.xml /dq en-US コマンドを実行して priconfig.xml ファイルを作成します。Change directory to the package's root folder, and then create a priconfig.xml file by running the command makepri createconfig /cf priconfig.xml /dq en-US.

  3. コマンド makepri new /pr <PHYSICAL_PATH_TO_FOLDER> /cf <PHYSICAL_PATH_TO_FOLDER>\priconfig.xml を使用して、resources.pri ファイルを作成します。Create the resources.pri file(s) by using the command makepri new /pr <PHYSICAL_PATH_TO_FOLDER> /cf <PHYSICAL_PATH_TO_FOLDER>\priconfig.xml.

    たとえば、アプリケーションのコマンドが、これのようになります。:makepri new /pr c:\MYAPP /cf c:\MYAPP\priconfig.xmlします。For example, the command for your application might look like this: makepri new /pr c:\MYAPP /cf c:\MYAPP\priconfig.xml.

  4. 次の手順の説明に従って Windows アプリ パッケージをパッケージ化します。Package your Windows app package by using the instructions in the next step.

Windows アプリ パッケージを生成するGenerate a Windows app package

MakeAppx.exe を使用して、プロジェクトの Windows アプリ パッケージを生成します。Use MakeAppx.exe to generate a Windows app package for your project. このツールは Windows 10 SDK に含まれています。Visual Studio をインストールしている場合は、お使いの Visual Studio バージョンの開発者コマンド プロンプトから簡単にアクセスできます。It's included with the Windows 10 SDK, and if you have Visual Studio installed, it can be easily accessed through the Developer Command Prompt for your Visual Studio version.

MakeAppx.exe ツールを使ったアプリ パッケージの作成」をご覧ください。See Create an app package with the MakeAppx.exe tool

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

証明書を取得し、署名することがなくローカルでテストするアプリケーションを実行することができます。You can run your application to test it out locally without having to obtain a certificate and sign it. 次の PowerShell コマンドレットを実行するだけで済みます。Just run this PowerShell cmdlet:

Add-AppxPackage –Register AppxManifest.xml

アプリの .exe または .dll ファイルを更新するには、パッケージ内の既存のファイルを新しいファイルに置き換え、AppxManifest.xml のバージョン番号を繰り上げて、上記のコマンドをもう一度実行します。To update your app's .exe or .dll files, replace the existing files in your package with the new ones, increase the version number in AppxManifest.xml, and then run the above command again.

注意

パッケージ化されたアプリケーションでは、常には、対話型のユーザーとして実行されにパッケージ化されたアプリケーションをインストールする任意のドライブを NTFS 形式に書式設定する必要があります。A packaged application always runs as an interactive user, and any drive that you install your packaged application on to must be formatted to NTFS format.

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

コードをステップ実行/検索、および問題を修正Step through code / find and fix issues

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

アプリケーションに署名し、配布Sign your application and then distribute it

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