[解決済み] Windowsサービスのインストールとリカバリーアクションによる再起動
2023-04-06 01:35:41
質問
Windows サービスのインストールに
ServiceProcessInstaller
と
ServiceInstaller
クラスがあります。
を使ったのは
ServiceProcessInstaller
を使用して、開始タイプや名前などを設定することができます。しかし
回復アクションを再起動に設定するにはどうすればよいですか?
サービスがインストールされた後、サービス管理コンソールに行き、サービスのプロパティの回復タブの設定を変更することで手動でできることは知っていますが、インストール中にそれを行う方法はありますか。
どのように解決するのですか?
リカバリーオプションを設定するには sc . 以下は、障害発生後にサービスを再起動するように設定します。
sc failure [servicename] reset= 0 actions= restart/60000
これは、C#から簡単に呼び出すことができます。
static void SetRecoveryOptions(string serviceName)
{
int exitCode;
using (var process = new Process())
{
var startInfo = process.StartInfo;
startInfo.FileName = "sc";
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
// tell Windows that the service should restart if it fails
startInfo.Arguments = string.Format("failure \"{0}\" reset= 0 actions= restart/60000", serviceName);
process.Start();
process.WaitForExit();
exitCode = process.ExitCode;
}
if (exitCode != 0)
throw new InvalidOperationException();
}
関連
-
[解決済み] [Solved] ファイル *.mdf をデータベースとしてアタッチできない
-
[解決済み] app.configのマッピングがないアセンブリのapp.configの再マッピングを考慮する。
-
[解決済み] asp.netでWebサービスのタイムアウト時間を長くする方法は?
-
[解決済み] WinSCP 応答待ちタイムアウト
-
[解決済み] csilogfileは何のためにあるのですか?
-
[解決済み] 指定されたサービスは削除するようにマークされています」エラーの解決方法
-
[解決済み] MemoryStreamから文字列を取得する方法は?
-
[解決済み] WPFのStaticResourceとDynamicResourceの違いは何ですか?
-
[解決済み] Windows コマンドプロンプトを使用して、Windows サービスをインストールしますか?
-
[解決済み] インストール時にWindowsサービスを自動的に開始する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】この動詞型ではcontent-bodyを送信できない
-
[解決済み] msiexec を使用せずにコマンドラインから MSI ファイルをアンインストールする
-
[解決済み] VB.NETでプログラムパスを取得する?
-
[解決済み] BasicHttpsBindingとWsHttpBinding with Transport securityの違いは何ですか?
-
[解決済み] データテーブルがすでに別のデータセットに属している
-
[解決済み] .NET Framework 4 マルチターゲティングパックがアンインストールできない
-
[解決済み] Powershell v3 Invoke-WebRequest HTTPSエラー
-
[解決済み] パッケージのダウングレード警告を検出(dotnet core, vs 2017)
-
[解決済み] .NET Coreと.NET Standard Class Libraryのプロジェクトタイプの違いは何ですか?
-
[解決済み] .NETで文字列から発音区分符号(アクセント)を削除するにはどうすればよいですか?