WindowsサービスをC#で記述しました。
私はそれを自分のマシンにインストールしましたが、問題なく動作します。
サービスをインストールすると、exe
はどこかにコピーされますか?それとも私のbin
フォルダを指していますか?
これは、コードを随時更新する場合、サービスを更新するためにサービスをアンインストールしてから再インストールする必要があることを私が知るためです。
Windowsサービスの場所が変更されておらず、その実行可能ファイルの名前も変更されていない場合、アンインストールして再インストールする必要はありません。
サービスを停止し、その実行可能ファイルを新しいバージョンで更新して、再起動するだけです。
このアプローチは、サービスのServiceBase
実装、プライベートメソッドなどを単純に更新するWindowsサービス開発の何ヶ月にもわたって私にとって信頼できる方法で機能しました。 net stop
およびnet start
コマンドウィンドウの履歴にあるサービスのコマンドを Alt+Tab 以上、履歴を逆戻りしてヒット Enter 必要なコマンドを見つけたとき。
Runからservices.mscを開くと、インストールされているサービスのパスを確認できます。次に、サービスを右クリックして、「実行可能ファイルへのパス」を確認します。
これがbinディレクトリを指している場合、コンパイルが成功するたびに更新されます。
古いWindowsサービスをアンインストールし、新しいバージョンのWindowsサービスをインストールする必要があります。
アンインストール:
installutil /u yourproject.exe
インストール:
installutil yourproject.exe