アプリを手動でパッケージ化する (デスクトップ ブリッジ)Package an app manually (Desktop Bridge)

このトピックでは、Visual Studio、Desktop App Converter (DAC) などのツールを使用せずにアプリをパッケージ化する方法を示します。This topic shows you how to package your app 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 app 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 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.

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

アプリケーションのパッケージの作成を開始する前に、必ず「アプリのパッケージ化の準備 (デスクトップ ブリッジ)」を確認してください。Review this guide before you begin creating a package for your application: Prepare to package an app (Desktop Bridge).

パッケージ マニフェストを作成する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">

注意

Windows ストアでアプリ名を予約済みの場合は、Windows デベロッパー センターのダッシュ ボードを使用して、名前と発行元を取得できます。If you've reserved your app name in the Windows store, you can obtain the Name and Publisher by using the Windows Dev Center dashboard. アプリを他のシステムにサイドローディング展開する場合は、独自の名前を指定できます。ただし、選択する発行元名は、アプリへの署名に使用する証明書の名前と一致する必要があります。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.

PropertiesProperties

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 app 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>

ResourcesResources

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

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

依存関係Dependencies

デスクトップ ブリッジを使用してパッケージ化するデスクトップ アプリでは、常に Name 属性を Windows.Desktop に設定します。For desktop apps that you package by using the desktop bridge, 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 package by using the desktop bridge, 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

デスクトップ ブリッジを使用してパッケージ化するデスクトップ アプリでは、Application 要素の EntryPoint 属性は常に Windows.FullTrustApplication です。For desktop apps that you package by using the desktop bridge, 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 app 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 app 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 app 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 app always runs as an interactive user, and any drive that you install your packaged app 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 app (Desktop Bridge)

アプリに署名して配布するSign your app and then distribute it

パッケージ デスクトップ アプリの配布 (デスクトップ ブリッジ) をご覧ください。See Distribute a packaged desktop app (Desktop Bridge)