1

インストールしてデバッグする必要がある c# で記述されたカスタム Windows サービスがあります。私が使うとき

installutil "[path].exe"

コマンドラインからサービスを検索してみてください。インストールされているサービスのリストに表示されません。インストール ログ ファイルを見ると、次のように表示されます。

Installing assembly 'myservice'.   
Affected parameters are:  
   logtoconsole =    
   assemblypath = mypath  
   logfile = mylogfile  
Installing service MyService  
Service MyService has been successfully installed.  
Creating EventLog source MyService in log Application...  
Committing assembly 'myservice'.  
Affected parameters are:  
   logtoconsole =   
   assemblypath = myservice  
   logfile = pathtoinstalllog  
Uninstalling assembly myservice  
Affected parameters are:  
   logtoconsole =   
   assemblypath = myservice   
   logfile = pathtoinstalllog  
Removing EventLog source myservice.  
Service myservice is being removed from the system...  
Service myservice was successfully removed from the system.  
Uninstalling assembly myservice'.  
Affected parameters are:    
   logtoconsole =   
   assemblypath = myservice  
   logfile = pathtoinstalllog  
Removing EventLog source myservice.  
Service myservice is being removed from the system...  
Service myservice was successfully removed from the system.

(path、myservice、pathtoinstalllog などの名前は、会社固有のものです)

とにかく、ログファイルから、サービスがインストールされ、すぐにアンインストールされているように見えます...

さらにコードや情報が必要な場合は、お知らせください。事前に感謝します。

4

1 に答える 1

2

私たちの議論に従ってそれを要約すると...

  • InstallUtil full-pathサービスのメイン出力 (bin/debug/assembly.exe) に「 」を使用します。通常、InstallUtil 'performs rollback' というエラーが発生した場合 (エラーに注意してください) - 実行しているように見えますが、ログには表示されません - したがって、'myservice' のパスが間違っていると推測されます (正しい InstallUtil も選択してください)。バージョン、.NET フレームワーク、および 32/64)...

  • セキュリティ/アカウントの問題 - run InstallUtil elevated(「管理者として実行」、コマンド プロンプトなど) - (必要に応じて追加のデバッグを行うには、サービス アカウントに別のユーザー/タイプを指定してみてください。インストーラー クラスの詳細、RunInstaller 属性などを確認してください。) .

お役に立てれば

于 2012-05-02T19:00:57.007 に答える