IEXPRESSで作った インストーラーの処理をコマンドラインパラメータで分岐する

IExpressでフォルダ付きインストーラーを作る方法

IEXPRESS でインストーラーを作ると便利ですが、
少し困るのが、作った実行ファイルから直接コマンドで分岐させるのが難しい事です。

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

/Q -- パッケージ処理の状況を一部表示しないモード
/T:<完全なパス> -- 一時フォルダを指定
/C -- /T と同時に使用された場合に、指定したフォルダのみにファイルを展開
/C:<Cmd> -- 指定されたインストール コマンドを無視

コマンドラインオプションを見てもそれっぽいのがありません。

IExpress ソフトウェア更新プログラム パッケージのコマンド ライン スイッチ
詳しい説明が Microsoft にありました。

/q    自動インストールを実行します (メッセージを一部表示しません)。
/q:u    ユーザー非表示モードで実行します (ユーザーにいくつかのダイアログ ボックスが表示されます)。
/q:a    管理者非表示モードで実行します (ユーザーにダイアログ ボックスが表示されません)。
/t:path    ファイルの展開先フォルダを指定します。
/c    インストールを実行せずにファイルの展開のみを行います。/t: path を指定していない場合は、展開先フォルダの入力を求められます。
/c:path    セットアップ .inf ファイルまたは .exe ファイルの UNC パスと名前を指定します。
/r:n    インストール完了後にコンピュータを再起動しません。
/r:i    再起動が必要な場合に、ユーザーにコンピュータの再起動を求めるメッセージを表示します (ただし、/q:a を使用している場合は除きます)。
/r:a    インストール完了後にコンピュータを必ず再起動します。
/r:s    インストール完了後、ユーザーにメッセージを表示せずにコンピュータを再起動します。
/n:v    バージョン チェックを実行しません。パッケージのインストール時に以前のバージョンをすべて上書きします。
注 : /n:v スイッチの使用はサポート対象外です。このスイッチを使用すると、システムを起動できなくなることがあります。インストールに失敗した場合は、サポート担当者に連絡して、インストールに失敗した原因を解明してください。

実は、これ以外にも /Dというオプションがありますが、これは /Tと実質同じです

例えば次のようなtest.cmd というバッチファイルを入れておけば

@echo off
if "%1"=="/M" ECHO もふもふ
if "%1"=="/K" ECHO もけもけ
pause

test.exe" /C:"test.cmd /K"
test.exe" /C:"test.cmd /M"
で分岐することができるわけです。

IE 6.0 SP1のインストール用コンポーネントのダウンロードだけを行う - @IT
同じ原理が、 IEのセットアップファイルですね ・ω・

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です