web-dev-qa-db-ja.com

インストールされているWindowsサービスを更新する方法

WindowsサービスをC#で記述しました。

私はそれを自分のマシンにインストールしましたが、問題なく動作します。

サービスをインストールすると、exeはどこかにコピーされますか?それとも私のbinフォルダを指していますか?

これは、コードを随時更新する場合、サービスを更新するためにサービスをアンインストールしてから再インストールする必要があることを私が知るためです。

28
shenku

Windowsサービスの場所が変更されておらず、その実行可能ファイルの名前も変更されていない場合、アンインストールして再インストールする必要はありません。

サービスを停止し、その実行可能ファイルを新しいバージョンで更新して、再起動するだけです。

このアプローチは、サービスのServiceBase実装、プライベートメソッドなどを単純に更新するWindowsサービス開発の何ヶ月にもわたって私にとって信頼できる方法で機能しました。 net stopおよびnet startコマンドウィンドウの履歴にあるサービスのコマンドを Alt+Tab 以上、履歴を逆戻りしてヒット Enter 必要なコマンドを見つけたとき。

32
J0e3gan

Runからservices.mscを開くと、インストールされているサービスのパスを確認できます。次に、サービスを右クリックして、「実行可能ファイルへのパス」を確認します。

これがbinディレクトリを指している場合、コンパイルが成功するたびに更新されます。

enter image description here

3
Riz

古いWindowsサービスをアンインストールし、新しいバージョンのWindowsサービスをインストールする必要があります。

アンインストール:

   installutil /u yourproject.exe

インストール:

   installutil yourproject.exe
1
user1968030