アプリを手動でパッケージ化する (デスクトップ ブリッジ)

このトピックでは、Visual Studio、Desktop App Converter (DAC) などのツールを使用せずにアプリをパッケージ化する方法を示します。

手動のフロー

アプリを手動でパッケージ化するには、パッケージ マニフェスト ファイルを作成してから、Windows アプリ パッケージを生成するコマンド ライン ツールを実行します。

xcopy コマンドを使用してアプリをインストールする場合や、アプリのインストーラーがシステムに加える変更を熟知したうえで、プロセスをきめ細かく制御する必要がある場合は、手動によるパッケージ化を検討してください。

インストーラーによってどのような変更がシステムに加えられるのかわからない場合や、自動化ツールを使用してパッケージ マニフェストを生成する場合は、こちらのオプションのいずれかを検討してください。

まず、アプリの配布方法を検討する

アプリを Windows ストアに公開する予定であれば、このフォームへの記入から開始します。 Microsoft から、オンボード プロセスを開始するための連絡があります。 このプロセスでは、ストア内の名前を予約し、アプリをパッケージ化するための情報を取得します。

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

ファイルを作成し、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: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>

ファイルのパッケージ レベル要素に値を設定する

このテンプレートに、パッケージを説明する情報を設定します。

Identity 情報

Identity 要素の例を以下に示します。各属性にはプレースホルダー テキストが指定されています。 ProcessorArchitecture 属性は、x64 または 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 デベロッパー センターのダッシュ ボードを使用して、名前と発行元を取得できます。 アプリを他のシステムにサイドローディング展開する場合は、独自の名前を指定できます。ただし、選択する発行元名は、アプリへの署名に使用する証明書の名前と一致する必要があります。

Properties

Properties 要素には、必須の子要素が 3 つあります。 次に示すのは、Properties ノードの例です。要素はプレースホルダー テキストが指定されています。 DisplayName は、ストアにアップロードするアプリに対して、ストアで予約するアプリの名前です。

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

Resources

次に Resources ノードの例を示します。

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

Dependencies

デスクトップ ブリッジ アプリでは、Name 属性は常に Windows.Desktop に設定します。

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

Capabilities

デスクトップ ブリッジ アプリには、runFullTrust 機能を追加する必要があります。

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

アプリケーション レベル要素に値を設定する

このテンプレートに、アプリを説明する情報を指定します。

Application 要素

デスクトップ ブリッジ アプリの場合、Application 要素の EntryPoint 属性は常に Windows.FullTrustApplication です。

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

VisualElements

次に VisualElements ノードの例を示します。

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

(省略可能) ターゲット ベースのプレートなしのアセットを追加する

ターゲット ベースのアセットは、Windows タスク バー、タスク ビュー、スナップ アシスト、Alt + Tab キーを押したとき、およびスタート画面のタイルの右下に表示されるアイコンおよびタイルで使用されます。 これらについて詳しくは、こちらをご覧ください。

  1. 正しい 44 x 44 画像を取得して、画像保存用のフォルダー (Assets) にコピーします。

  2. 各 44 x 44 画像のコピーを同じフォルダーに作成し、ファイル名の末尾に .targetsize-44_altform-unplated を追加します。 これにより、同じ画像で異なる名前のアイコンが、2 つずつフォルダーに保存されます。 たとえば、プロセスの完了後には、assets フォルダーに MYAPP_44x44.pngMYAPP_44x44.targetsize-44_altform-unplated.png のようなファイルが含まれています。

    注意

    この例では、MYAPP_44x44.png という名前のアイコンは、Windows アプリ パッケージの Square44x44Logo ロゴ属性で参照するアイコンです。

  3. Windows アプリ パッケージで、透明にするすべてのアイコンについて BackgroundColor を設定します。

  4. CMD を開き、パッケージのルート フォルダーにディレクトリを変更した後、コマンド makepri createconfig /cf priconfig.xml /dq en-US を実行して priconfig.xml ファイルを作成します。

  5. コマンド makepri new /pr <PHYSICAL_PATH_TO_FOLDER> /cf <PHYSICAL_PATH_TO_FOLDER>\priconfig.xml を使用して、resources.pri ファイルを作成します。

    たとえば、アプリのコマンドは、makepri new /pr c:\MYAPP /cf c:\MYAPP\priconfig.xml のようになります。

  6. 次の手順の説明に従って Windows アプリ パッケージをパッケージ化し、結果を確認します。

Windows アプリ パッケージを生成する

MakeAppx.exe を使用して、プロジェクトの Windows アプリ パッケージを生成します。 このツールは Windows 10 SDK に含まれています。Visual Studio をインストールしている場合は、お使いの Visual Studio バージョンの開発者コマンド プロンプトから簡単にアクセスできます。

MakeAppx.exe ツールを使ったアプリ パッケージの作成」をご覧ください。

パッケージ アプリを実行する

証明書を取得して署名する作業を行わなくても、アプリをローカルで実行およびテストできます。 次の PowerShell コマンドレットを実行するだけで済みます。

Add-AppxPackage –Register AppxManifest.xml

アプリの .exe または .dll ファイルを更新するには、パッケージ内の既存のファイルを新しいファイルに置き換え、AppxManifest.xml のバージョン番号を繰り上げて、上記のコマンドをもう一度実行します。

注意

パッケージ アプリは、常に対話ユーザーとして実行されます。パッケージ アプリをインストールするドライブは、NTFS 形式にフォーマットされている必要があります。

次のステップ

コードをステップ実行する/問題を見つけて修正する

パッケージ デスクトップ アプリの実行、デバッグ、テスト (デスクトップ ブリッジ) をご覧ください。

アプリに署名して配布する

パッケージ デスクトップ アプリの配布 (デスクトップ ブリッジ) をご覧ください。

特定の質問に対する回答を見つける

マイクロソフトのチームでは、StackOverflow タグをチェックしています。

この記事に関するフィードバックを送信する

下のコメント セクションをご利用ください。