【InstallScript】 FailureActionsの設定
移転しました。
約3秒後に自動的にリダイレクトします。
InstallSheldでインストーラを作成中に、InstallScriptプロジェクトでServiceを登録する処理を作成していたところ
サービス起動時のエラー発生時の処理設定、「FailureActions」の設定方法でつまづきました。
レジストリに直接登録する方法も考えましたが。。。バイナリデータのため難しい。。。
結構悩んで、以下の方法で一応設定できました。
- ServiceAddServiceでサービスを登録する。
- LaunchAppAndWaitを利用して該当サービスのレジストリに登録する。
こんな感じです
szService = "Test Service"; sc = "failure " + "¥"" + szService + "¥"" + " action= restart/60000/restart/60000/restart/60000 reset= 3600; LaunchAppAndWait("sc.exe", sc, LAAW_OPTION_WAIT|LAAW_OPTION_HIDDEN);
※ szServiceにはサービス名(サービス内部名が入ります)が入ります。サービスの表示名ではありません。
実行後、無事に以下のような設定になってました。
・最初のエラー発生時 :「サービスを再起動する」
・次のエラー発生時 :「サービスを再起動する」
・その次以降のエラー発生時:「サービスを再起動する」
他の方法ってあるのかなぁ。。。