MSIX パッケージ コンポーネントの生成Generating MSIX package components

この記事では、コマンド ライン ツールを使用して (Visual Studio または MSIX パッケージ化ツールを使用せずに) アプリケーションをパッケージ化するための MSIX パッケージ コンポーネントを生成する方法について説明します。This article shows you how to generate MSIX package components for packaging your application using command line tools (without using Visual Studio or the MSIX Packaging Tool).

アプリを手動でパッケージ化するには、パッケージ マニフェスト ファイルを作成し、パッケージ コンポーネントを追加してから、MakeAppx.exe コマンド ライン ツールを実行して MSIX パッケージを生成する必要があります。To manually package your app, you need to create a package manifest file, add your package components and then run the MakeAppx.exe command line tool to generate an MSIX package.

最初にパッケージ化の準備をするFirst, prepare to package

まだ確認していない場合は、アプリケーションをパッケージ化する前に理解しておく必要があることに関するセクションを確認してください。If you haven't yet, review this section on what you need to know before packaging your 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 は、Microsoft Store にアップロードするアプリ用に、Microsoft Store で予約するアプリケーションの名前です。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

パッケージを作成する対象のデスクトップ アプリに対して、Application 要素の EntryPoint 属性は常に 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 という名前のアイコンは、MSIX パッケージの Square44x44Logo ロゴ属性で参照されるアイコンです。In this example, the icon named MYAPP_44x44.png is the icon that you'll reference in the Square44x44Logo logo attribute of your MSIX package.

  3. マニフェスト ファイルで、透明にするすべてのアイコンについて BackgroundColor を設定します。In the manifest file, set the BackgroundColor for every icon you are making transparent.

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

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

前のセクションで説明したようにターゲット ベースのアセットを作成する場合や、パッケージを作成した後、アプリケーションのビジュアル アセットのいずれかを変更する場合は、新しい 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.

SDK のインストール パスに基づき、MakePri.exe は Windows 10 PC の以下の場所にあります。Based on your installation path of the SDK, this is where MakePri.exe is on your Windows 10 PC:

  • x86:C:\Program Files (x86)\Windows Kits\10\bin\<ビルド番号>\x86\makepri.exex86: C:\Program Files (x86)\Windows Kits\10\bin\<build number>\x86\makepri.exe
  • x64: C:\Program Files (x86)\Windows Kits\10\bin\<ビルド番号>\x64\makepri.exex64: C:\Program Files (x86)\Windows Kits\10\bin\<build number>\x64\makepri.exe

このツールの ARM バージョンはありません。There is no ARM version of this tool.

  1. コマンド プロンプトまたは PowerShell ウィンドウを開きます。Open a Command Prompt or PowerShell window.

  2. パッケージのルート フォルダーにディレクトリを変更した後、<path>\makepri.exe 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 <path>\makepri.exe createconfig /cf priconfig.xml /dq en-US.

  3. コマンド <path>\makepri.exe 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 <path>\makepri.exe new /pr <PHYSICAL_PATH_TO_FOLDER> /cf <PHYSICAL_PATH_TO_FOLDER>\priconfig.xml.

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

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

パッケージ化する前にアプリケーションをテストするTest your application before packaging

パッケージ化または署名する前に、パッケージ化されていないアプリケーションを展開してテストすることができます。You can deploy your non-packaged application and test it before packaging or signing. これを行うには、PowerShell ウィンドウから次のコマンドレットを実行します。To do so, run the cmdlet below from a PowerShell window. パッケージ ディレクトリのルートにあるアプリケーションのマニフェスト ファイルを、他のすべてのパッケージ コンポーネントと共に必ず渡すようにしてください。Make sure to pass in your application's manifest file located in the root of your package directory with all your other package components:

Add-AppxPackage –Register AppxManifest.xml

これが完了すると、Once this is done. アプリはシステム上に展開され、パッケージ化する前に、すべてが機能することを確認するためにアプリをテストできます。Your app should be deployed on the system and you can test it to make sure everything works before packaging. アプリの .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.

コンポーネントを MSIX にパッケージ化するPackage your components into an MSIX

次の手順では、MakeAppx.exe を使用して、アプリケーションの MSIX パッケージを生成します。The next step is to use MakeAppx.exe to generate an MSIX package for your application. MakeAppx.exe は Windows 10 SDK に含まれています。Visual Studio がインストールされている場合は、Visual Studio の開発者コマンド プロンプトから簡単にアクセスできます。Makeappx.exe is included with the Windows 10 SDK, and if you have Visual Studio installed, it can be easily accessed through the Developer Command Prompt for Visual Studio.

MakeAppx.exe ツールで MSIX パッケージまたはバンドルを作成する方法に関するページを参照してください。See Create an MSIX package or bundle with the MakeAppx.exe tool

注意

パッケージ化したアプリケーションは、常に対話ユーザーとして実行されます。パッケージ化したアプリケーションをインストールするドライブは、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.