DesktopAppConverterを試す(現在進行中)
とりあえずメモレベル。
下準備
- Windows10 64bit版の Anniversary Update (Version 1607, Build 14393) 以降のバージョンを用意する。
- Hyper-V を有効にしておく。
- Windows SDK は '10.0.14388.0' 以降にしておく。
- DesktopAppConverter のインストール時に使用する PowerShell スクリプトを実行できるように、ポリシーを変える。管理者権限で Set-ExecutionPolicy RemoteSigned にする。RemoteSigned の代わりに AllSigned でも良いとは思う。
- DesktopAppConverterをストア経由でインストールする。
- 使用中のWindows10のビルドに合わせたBaseimageをダウンロードしておく。3GBくらいあるので時間かかります。
Windows10 SDK のインストーラは以下からダウンロードできます。
https://developer.microsoft.com/ja-jp/windows/downloads/windows-10-sdk
Set-ExecutionPolicy については
https://msdn.microsoft.com/ja-jp/windows/uwp/porting/desktop-to-uwp-run-desktop-app-converter には Set-ExecutionPolicy bypass と書いてあるけど、さすがに bypass は嫌すぎるんですが……。
また、Baseimage は以下のURLからダウンロードできます。
https://www.microsoft.com/en-us/download/details.aspx?id=53896
環境構築
- 管理者権限で "DesktopAppConverter.exe -Setup -BaseImage C:\BaseImage\BaseImage-
.wim" を実行する。
これを実行するとコンテナの設定等が行われます。また OS の再起動も必要になります。
アプリの変換
- 変換したいアプリのインストーラを用意する。インストーラはサイレントインストールに対応していることが必要。
- 管理者権限で DesktopAppConverter を実行する。最低限必要なパラメータは以下の通り?
DesktopAppConverter -Installer [サイレントインストーラを指定する] -InstallerArguments "/h" # インストーラへのパラメータ(パラメータ無しでサイレントインストールが行える場合は省略する) -InstallerValidExitcodes 1 # インストーラが正常終了した場合の終了コード。DesktopAppConverter のデフォルト動作ではインストーラが0を返した場合に正常とみなすため、正常時に 0 以外を返すインストーラは戻り値を明示せねばならない。 -Destination [変換後のファイルの出力先フォルダ] -PackageName "[パッケージ名称]" -Publisher "CN=[適当なCN名]" -Version 1.0.0.0 -MakeAppx -Verbose
- 生成された appx に有効な署名がなくてもとりあえずインストールする方法はこんなカンジ。
Add-AppxPackage -Register [変換後のファイルの出力先]\PackageFiles\AppxManifest.xml