treedown’s Report

システム管理者に巻き起こる様々な事象を読者の貴方へ報告するブログです。会社でも家庭でも"システム"に携わるすべての方の共感を目指しています。

※https化しました。その影響でしばらくリンク切れなどがあるかもしれませんが徐々に修正していきます。 リンク切れなどのお気づきの点がございましたらコメントなどでご指摘いただけますと助かります。

続・Paint-dot-netのインストーラ仕様が変わったのでサイレントインストールの検証

Paint.netのインストーラがWebインストーラの形式に変更となり、以前使えていた機能(インストール作業で必要な動作)が使えるかどうかを試してみた、というご報告です。

MSIインストーラでサイレントインストールが可能かどうかの確認をしました。

Paint.netのインストーラ

Paint.netの標準的なインストーラではサイレントインストールがサポートされておらず、以前にはMSIインストーラを生成して、そのMSIインストーラをmsiexecのサイレントオプション付加で実行することでサイレントインストールが出来ていました。

このサイレントインストールが新しいインストーラになっていても可能かどうか、これを今回確認していきます。

MSIインストーラ生成を試してみる

MSIインストーラ生成ができるかどうかが結構個人的に重要なので調べてみました。
まずは、インストーラに「/?」オプションを付けてインストーラのヘルプが参照出来るかを確認。

やってみると、/?でヘルプを表示するにもインストーラのダウンロードとローカルWindowsへの展開が必要になるよう。一通り終わったところでヘルプが表示されました。


ただ、(Webインストーラの形式なので仕方ないのですが)ヘルプを見るのもちょっと手間かなぁとは思いました。
ヘルプには、(以下転載)
--------------------------------------------------------------
paint.netインストーラーのヘルプ

コマンドラインオプション:

/skipConfig  -  構成とインストール先の設定をスキップします。その場合、以下の優先順位でMSIプロパティの値を使用します: 1. コマンドラインによる指定、2. レジストリ値: HKLM\Software\paint.net、3. 標準の値。 注意: このオプションを使用した場合、使用許諾契約に同意したものと見なされます。

/auto  -  完全自動でインストールします。/skipConfig と同様の機能ですが、ウィザードの最後のインストール結果を表示しません。

PROPERTY=VALUE  -  MSIプロパティを指定します。詳細についてはインストール後にヘルプを参照してください。

成功した場合の戻り値は0、失敗した場合の戻り値はそれ以外となります。
--------------------------------------------------------------
以前調べた<https://blog.treedown.net/entry/2022/06/14/010000>ときより少ない記述になっています。「/createMsi」オプションの説明がなくなっている。うーん、廃止?

試しに「/createMsi」オプション含めて、前回と同じ「/skipConfig /auto /createMsi CHECKFORUPDATES=0」を付けて実行してみます。

実行すると、


ダウンロードの承認画面が出てくるのでContinueで処理を継続、しばらく待つと、


残念。「/createMsi」オプションは廃止されたようです。
--------------------------------------------------------------
/createMsi コマンドは削除されました。MSIファイルは次の場所からダウンロードできます:
https://www.github.com/paintdotnet/release/releases
--------------------------------------------------------------

MSIインストーラの準備は以前と違う手順になりそう。

MSIインストーラを用意する

MSIファイルは別途用意しているからダウロードしてね、というメッセージ。案内されたURLを開いてみると、(GitHub内にある)最新版のダウンロードページでオフラインインストーラが提供されていました。
あとMSIインストーラを使う場合には、Webインストーラの形式と違って.NETが含まれないから、別途自分で.NETの動作要件を満たすようにせよ、という注意書きがありました。


この中の「paint.net.4.3.12.winmsi.x64.zip」のようなプラットフォーム(x86/x64/arm64)に合わせたMSIインストーラをダウンロードできるらしい。以前のように手動で生成してなくて良くなったのは手間が一つ減ったと考えることもできるかもしれません。
さらに気になったのは、"portable"の表記、これもしかしてインストール不要のポータブル版でPaint.netが使えるようになったということ?

MSIインストーラを動作確認

なんだか気になるところですが今回はMSIの確認なので、早速MSIをダウンロードして実行を確認してみます。オプションは前回<Paint.netの無人インストールを試してみる - treedown’s Report>と同じサイレントインストールのオプションを管理者のコマンドプロンプトで実行してみます。


動作要件を満たしているWindows10ならあっという間にサイレントインストールが完了し、Paint.netが使用可能になりました。以前よりインストール処理が早いような気もします。


ただ、Webインストーラの形式では.NETの有無(環境内に対応する.NETがインストールされているか)を気にせずインストール処理を進めることが出来るのに対して、MSIインストーラではちゃんと.NETがインストール済であることを前提としてインストール処理を実行しなければならない、と言う点はしっかりと認識しておいた方が良さそうです。

ともあれ、サイレントインストールは新しいインストーラになっていても対応していてよかった。これで以前に調査・検証した内容は無駄にならずに済んだようです。一安心。