中堅プログラマーの備忘録

忘れっぽくなってきたので備忘録として・・・

visual studioで作成した【Setup Project】でサイレントインストールを試し、インストール結果を取得する

【Setup Project】でインストーラーを作成すると
【setup.exe】と【*****.msi】というファイルが作成されます。
このプロジェクトをサイレントインストールしてみようと思います。

サイレントインストールすることでプロセスはバックグラウンドで進行し
ユーザーにとっての煩わしさを防ぎ、アプリケーションを最新の状態に保つことが出来ます。
今回はbatファイルで実行し、さらに結果の戻り値を取得します。

start C:\ProgramData\testApplication\setup.exe /quiet

if not "%ERRORLEVEL%"  == "0" (
    echo type nul >C:\ProgramData\testApplication\failure
    EXIT

) else (
    echo type nul >C:\ProgramData\testApplication\success
)


【setup.exe】に引数【/quiet】を指定することでサイレントインストールで実行されます。
また【ERRORLEVEL】を取得し、正常に終了したかどうかを判断しています。
今回は、結果によってファイルを作成するようにしました。
【ERRORLEVEL】については

0:正常
1:ユーザーが中断
2:エラーによって中断

のステータスをもっています。