デスクトップ アプリケーションをパッケージ化 (デスクトップ ブリッジ)

既存のデスクトップ アプリケーションを実行し、Windows 10 ユーザー向けの最新のエクスペリエンスを追加します。 Microsoft Store を通じてアプリを配布し、国際市場でのリーチを拡大します。 多くの簡単な方法でアプリケーションを収益するには、ストアに直接組み込まれている機能を活用します。 もちろん、ストアを使用する必要はありません。 既存のチャンネルを自由に使用してください。

デスクトップ ブリッジ

デスクトップ アプリケーションのパッケージを作成して、アプリケーションが id を取得するデスクトップ アプリケーションがアクセスする Windows ユニバーサル プラットフォーム (UWP) Api をその id を使用。 これを利用して、ライブ タイルや通知など、現代的で魅力的なエクスペリエンスを実現できます。 単純な条件付きコンパイルを使用して、ランタイム チェックを Windows 10 で、アプリケーションが実行されている場合にのみ、UWP コードを実行します。

Windows 10 エクスペリエンスを実現するために使用するコード、以外は、アプリケーションは変更されず、既存の Windows 7、Windows Vista、または Windows XP のユーザーに配布を続けることができます。 Windows 10 で、アプリケーションは、引き続き完全信頼で実行すると同じようにユーザー モードで現在実行します。

重要

(そうでない場合は、デスクトップ ブリッジと呼ばれます)、デスクトップ アプリケーションの Windows アプリ パッケージを作成する機能は Windows 10 バージョン 1607 で導入され、Windows 10 Anniversary Update (10.0; をターゲットとするプロジェクトでのみ使用できます。ビルド 14393) 以降の Visual Studio でリリースされます。

注意

Microsoft Virtual Academy から公開されている、このシリーズの短いビデオをご覧ください。 これらのビデオでは、デスクトップ アプリケーションをユニバーサル Windows プラットフォーム (UWP) の移行の処理全体について説明します。

メリット

以下に、デスクトップ アプリケーションの Windows アプリ パッケージを作成する理由を示します。

✔️ スムーズな展開プロセス。 ブリッジを使用しているアプリやゲームでは、優れた展開エクスペリエンスが提供されます。 このエクスペリエンスは、ユーザーが安心アプリケーションをインストールおよび更新できるようにします。 ユーザーがアプリをアンインストールすると、跡形なく完全に削除されます。 このため、セットアップ エクスペリエンスの設計や、更新プログラムの配信にかかる時間を削減できます。

✔️ 自動更新とライセンス。 アプリケーションは、Microsoft Store の組み込みライセンスと自動更新機能に参加できます。 自動更新機能は、ファイルの変更された部分だけがダウンロードされるため、非常に信頼性が高く効率的なメカニズムです。

✔️ リーチの拡大とシンプルな決済。 Microsoft Store からの配布なら、数百万人の Windows 10 ユーザーにリーチを拡大できます。ユーザーは、アプリとゲームの購入や、アプリ内での購入に各地域の支払い方法を使用できます。

✔️ UWP 機能の追加。 自分のペースで、XAML ユーザー インターフェイス、ライブ タイルの更新、UWP バックグラウンド タスク、アプリ サービスなどの多くの UWP 機能をアプリのパッケージに追加できます。

✔️ 対応デバイスの拡大。 ブリッジを使用すると、徐々にコードをユニバーサル Windows プラットフォームに移行して、電話、Xbox One、HoloLens など、すべての Windows 10 デバイスを対象にできます。

利点の完全な一覧については、「デスクトップ ブリッジ」をご覧ください。

準備

最初に、デスクトップ アプリをパッケージ化する環境の準備の記事を確認して、Windows アプリ パッケージを作成する前に、アプリケーションに適用される問題のいずれかのアドレスを指定して、アプリケーションを準備します。 パッケージを作成する前に、アプリケーションに多くの変更を加えることはいません。 ただしは状況によっては、パッケージを作成する前に、アプリケーションを調整することが必要な場合があります。

Package

アプリの Windows アプリ パッケージを作成するには、以下のようなツールを使用できます。

Desktop App Converter

このツールの名前には "Converter" という用語が含まれますが、実は、アプリの変換は行いません。 アプリケーションはそのまま残ります。 しかし、Windows アプリ パッケージが生成されます。 アプリケーションが多くのシステム変更や、インストーラーについて不明確な点がある場合はの場合に非常に便利にできます。

Desktop App Converter は、仮想ファイルとレジストリ システム、アプリケーションのパッケージのバージョンで使用されるにインストーラーの操作を変換します。 また、Desktop App Converter には、変換以外にも役に立つ機能があります。 その一部を次に示します。

✔️ プレビュー ハンドラー、サムネイル ハンドラー、プロパティ ハンドラー、ファイアウォール規則、URL フラグを自動的に登録する。

✔️ ファイルの種類のマッピングを自動的に登録する。これによりユーザーは、エクスプローラーの [種類] 列を使ってファイルをグループ化できるようになります。

✔️ 公開 COM サーバーを登録する。

::heavy_check_mark: アプリの実行に使用できる証明書を生成します。

::heavy_check_mark: デスクトップ アプリケーションのパッケージと Microsoft Store 要件に照らしてアプリを検証します。

Desktop App Converter を使用する別の優れた理由は、Visual Studio 以外の別の開発環境を使用して、アプリケーションを保持するかどうか。 アプリ インストーラーがない場合でも、Desktop App Converter を使用することができます。

Desktop App Converter を使ってデスクトップ アプリケーションのパッケージを参照してください。

Visual Studio

Visual Studio を使ってアプリケーションを管理しており、アプリケーションにインストーラーがないか、インストーラーが非常に多数の複雑なタスクを実行しない場合、代わりに Visual Studio の使用を検討してください。

Visual Studio を使うと、パッケージをかなり簡単に作成できます。 パッケージ プロジェクトを追加して、デスクトップ プロジェクトを参照し、F5 キーを押してアプリをデバッグします。 手動で調整する必要はありません。 この新しい効率化されたエクスペリエンスは、以前のバージョンの Visual Studio のエクスペリエンスから大幅に向上しています。 他にも以下のような処理を実行できます。

✔️ ビジュアル アセットを自動的に生成する。

✔️ ビジュアル デザイナーを使ってマニフェストに変更を加える。

✔️ ウィザードを使ってパッケージを生成する。

::heavy_check_mark:パートナー センターで既に予約した名前からアプリに id を簡単に割り当てます。

Visual Studio を使ってデスクトップ アプリケーションのパッケージを参照してください。

サードパーティ インストーラー

いくつかのポピュラーなサード パーティ製品やインストーラーは、デスクトップ アプリケーションをパッケージ化する機能をサポートできるようになりました。 これらを使用すると、わずか数クリックで MSI インストーラーやアプリ パッケージを生成することができます。 これらのツールの使用方法について詳しくは、それぞれの製品の Web サイトをご覧ください。

Advanced Installer

Caphyon は、わずか数回のクリックでアプリケーションの Windows アプリ パッケージを生成できる、GUI ベースのデスクトップ アプリ パッケージ作成ツールを無料で提供しています。 任意のインストーラーを使用できます。サイレント モードで実行し、検証を実行するものもは、アプリケーションがパッケージ化に適しているかどうかを判断することを確認します。 Desktop App Converter は、Hyper-V および VMware にも統合できます。 つまり、独自の仮想マシンを使用することができるため、サイズが 3 GB を超える可能性がある Docker イメージをダウンロードする必要はありません。

Advanced Installer を使用すると、既存のプロジェクトから MSI と Windows アプリ パッケージを生成できます。 また、Advanced installer では、Microsoft Desktop App Converter を使用して生成した Windows アプリ パッケージをインポートすることもできます。 インポートしたアプリ パッケージは、UWP アプリ用に設計されたビジュアル ツールを使用して管理できます。

Advanced Installer では、Visual Studio 2017 および 2015 用の拡張機能も提供されており、これらはデスクトップ ブリッジ アプリのビルドとデバッグに使用できます。

簡単な紹介については、こちらのビデオをご覧ください。

ヒント

最近リリースされた Advanced Installer Express Edition をチェックしてみてください。

Cloudhouse 互換性コンテナー

Windows 10 および Windows 10 S と互換性のない基幹業務アプリケーションを利用している企業ユーザーの場合、Cloudhouse の互換性コンテナーを使用すると、ソース コードを変更することなく Windows XP アプリケーションと Windows 7 アプリケーションを Windows 10 で実行することや、ユニバーサル Windows プラットフォーム (UWP) で実行できるように変換して、ビジネス向け Microsoft Store や Microsoft InTune を通じて配布することができます。 無料試用版に登録してください。

Cloudhouse が提供する Auto Packager は、アプリケーションが現在実行されているオペレーティング システム (Windows XP など) で、基幹業務アプリケーションをパッケージ化して互換性コンテナーを作成し、UWP に変換できるようにアプリを準備します。 コンテナーはその後、Microsoft の Desktop App Converter ツールと統合して新しい Windows アプリ パッケージ形式に変換されます。

Auto Packager では、インストール/キャプチャおよび実行時分析を使用して、アプリケーションを Windows 10 で実行できるようにするために必要なアプリケーションのファイル、レジストリ、ランタイム、依存関係、および互換性とリダイレクト エンジンを含む、アプリケーションのコンテナーを作成します。 コンテナーは、アプリケーションとそのランタイムの分離を実現し、ユーザーのデバイスで実行されている他のアプリケーションへの影響や競合を回避できます。

ビジネス向け Microsoft Store を通じてビジネス アプリケーションを提供する方法の詳細については、リリースに関するブログの記事をご覧ください。

FireGiant

FireGiant MSIX 拡張機能を使用して、同一の WiX ソース コードから Windows アプリ パッケージと MSI パッケージを同時に作成できます。 ビルドするたびに、Windows アプリ パッケージと MSI による Windows の以前のバージョンを使った Windows 10 をターゲットことができます。

FireGiant MSIX 拡張機能は、コンテナーまたは仮想マシンのディスク領域や実行時のオーバーヘッドなしの Windows アプリ パッケージを作成するのに静的分析とインテリジェント エミュレーション、WiX プロジェクトを使用します。

FireGiant MSIX 拡張機能は、実行することにより、インストーラーを変換しない、ために、繰り返し Windows アプリ パッケージに変換することがなく、WiX インストーラーを維持できます。 さまざまな Windows バージョンのユーザーはすべて、最新の機能強化を入手できます。MSI と Windows アプリ パッケージが同期していないことを開発者が心配する必要はありません。

このビデオをチェックし、作成する方法はいくつか数行のコードで FireGiant CEO の Rob Mensching 人気のあるオープン ソース 7-zip 圧縮ツールの Appx (Windows アプリ パッケージ) バージョンとし、Windows アプリケーションと MSI パッケージの両方が向上した方法をご覧ください。同じ WiX ソース コードに変更します。

InstallAware

InstallAware は、Microsoft の技術革新をすばやくサポートすることで実績があり、1 つのソースから Windows アプリ パッケージ (デスクトップ ブリッジ)、APP-V (アプリケーションの仮想化)、MSI (Windows インストーラー)、EXE (ネイティブ コード) パッケージを構築します。

InstallAware は、Visual Studio バージョン 2012 ~ 2017 に無料の InstallAware 拡張機能を提供しています。 これを使用すると、Visual Studio ツールバーから直接 1 回クリックするだけで、Windows アプリ パッケージを作成できます。

また、そのセットアップのソース コードがない場合でも、PackageAware (スナップショットなしのセットアップ キャプチャ) または Database Import Wizard (すべての MSI インストーラーと MSM マージ モジュール用) を使用して、任意のセットアップをインポートできます。 GUI ツールを使用して、視覚的な方法またはスクリプトによって、インポートの保守と強化ができます。

高度な APPX 作成オプションを利用すると、Microsoft Store 申請のターゲットや、エンドユーザーに配布するサイドロード用の署名付き Windows アプリ パッケージ バイナリの生成が容易になります。 Nano Server に展開することを目的とした WSA (Windows Server アプリケーション) インストーラー パッケージをすべて 1 つのソースからビルドすることもできます。また、GUI に加えて、コマンド ライン自動化の完全なサポートが提供されます。

InstallAware では、GNU Affero GPL ライセンスの下で APPX Builder Libraryオープン ソースにしており、コマンド ライン アプレットの例と一緒に公開しています。 これらは、WiX などのオープン ソース プラットフォームで使用することを目的としています。

InstallShield

InstallShield は、MSI インストーラーと EXE インストーラーの開発、ユニバーサル Windows プラットフォーム (UWP) パッケージと Windows Server App (WSA) パッケージの作成、およびアプリケーションの仮想化を最小限のスクリプト作成、コーデイング、および作業のやり直しで実現する単一のソリューションを提供します。

InstallShield プロジェクトを数秒でスキャンし、アプリケーションと UWP/WSA パッケージの間の潜在的な互換性の問題を自動的に特定することで、調査にかかる時間を短縮できます。

既存の InstallShield プロジェクトから UWP アプリ パッケージをビルドすることで、Microsoft Store に公開する準備をし、Windows 10 におけるソフトウェアのインストール エクスペリエンスを簡略化します。 Windows インストーラーと UWP アプリ パッケージの両方をビルドし、顧客の希望する展開シナリオをすべてサポートします。 既存の InstallShield プロジェクトから WSA パッケージをビルドし、Nano Server と Windows Server 2016 の展開をサポートします。

展開と保守が容易になるように、インストールをモジュール単位で開発します。その後、コンポーネントと依存関係をビルド時にマージして、Microsoft Store 向けの 1 つの UWP アプリ パッケージにします。 ストア外部で直接配布できるようにするには、UWP アプリ パッケージとその他の依存関係を Suite/Advanced UI インストーラーにバンドルします。

詳細はこちらの eBook をご覧ください。

PACE Suite

PACE Suite は、デスクトップ アプリをユニバーサル Windows プラットフォームに移行するために使うことができるアプリケーション パッケージ ツールです。

PACE Suite を使えば、特別なパッケージ環境を準備したり、追加の Windows SDK コンポーネントをインストールしたりする必要がありません。 PACE Suite は、Windows 10 または Windows Server 2016 の標準パッケージ環境で Windows アプリ パッケージを個別に構築できます。 この図入りの例で、PACE Suite が Windows アプリ パッケージへのインストーラーの再パッケージ化を処理する方法について確認してください。

Windows アプリ パッケージの作成とは別に、Windows インストーラー パッケージ (MSI)、更新プログラム (MSP)、変換 (MST)、App-V パッケージを作成するために PACE Suite を使うことができます。 MSI をオーサリングする段階になると、PACE Suite はアップグレード、アクセス許可の設定、カスタム アクション、スクリプトなどの管理に役立ちます。 System Center Configuration Manager に直接アプリケーションを発行することもできます。

すべてのアプリケーション パッケージ機能を確認するには、PACE Suite の機能に関するページをご覧ください。

RAD Studio

RAD Studio (提供元: Embarcadero) のページをご覧ください。

RayPack Studio

Raynet のパッケージ化ソリューションでは、 RayPack Studioでは、効率的かつ簡単に構成の変換および再パッケージ化フレームワークのいくつかの可能な結果の 1 つとして、デスクトップ アプリケーションのパッケージの作成をサポートしています。

既存の仮想環境 (VMware Workstation、Hyper-V) を使って、時間がかかる環境のセットアップを行わなくても自動/一括変換を実行できます。 Studio のコンポーネント (RayQC Advanced) は、事前変換スクリーニングおよび互換性テストを行って、変換の対象となるソフトウェアを確認できます。 さらに、ユーザーは、Anniversary Update や Creators Update などのさまざまな Windows 10 エディションを使って、包括的な競合および互換性チェックを実行できるようになりました。

Windows 10 APPX/UWP 形式のソフトウェア パッケージの作成の次は、RayPack Studio を使って従来の Windows インストーラー パッケージ (MSI)、更新プログラム (MSP)、変換 (MST)、App-V パッケージを作成することもできます。 さらに、このソリューションには、一連のソフトウェア製品とプロフェッショナル向けエンタープライズ ソフトウェア パッケージ用のコンポーネントが付属しています。 ソフトウェアのパッケージ化と仮想化に加えて、RayPack Studio では、ソフトウェア アプリケーションとパッケージの競合および互換性チェック (RayQC Advanced)、ソフトウェア評価 (RayEval)、品質保証 (RayQC) というすべてのパッケージ化関連タスクが考慮されます。

Raynet のエンタープライズ ワークフロー システムである RayFlow と組み合わせると、ユーザーは、パッケージの注文から評価、分析、パッケージ化、品質保証、ユーザー受入テスト、展開まで、エンタープライズ アプリケーション ライフサイクル全体を通じてソフトウェアで効率的に作業することができます。 すべてのパッケージと形式は、SCCM や他のソリューションに直接保存して展開できます。 アプリケーション ライフ サイクル プロセス全体が RayFlow によって追跡および管理されます。 さらに、ServiceNow などのどの注文システムでも統合することができます。 Raynet では、自社のサービス プロバイダー向けツールを使って世界中でソフトウェア パッケージ ファクトリを作成しています。

ぜひ、Raynet の RayPack Studio および RayFlow の無料試用版ライセンスを入手してください。 詳しくは、www.raynet.de をご覧ください。

関連リンク:

手動でのパッケージ化

最後のオプションとしてこれらのツールを使用せず、アプリケーションを変換することができます。 変換をきめ細かく制御する場合は、マニフェスト ファイルを作成し、MakeAppx.exe ツールを実行して Windows アプリ パッケージを作成します。

デスクトップ アプリケーションを手動でパッケージを参照してください。

統合

アプリケーションは、システムと統合する必要がある場合 (例: ファイアウォール規則を確立)、アプリケーションのパッケージ マニフェストでこれらの要素を記述して、システムは、残りの部分に操作を行います。 これらのタスクのほとんどは、まったくコードを記述する必要がありません。 XML のマニフェスト内のビットを使用して操作を実行できます、ユーザーがログオンしたときに、プロセスを開始、エクスプ ローラーで、アプリケーションに統合し、アプリケーションの追加など他のアプリに表示される印刷先の一覧。

Windows 10 によるパッケージ化されたデスクトップ アプリケーションの統合を参照してください。

強化

アプリをパッケージ化すると、ライブ タイルやプッシュ通知などの機能を追加できます。 アプリのエンゲージメント レベルを大幅に向上できる一部の機能と、ほとんど時間を追加します。 もう少しコードの追加が必要になるものもあります。

Windows 10 向けのデスクトップ アプリを強化する」をご覧ください。

拡張

一部の Windows 10 エクスペリエンス (タッチ対応 UI ページなど) は、最新のアプリ コンテナー内で実行する必要があります。 一般的に、UWP API を使用して既存のデスクトップ アプリケーションを強化することでエクスペリエンスを追加できるかどうかを最初に判断する必要があります。 エクスペリエンスを実現するために、UWP コンポーネントを使用する場合は、できる UWP プロジェクトをソリューションに追加し、デスクトップ アプリケーションと UWP コンポーネントの間の通信にアプリ サービスを使用します。

最新の UWP コンポーネントによるデスクトップ アプリケーションの拡張」をご覧ください。

移行

デスクトップ アプリケーションを UWP アプリに変換できるツールはありませんが、多くの既存コードを再利用できるため、UWP アプリの作成コストを削減できます。 これは、できるだけ多くのビジネス ロジックを .NET Standard 2.0 ライブラリに移行することで行うことができます。

.NET Standard 2.0 では、お気に入りの NuGet パッケージとサード パーティ製ライブラリに対する互換性 shim が追加されているだけでなく、.NET API の数が大幅に増えています。

お持ちのコードを .NET Standard ライブラリに移行し、ユニバーサル Windows プラットフォーム (UWP) アプリを作成すると、すべての Windows 10 デバイスをターゲットにすることができます。

デスクトップ アプリと UWP アプリでコードを共有する」をご覧ください

テスト

配布用に準備する現実的な設定で、アプリケーションをテストするには、アプリケーションに署名し、インストールすることをお勧めします。 「アプリのテスト」をご覧ください。

重要

Microsoft Store にアプリを公開する場合は、アプリケーションが S モードで Windows 10 を実行しているデバイスで正しく動作することを確認します。 これは、Microsoft Store 要件です。 「Windows アプリの S モードの Windows 10 をテストする」をご覧ください。

検証

アプリケーションに、Microsoft Store で公開されているの最適な機会を提供したり、 Windows 認定の検証し認定のために提出する前にローカルでテストします。

DAC アプリをパッケージ化を使用している場合、新しい使える-Verifyパッケージのデスクトップ アプリケーションとストア要件に照らしてパッケージを検証するためのフラグ。 「アプリをパッケージ化し、アプリに署名して、ストアへの提出に備える」をご覧ください。

Visual Studio を使用している場合は、アプリ パッケージの作成ウィザード] からアプリケーションを検証できます。 アプリ パッケージ アップロード ファイルの作成に関するページをご覧ください。

ツールを手動で実行する方法については、「Windows アプリ認定キット」をご覧ください。

Windows アプリ認定でアプリの検証に使用されるテストの一覧を確認するには、「Windows デスクトップ ブリッジ アプリのテスト」をご覧ください。

配布

アプリを配布するには、サイドローディングや、Microsoft Store に公開することによって、他のシステムにします。

パッケージ デスクトップ アプリの配布を参照してください。

サポートとフィードバック

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

ご質問がある場合は、 Stack Overflow でお問い合わせください。 Microsoft のチームでは、これらのタグをチェックしています。 こちらから質問することもできます。

フィードバックの提供または機能の提案を行う

UserVoice のページをご覧ください。

このセクションの内容

トピック 説明
アプリのパッケージ化の準備 デスクトップ アプリをパッケージ化する前に確認する項目の一覧を示します。
Desktop App Converter を使用してアプリをパッケージ化します。 Desktop App Converter を実行する方法が説明されています。
デスクトップ アプリケーションを手動でパッケージ化します。 手動でアプリ パッケージとマニフェストを作成する方法について説明します。
Visual Studio を使ってデスクトップ アプリケーションをパッケージ化します。 Visual Studio を使ってデスクトップ アプリケーションをパッケージ化する方法を示します。
Windows 10 とデスクトップ アプリケーションを統合します。 Windows 10 では、アプリケーションをパッケージ プロジェクトのパッケージ マニフェスト ファイル内のタスクを記述することを統合します。
Windows 10 向けのデスクトップ アプリを強化する UWP API を使用して、Windows 10 ユーザーの利便性を高める最新のエクスペリエンスを追加します。
パッケージ デスクトップ アプリケーションに利用可能な UWP Api どのような可能な UWP Api を使用するデスクトップ アプリケーション パッケージを参照してください。
最新の UWP コンポーネントによるデスクトップ アプリケーションの拡張 UWP アプリ コンテナー内で実行する必要がある高度なエクスペリエンスを追加します。 アプリ サービスを使用して UWP プロセスとデスクトップ アプリケーションを接続します。
実行、デバッグ、およびデスクトップ アプリケーションのパッケージのテスト パッケージ化されたアプリをデバッグするためのオプションについて説明します。
デスクトップ アプリケーションのパッケージの配布します。 変換されたアプリケーションをユーザーに配布する方法をご覧ください。
[既知 Issues(desktop-to-uwp-known-issues.md) デスクトップ アプリケーションをパッケージ化の既知の問題を一覧表示されます。