pslaboが試したことの記録

はてなダイヤリーからはてなブログに引っ越してきました

この日記は現在実行中の減量記録を含む個人的なメモとして始めましたが、最近はコンピュータやガジェット、ハック、セキュリティネタのほうがメインになっております。

はてなダイヤリー時代はカテゴリ分けが適当だったのですが、これはそのうち直します。


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