サイレントインストール

最近はサーバーサイドで使用することが多いので、あまり使うことがないのですが、JDKJREのサイレンとインストールの方法です。サイレントインストールでは、作業する人がコンポーネントやインストール先の選択を行う必要がないので、手間が減り作業ミスも起こりづらくなるメリットがあります。他のインストーラからJDKも一緒にインストールする際などに。
Silent installation of JDK and JRE
サイレントインストール

jdk.exe /s /v "/qn ADDLOCAL=ToolsFeature[,DemosFeature][,SourceFeature] INSTALLDIR=C:\java\jdk"*1

ADDLOCALでインストールするコンポーネントを、INSTALLDIRでインストール先を指定します。ADDLOCAL=ALLですべてインストールされます。
JavaSE6の通常のインストーラでは、JREとJavaDB(Derby)がインストールオプションで選べますが、ADDLOCALで指定できるのかわかりません。ADDLOCAL=ALLではインストールされなかったです。JDKのインストール先フォルダに、JREとJavaDBのインストーラがコピーされるので、一度JDKを入れてから個別にインストールすればよいかもしれません。

これで実行すると画面にプログレスバーなどはいっさい表示されず、コマンドプロンプトから実行した時点で処理は戻ります。インストール完了まで待つ場合には、Sunのドキュメントにある通り、

start /w jdk.exe 〜

startコマンドから実行します。

できれば、プログレスバーくらいは表示させたいのですが、オプションの設定がわかりません。。"jdk.exe /help"でWindowsInstallerのオプション一覧を見ることができるのですが反映されなかったです。

msiexec /Option <必須パラメータ> [省略可能なパラメータ]

インストール オプション
	 
		製品をインストールまたは構成します。
	/a 
		管理用ツール - ネットワーク上の製品をインストールします。
	/j  [/t <変換一覧>] [/g <言語 ID>]
		製品をアドバタイズします - すべてのユーザーには m、現在のユーザーには u を指定します。
	 
		製品をアンインストールします。
表示オプション
	/quiet
		Quiet モード - ユーザーの操作なし
	/passive
		無人モード - 進行状況バーのみ
	/q[n|b|r|f]
		ユーザー インターフェイスのレベルを設定します。
		n - なし
		b - 基本
		r - 簡易
		f - 完全 (既定)
	/help
		ヘルプ情報
再起動オプション
	/norestart
		インストール完了後に再起動しません。
	/promptrestart
		再起動が必要な場合は、ユーザーに再起動を要求します。
	/forcerestart
		常に、インストール後コンピュータを再起動します。
ログ オプション
	/l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] 
		i - 状態メッセージ
		w - 致命的ではない警告
		e - すべてのエラー メッセージ
		a - 操作のスタートアップ 
		r - 特定の操作の記録
		u - ユーザーの要求
		c - UI パラメータの初期値
		m - メモリ不足または致命的な終了に関する情報
		o - ディスク領域不足メッセージ
		p - ターミナルのプロパティ
		v - 詳細出力
		x - 詳細デバッグ情報
		+ - 既存のログ ファイルに追加
		! - 各行をログにフラッシュ
		* - v オプションと x オプションを除くすべての情報をログに記録します。
	/log <ログ ファイル>
		/l* <ログ ファイル> と指定したときと同じ情報がログに記録されます。
更新オプション
	/update [;Update2.msp]
		更新を適用します。
	/uninstall <修正プログラム コード GUID>[;Update2.msp] 
	/package 
		製品の更新を削除します。
修復オプション
	/f[p|e|c|m|s|o|d|a|u|v] 
		製品を修復します。
		p - ファイルが見つからない場合のみ
		o - ファイルが見つからない、または古いバージョンがインストールされている場合 (既定)
		e - ファイルが見つからない、同じバージョンまたは古いバージョンがインストールされている場合
		d - ファイルが見つからない、または違うバージョンがインストールされている場合
		c - ファイルが見つからない、またはチェックサムと計算された値が一致しない場合
		a - すべてのファイルをインストールする
		u - すべてのユーザー固有の必須レジストリ エントリ (既定)
		m - すべてコンピュータ固有の必須レジストリ エントリ (既定)
		s - すべての既存のショートカット (既定)
		v - ソースから実行して、パッケージをローカルに再キャッシュする
パブリック プロパティの設定
	[PROPERTY=プロパティ値]

*1:jdk.exeはJDKのインストーラのファイル名に読み替えてください。