WindowsデスクトップアプリケーションをユニバーサルWindowsアプリケーションに変換する方法
Windows 10のAnniversary Updateにより、マイクロソフトは開発者が従来のWindowsデスクトップアプリケーションをUniversal Windows Platform(UWP)アプリケーションに変換することを可能にしています。しかし、開発者だけでなく、誰でもあらゆるアプリでこれを実行できます。.
Windows 10のコンバーターで、それにちょうど.msiか.exeファイルを与えなさい、そしてそれは.appxパッケージを吐き出すでしょう。その後、このアプリを自分のPCにサイドロードすることも、アプリケーションの開発者であれば、作成したUWPアプリをWindowsストアに送信することもできます。この機能は、Windows 10のAnniversary Updateを使用しているすべてのユーザーに提供され、Windowsストアに多くの「レガシ」アプリケーションをもたらします。.
なぜあなたはこれをしたいのですか
この機能は、MicrosoftのProject Centennialの最終結果です。これは、これらの「従来の」Win32および.NET WindowsデスクトップアプリケーションをWindowsストアおよび新しいユニバーサルWindowsプラットフォームに提供するように設計されています。.
デスクトップアプリケーションを新しいUWPアプリケーションに変換したいのはなぜでしょうか。まず、WindowsストアではUWPアプリのみが許可されています。これにより、開発者はシングルクリックインストール、簡単な購入、および自動アップデートはもちろんのこと、自分のアプリをもっと目にすることができます。.
Microsoftの新しいUWPアプリケーションプラットフォームはサンドボックス化されていますが、変換したデスクトップアプリケーションはそうではありません。これらのアプリケーションは、従来のデスクトップアプリケーションと同じように、システムにフルアクセスできます。 Microsoftのドキュメントによると、UWPアプリとして、あなたのアプリは古典的なデスクトップアプリとして実行できることを実行できます。実際のレジストリやファイルシステムと区別がつかない、仮想化されたレジストリやファイルシステムのビューと対話します。」
制限事項
ここにいくつかの重要な制限があります。まず、これはWindows 10 Anniversary Updateでしか実行できません。現時点では、Windows 10 Insider Previewビルド14316以降で動作するので、Windows Insiderプログラムに参加してWindows 10のInsider Previewビルドを使用する必要があります。.
この機能には、Windows 10のProfessionalエディションまたはEnterpriseエディションも必要です。Windows10 HomeユーザーはDesktop App Converterを使用できません。ビルド14316の時点では、Windows 10 Enterprise上でしか動作しませんでしたが、Windows 10 Professionalのサポートが近づいています。現時点では、このツールは64ビットバージョンのWindowsでのみ使用でき、作成されたAppXパッケージは64ビットバージョンのWindowsでのみインストールできます。これは将来のWindows 10のInsiderビルドで変更されるでしょう。.
結果のアプリケーションは、Windows 10 PC用です。 Windows 10 Mobileスマートフォン、Xbox One、HoloLens、Surface Hub、その他UWPアプリを実行するWindows 10プラットフォームでは動作しません。ただし、開発者であれば、マイクロソフトはデスクトップアプリケーションをクロスプラットフォームのUWPアプリケーションに移行するための方法を提供しています。アプリコンテナのパーティションを作成すると、アプリはどのWindows 10デバイスでも実行できるようになります。」
ただし、一部の種類のアプリケーション動作はサポートされていません。アプリケーションは、管理者として実行することや、他の種類の低レベルのシステムアクセスを使用することを要求することはできません。マイクロソフトは許可されていない動作の一覧を提供します。.
デスクトップアプリケーションコンバータを設定する方法
Windows 10 Insider Previewの十分に新しいビルドを使用していると仮定すると、MicrosoftのDeveloperサイトからDesktop App Converterをダウンロードしてインストールできます。 DesktopAppConverter.zipファイルとBaseImage-14316.wimファイルの両方をダウンロードしてください。ダウンロードしたDesktopAppConverter.zipファイルをコンピュータ上のフォルダに抽出し、BaseImageファイルを同じディレクトリに配置します。 (利用可能なWindows 10の新しいビルドがある場合は、新しいBaseImageファイルが表示されます。インストールされているWindows 10のビルドと同じバージョン番号のBaseImageファイルを使用する必要があります。)
Windows 10 SDKをダウンロードしてインストールする必要もあります。.
次に、管理者としてPowerShellウィンドウを開きます。これを行うには、[スタート]メニューを開き、[PowerShell]を検索してショートカットを右クリックし、[管理者として実行]を選択します。
次のコマンドを実行して、PowerShellの実行ポリシーを変更します。入力して変更に同意します よ
その後.
Set-ExecutionPolicyバイパス
以下のコマンドを実行して置き換えます。 C:\ Users \ NAME \ Downloads \ DesktopAppConvertor
コンピュータ上のディレクトリへのパスを指定します。
cd -Path C:\ Users \ NAME \ Downloads \ DesktopAppConvertor
次のコマンドを実行してDesktop App Converterを設定します。
.\ DesktopAppConverter.ps1 -Setup -BaseImage。\ BaseImage-14316.wim
これらのコマンドの実行中に再起動を求められた場合は、コンピュータを再起動してからもう一度コマンドを実行してください。.
デスクトップアプリケーションを変換する方法
あなたは今実行することができます DesktopAppConverter.ps1
1つのコマンドでデスクトップアプリケーションをUWPアプリケーションに変換するためのAdministrator PowerShellウィンドウからのスクリプト。これを行うにはアプリケーションのインストーラが必要です。例として、ここではVLCを使います。.
オプションの詳細リストを表示するには、いつでも次のコマンドを実行できます。
get-help。\ DesktopAppConverter.ps1 -detailed
これはあなたが使用してあなたのアプリケーションに合わせて調整できるコマンドです:
.\ DesktopAppConverter.ps1 -ExpandedBaseImage C:\ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 -Installer C:\ Installer \ MyApp.exe -InstallerArguments "/ S" - Destination C:\ Output \ MyApp -PackageName "MyApp" - 出版社 "CN =" - バージョン0.0.0.1 - MakeAppx - 詳細
あなたはあなた自身の出版社名、バージョン、パッケージ名を追加し、あなたが好むインストーラーファイルと行き先ディレクトリを指すようにコマンドを調整する必要があります。の -InstallerArguments "/ S"
ここでのオプションは / S
インストーラーに切り替えると、多くのアプリケーションインストーラーがユーザーの入力なしでサイレントインストールを行います。アプリケーションはユーザーの入力なしでインストール可能でなければならないか、変換することはできません。.
アプリケーションのインストーラは、インストーラと同じディレクトリにあるファイルが結果の.appxパッケージにコピーされるため、他のファイルを含めずに独自のディレクトリに配置する必要があります。.
たとえば、ここではVLCを使用しているので、使用するコマンドは次のとおりです。
.\ DesktopAppConverter.ps1 -ExpandedBaseImage C:\ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 -Installer C:\ Users \ chris \ Downloads \ vlc \ vlc-2.2.2-win32.exe -InstallerArguments "/ S" - 宛先C:\ Output \ VLC - パッケージ名 "VLC" - パブリッシャ "CN = VideoLAN" - バージョン0.2.2.2 - MakeAppx - 詳細
ツールはあなたに.appxパッケージを提供します。これはアプリのUWPバージョンです。.
署名せずにアプリをインストールする方法
あなたは彼らがインストールされることができる前にあなたは通常有効な署名でアプリに署名することを通常必要とします。マイクロソフトは自己署名証明書を作成し、それを使用してコンピューターに署名することをお勧めします。あなたが好きなら、あなたは以下の手順を使用してそれを行うことができます.
ただし、自分のコンピュータにアプリをインストールするだけの場合は、署名を気にせずに自分ですばやく行うことができます。 Windows 10では、ディレクトリから「パッケージ化されていない」アプリをインストールしている場合、署名せずにアプリをインストールできます。.
これを行うには、管理者としてPowerShellウィンドウを開き、次のコマンドを実行します。
Add-AppxPackage -Path C:\ Path \ to \ AppxManifest.xml -Register
指定した出力ディレクトリで、Application.appxファイルの横にAppxManifest.xmlファイルがあります。.
これで、スタートメニューからアプリケーションを起動できます。 「デスクトップアプリ」ではなく「Windowsアプリ」になりますが、それ以外の点では通常のデスクトップアプリのように見えます。.
アプリに署名してインストールする方法
アプリケーションを既にインストールしている場合は、これらの手順に従う必要はありません。これは難しい方法です.
通常、.appxパッケージには有効な署名がある場合にのみインストールできます。マイクロソフトは、Windows 10 SDKに含まれているsigntool.exeアプリケーションを使用して自己署名証明書を作成することをお勧めします。これにより、アプリケーションを自分のコンピューターにインストールしてテストすることができます。.
管理者としてコマンドプロンプトウィンドウを開き、次のコマンドを実行して自己署名証明書を作成し、それを使って.appxパッケージに署名します。
cd "C:¥Program Files(x86)¥Windows Kits¥10¥bin¥x64"
MakeCert.exe -r -h 0 -n "CN =発行元" -eku 1.3.6.1.5.5.7.3.3 -pe -sv my.pvk my.cer
pvk2pfx.exe -pvk my.pvk -spc my.cer -pfx my.pfx
signtool.exe sign -f my.pfx -fd SHA256 -v C:\ Path \ to \ application.appx
指定したサイト運営者は、 "CN =出版社"
-AppXファイルの作成時に指定した発行元と一致する必要があります。だから、上から私たちのVLCの例を続けて、私たちは使用する必要があるでしょう "CN = VideoLAN"
.
パスワードを入力するように求められます。あなたはただパスワードを空白のままにすることができます.
これで、Add-AppxPackageコマンドを使用して、.appxパッケージをPowerShell(管理者)ウィンドウにインストールできます。
Add-AppxPackage C:\ Path \ to \ application.appx
この機能は誰でも使うことができますが、開発者(そしておそらく一部のシステム管理者)だけがこの道を進みたいと思うでしょう。幸いなことに、このプロセスは開発者にとって非常に簡単です。.