この記事では、コマンド ライン ツール (Visual Studio または MSIX パッケージ ツールを使用しない) を使用して、アプリケーションをパッケージ化するための MSIX パッケージ コンポーネントを生成する方法について説明します。
アプリを手動でパッケージ化するには、パッケージ マニフェスト ファイルを作成し、パッケージ コンポーネントを追加してから 、MakeAppx.exe コマンド ライン ツールを実行して MSIX パッケージを生成する必要があります。
まず、パッケージ化の準備をします
まだ行っていない場合は、 アプリケーションをパッケージ化する前に、このセクションで知っておくべきことを確認してください。
パッケージ マニフェストを作成する
ファイルを作成し、 appxmanifest.xml名前を付けてから、この XML を追加します。
パッケージに必要な要素と属性を含む基本的なテンプレートです。 これらの値は、次のセクションで追加します。
<?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:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10"
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=""
uap10:RuntimeBehavior="packagedClassicApp"
uap10:TrustLevel="mediumIL">
<uap:VisualElements DisplayName="" Description="" Square150x150Logo=""
Square44x44Logo="" BackgroundColor="" />
</Application>
</Applications>
</Package>
注
パッケージが Windows 10 バージョン 2004 (10.0; ビルド 19041) よりも古いシステムにインストールされる場合、EntryPoint
やuap10:RuntimeBehavior
の代わりにuap10:TrustLevel
属性を使用してください。 詳細と例については、Windows 10 バージョン 2004 (10.0;ビルド 19041) で導入された uap10 を参照してください。
ファイルのパッケージ レベルの要素を入力します
このテンプレートに、パッケージについて説明する情報を入力します。
ID 情報
属性のプレースホルダー テキストを含む Identity 要素の例を次に示します。 ProcessorArchitecture
属性は、x64
、x86
、arm
(32ビットARM)、arm64
、またはneutral
です。
<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 でアプリケーション名を予約している場合は、 パートナー センターを使用して名前と発行元を取得できます。 アプリケーションを他のシステムにサイドロードする場合は、選択した発行元名が、アプリの署名に使用する証明書の名前と一致する限り、独自の名前を指定できます。
特性
Properties 要素には、3 つの必須の子要素があります。 要素のプレースホルダー テキストを含む Properties ノードの例を次に示します。 DisplayName は、ストアで予約するアプリケーションの名前で、ストアにアップロードされるアプリに使われます。
<Properties>
<DisplayName>MyApp</DisplayName>
<PublisherDisplayName>MyCompany</PublisherDisplayName>
<Logo>images\icon.png</Logo>
</Properties>
リソース
リソース ノードの例を次に示します。
<Resources>
<Resource Language="en-us" />
</Resources>
依存関係
パッケージを作成するデスクトップ アプリの場合は、常に Name
属性を Windows.Desktop
に設定します。
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14316.0" MaxVersionTested="10.0.15063.0" />
</Dependencies>
能力
1 つ以上の完全信頼アプリを含むパッケージの場合は、次に示すように、 runFullTrust
制限された機能を宣言する必要があります。 完全な詳細と完全信頼アプリの定義については、アプリ機能宣言で完全信頼アクセス許可レベルを検索します)。
<Capabilities>
<rescap:Capability Name="runFullTrust"/>
</Capabilities>
アプリケーション レベルの要素を入力する
このテンプレートに、アプリについて説明する情報を入力します。
アプリケーション要素
パッケージを作成するデスクトップ アプリの場合は、次のように Application 要素を構成します。
<Applications>
<Application Id="MyApp" Executable="MyApp.exe"
uap10:RuntimeBehavior="packagedClassicApp"
uap10:TrustLevel="mediumIL">
</Application>
</Applications>
注
パッケージが Windows 10 バージョン 2004 (10.0; ビルド 19041) よりも古いシステムにインストールされる場合、EntryPoint
やuap10:RuntimeBehavior
の代わりにuap10:TrustLevel
属性を使用してください。 詳細と例については、Windows 10 バージョン 2004 (10.0;ビルド 19041) で導入された uap10 を参照してください。
ビジュアル要素
<uap:VisualElements
BackgroundColor="#464646"
DisplayName="My App"
Square150x150Logo="images\icon.png"
Square44x44Logo="images\small_icon.png"
Description="A useful description" />
(省略可能)ターゲット ベースの未めっきアセットを追加する
ターゲット ベースのアセットは、Windows タスク バー、タスク ビュー、Alt + TAB、スナップ アシスト、スタート タイルの右下隅に表示されるアイコンとタイルを対象とします。 詳細については、 こちらをご覧ください。
正しい 44 x 44 のイメージを取得し、イメージ (アセット) を含むフォルダーにコピーします。
44 x 44 イメージごとに、同じフォルダーにコピーを作成し、ファイル名に .targetsize-44_altform-unplated を追加します。 各アイコンの 2 つのコピーが必要です。それぞれに特定の方法で名前が付けられています。 たとえば、プロセスを完了した後、assets フォルダーに MYAPP_44x44.png と MYAPP_44x44.targetsize-44_altform-unplated.pngが含まれている場合があります。
注
この例では、 MYAPP_44x44.png という名前のアイコンは、MSIX パッケージの
Square44x44Logo
ロゴ属性で参照するアイコンです。マニフェスト ファイルで、透明化するすべてのアイコンの
BackgroundColor
を設定します。次のサブセクションに進み、新しいパッケージ リソース インデックス ファイルを生成します。
MakePri を使用してパッケージ リソース インデックス (PRI) ファイルを生成する
前のセクションで説明したようにターゲット ベースのアセットを作成する場合、またはパッケージを作成した後にアプリケーションのビジュアルアセットを変更する場合は、新しい PRI ファイルを生成する必要があります。
SDK のインストール パスに基づいて、 MakePri.exeは Windows PC 上にあります。
- x86: C:\Program Files (x86)\Windows Kits\10\bin\<ビルド番号>\x86\makepri.exe
- x64: C:\Program Files (x86)\Windows Kits\10\bin\<ビルド番号>\x64\makepri.exe
このツールの ARM バージョンはありません。
コマンド プロンプトまたは PowerShell ウィンドウを開きます。
パッケージのルート フォルダーにディレクトリを変更し、コマンド
<path>\makepri.exe createconfig /cf priconfig.xml /dq en-US
を実行して priconfig.xml ファイルを作成します。コマンド
<path>\makepri.exe new /pr <PHYSICAL_PATH_TO_FOLDER> /cf <PHYSICAL_PATH_TO_FOLDER>\priconfig.xml
を使用して resources.pri ファイルを作成します。たとえば、アプリケーションのコマンドは次のようになります:
<path>\makepri.exe new /pr c:\MYAPP /cf c:\MYAPP\priconfig.xml
。次の手順の手順を使用して、アプリケーションをパッケージ化します。
パッケージ化する前にアプリケーションをテストする
パッケージ化されていないアプリケーションをデプロイし、パッケージ化または署名する前にテストできます。 これを行うには、PowerShell ウィンドウから以下のコマンドレットを実行します。 パッケージ ディレクトリのルートにあるアプリケーションのマニフェスト ファイルを、他のすべてのパッケージ コンポーネントと共に渡してください。
Add-AppxPackage –Register AppxManifest.xml
これが完了したら、 アプリはシステムにデプロイする必要があり、パッケージ化する前にすべてが機能することを確認するためにテストできます。 アプリの .exe または .dll ファイルを更新するには、パッケージ内の既存のファイルを新しいファイルに置き換え、AppxManifest.xmlのバージョン番号を増やしてから、上記のコマンドをもう一度実行します。
コンポーネントを MSIX にパッケージ化する
次の手順では、 MakeAppx.exe を使用してアプリケーションの MSIX パッケージを生成します。 Makeappx.exe は Windows SDK に含まれており、Visual Studio がインストールされている場合は、Visual Studio の開発者コマンド プロンプトから簡単にアクセスできます。
「MakeAppx.exe ツールを使用して MSIX パッケージまたはバンドルを作成する」を参照してください
注
パッケージ 化されたアプリケーションは常に対話型ユーザーとして実行され、パッケージ 化されたアプリケーションをインストールするドライブは NTFS 形式にする必要があります。