とっちゃん's Blog

WindowsInstaller に WiX はいかがですか~

目次

Blog 利用状況

ニュース

とっちゃんって?

コミュニティ

@ITの記事

CodeZineの記事

WiX チュートリアル

Windows ユーザー エクスペリエンス ガイドライン

唯一の日本語書籍

記事カテゴリ

書庫

日記カテゴリ

インストーラ関連

旧館

2016年9月26日 #

[Desktop App Converter]コンバートしてみよう

環境構築ができたら、まずは簡単なインストーラを使ってコンバートの実験をしましょう。

非常に残念な話ですが、どの環境でもコンバートが成功するとは限りません。私物環境(14931)ではなぜかBSODが出るように。。。ひとつ前のIP(14926)から出るようになってしまったのですが、Hyper-V の入れ直し程度では復活しませんでした><

RTWしたやつからなので、何とも微妙ですが会社環境(14393)では動作するので、環境依存の何かなんでしょうねぇ。。。ほかに動かねーという情報も見ないし><

 

さて…気を取り直して。

PSコンソールを管理者で起動して、DesktopAppConverterの展開フォルダに移動します(ストア版でもOK)。

コマンドラインオプションはいろいろあるのですが、基本的なコンバート作業で利用するのは

-Installer インストーラのパス(相対パスまたはフルパス)

-Destination コンバート後のデータの出力先基本フォルダ

-PackageName UWPアプリのパッケージ名

-Publisher パブリッシャー情報(CN は必須。それ以外はオプション)

-Version パッケージのバージョン

の必須パラメータと

-MakeAppx コンバート時に自動的に appx まで作成(つけない場合は、appx に必要なファイルの作成まで。本番リリース向け環境では手動修正が必須なのでつけない)

-Sign appx作成時に自己証明書を作成してそれで署名してくれるオプション(実験専用)

-Verbose 作業状況のコンソールへのフィードバック(これがあると時間がかかる代わりに何をやっているかが一目瞭然)

の計8つ。それと、exe形式のインストーラのコンバートで利用する

-InstallerArguments インストーラをサイレントインストールで実行する場合のパラメータ(msiのサイレント用パラメータは自動でセットされる)

-InstallerValidExitCodes インストーラの成功終了時の終了コード(0以外で終了するexeなどで指定する)

というあたりでしょう。ほかにもありますが、複雑な製品攻勢になっていなければ、この程度でだいたいコンバートできます。

コマンドラインサンプルの実行例は(ストア版の場合 ps1 へのパスが通っているのでそのまま名前で変換可能)

.\DesktopAppConverter.ps1 -Installer ..\SampleDAC\SetupMfcApp\bin\Release\SetupMfcApp.msi -Destination ..\outputDAC -PackageName MfcApp -Publisher CN=Tocchann -Version 1.0.926.0 -MakeAppx -Verbose -Sign

という感じになります。

これを実行するとそのコンソール上で(ISEだと多少グラフィカルになります)、以下の項目を随時通知しながらコンバートが行われます。

  • Checking Prerequisites
  • Initializing AppxManifest.xml
  • Validating Input
  • Setting up Conversion Environment
  • Running Installer in Isolated Environment
  • Preparing Virtual File System
  • Preparing known folder and application directory layout
  • Preparing Virtual Registry
  • Finalizing AppxManifest.xml
  • Checking for Unsupported COM Usage
  • Preparing Final Output
  • Making Final Appx Package
  • Signing Appx Package

成功すれば、最後に

Output Paths:

Name Value
---- -----
CertPath C:\Sample\outputDAC\MfcApp\auto-generated.cer
PackageFilesPath ..\outputDAC\MfcApp\PackageFiles
PackagePath ..\outputDAC\MfcApp\MfcApp.appx
LogFilesPath ..\outputDAC\MfcApp\logs

という感じで出力されます(見やすいようにテーブル化していますが、実際はスペースでそろえてあるだけです)。

プレビューの時には、-MakeAppx をつけているとルートに配置されるファイルが PackageFilesPath に展開されなかったのですが、リリース版ではこれらも展開されます。

ここまでがごくごく簡単な作業手順です。

posted @ 13:23