はじめに
みなさん Design Studio
や RoboServer
、 Desktop Automation Service
などインストール/アンインストールする際、BizRobo! のインストーラー(.msi
ファイル)を使って画面をポチポチやっていると思います。
面倒くさくないですか?
ほとんどの場合 標準インストール以外しないのに、なぜ毎回 GUI による画面操作を繰り返すのだろうか?と前々から思ってます。(無駄に画面に張り付く時間の創出)
自動化・効率化を提供している会社がそういう発想にならないのってかなりアレな感じもするので探索してみました。1
Windows の標準コマンドで簡単インストール
msiexec
という Windows 付属の標準コマンドを使ってインストールを行います。
コマンド自体はバージョン関わらず Windows であれば利用できる反面、インストーラがこの機能に対応した .msi
ファイルであることが前提であり、製品側の対応が必須とのこと。
現在提供しているものであれば、どのバージョンの BizRobo! でも実行可能と思いますが、本記事においては v11.3.0.2 を使って実施しています。
使い方は以下のような感じ。詳しい説明は msiexec /help
とコマンドを実行するとプロンプトに表示されます。
msiexec /Option <Required Parameter> [Optional Parameter]
インストール オプション
</package | /i> <Product.msi>
製品をインストールまたは構成します
</uninstall | /x> <Product.msi | ProductCode>
製品をアンインストールします
表示オプション
/quiet
Quiet モード - ユーザーの操作なし
/passive
無人モード - 進行状況バーのみ
/q[n|b|r|f]
ユーザー インターフェイスのレベルを設定します
n - なしUI
b - 基本 UI
r - 簡易 UI
f - 完全 UI (既定)
再起動オプション
各種(略)
ログ オプション
/l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <LogFile>
各種(略)
/log <LogFile>
指定したときと同じ情報がログに記録されます /l* <LogFile>
更新オプション
各種(略)
修復オプション
各種(略)
コマンドによるBizRobo!のインストール/アンインストール
インストールの方法
BizRobo_Basic-11.3.0.2_x64_JP.msi
をプログレスバー表示でインストールしてみます。
管理者モードでコマンドプロンプト(PowerShellでも可)を起動し、以下のコマンドを実行します。2
msiexec /passive /i BizRobo_Basic-11.3.0.2_x64_JP.msi /l msi_i_br_log.txt
- /passive:無人モード - 進行状況バーのみ
- /i:インストール
- /l msi_i_br_log.txt:ログを msi_i_br_log.txt に出力
3分ぐらいかかります。思ったより時間かかる様子を動画で見てみてください。
インストールガイドには /passiv
の代わりに /qn
が表示オプションとして指定されていますが、msiexec
自体が非同期で実行されるようでコマンド実行直後にプロンプトへ入力が返ってきてしまうため、この方法だと全く実行後の様子が分かりません。3
アンインストールの方法
アンインストールの場合にはインストールオプションを /x
に変更します。
msiexec /passive /x BizRobo_Basic-11.3.0.2_x64_JP.msi /l msi_x_br_log.txt
- /passive:無人モード - 進行状況バーのみ
- /x:アンインストール
- /l msi_x_br_log.txt:ログを msi_x_br_log.txt に出力
せっかくコマンドで実行しているのに、削除フォルダを選択する手順は画面から手動で実施しなければならないのがいまいちです。
まとめ
大した手間の違いはないかもしれませんが、コマンド経由で実行するメリットとしては
- 画面操作による間違いが起こらない。
- 処理中/作業中に異常が発生した場合でもログで漏れなく状況を確認できる。
ということがありますし、手順書自体の管理・保守も楽になります。
「コマンド実行じゃ何をやっているかわからないじゃないか!」という意見も時々いただきますが、画面経由で操作したとして、わかった気になっているだけということも多いですよね。
あくまでコマンド実行が問題なのではなく、それを実行する際のガイドが不十分なのだと思います。