サーバー上に Windows サービスがある場合、サービスを更新するための「ベスト プラクティス」は何ですか? (バグがあったとか、もっと機能を追加する必要があるとか)。
サービスをシャットダウンし、パッチを適用して、より自動化された方法で稼働させる方法はありますか?
(コードとのリンクは素晴らしいでしょう)
サーバー上に Windows サービスがある場合、サービスを更新するための「ベスト プラクティス」は何ですか? (バグがあったとか、もっと機能を追加する必要があるとか)。
サービスをシャットダウンし、パッチを適用して、より自動化された方法で稼働させる方法はありますか?
(コードとのリンクは素晴らしいでしょう)
まあ、いつでもインストーラーでバージョンをアップして(使用している場合)それを実行することができます。私の経験から、古いバージョンと新しいバージョンをオーバーレイします。
または、サービスをシャットダウンし、新しい.exe(および依存関係がある場合)をコピーして、バックアップを開始することもできます。これはすべて、私が想像するスクリプトとNETの開始/停止機能を使用して実行できます。
私はこれよりもそれを行うためのより良い方法があると確信しています...
サービスの作成方法 (モノリス EXE) によって異なります。インストーラー、スクリプト + サービス コントロール、バッチ、NET STOP/START など、選択したプロセスを使用してサービスを停止および再起動する必要があります。
アンロード/リロード可能なモジュールとしてサービスの実装をロードするブートストラップ EXE など、少し異なる構造にする場合は、別の会話を行うことができます。もちろん、これはかなり複雑です。
私は、このようなホスティング ソリューションを使用して C# である程度の成功を収めました。
InstallShield は Windows サービスをサポートしています。インストーラーを活用すると、タスクがはるかに簡単になります。