4

MyProgram.exeは、パイプからの要求をリッスンし、コマンドプロンプトを使用して完全に機能するように作成されていますが、Windowsサービスを使用して機能しようとしましたが、成功しませんでした。WindowsServer2008Enterpriseで次の手順を実行しました。

> sc create MyService binPath= "C:\test\MyProgram.exe" DisplayName= "MyProgramService"
>[SC] CreateService SUCCESS

>sc start MyService 
[SC] StartService FAILED 1053:

The service did not respond to the start or control request in a timely fashion.

参照

そこで、あるブログで同じレジストリエントリを作成する必要があることを読み、次の手順を試しました。

新しく作成したサービスは、HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Services\MyServiceの下にあります。

  1. regeditのメニューからMyServiceという名前のキー(フォルダーのように見えます)をクリックします。「編集」と「新規」を選択し、「キー」を選択します。これにより、「パラメータ」という名前の新しいキーが作成されます。次に、「パラメータ」という名前のキーを右クリックし、「新規」、「文字列値」の順に選択します。値に「アプリケーション」という名前を付けます。文字列値をダブルクリックすると、ボックスがポップアップ表示されます。「値データ」の下のボックスに、Dropboxへのフルパスを入力する必要があります。私の場合、パスはC:\ test \ MyProgram.exe\MyProgram.exeでした。

  2. 新しいサービスを開始します。コントロールパネルの管理ツールでサービスリストに移動するか、実行ボックスにservices.mscと入力します。リストからDropBoxを見つけて、起動します。新しいサービスは自動的に開始するように設定する必要がありますが、確認してください。

ただし、サービスは数秒間開始され、終了します。services.mscから手動でサービスを開始すると、エラーが発生します

StartServiceが失敗しました1053:

サービスは、開始要求または制御要求にタイムリーに応答しませんでした。

なぜ誰かがそれに取り組んでいるのかわからないので、サービスとしてそれを作るためのガイダンスをお願いします。

4

1 に答える 1

5

EXEをWindowsサービスとして実行することはできません。サービスであることの意味を理解し、Windowsサービスコントロールマネージャーと適切に通信するexeが必要です。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms686953(v=vs.85).aspxで始まるMicrosoftのドキュメントを参照してください。

于 2012-09-24T09:13:43.483 に答える