2009-08-17 12 views

答えて

3

は、サービスをコマンドラインから起動することは想定されていませんsc start

7

を使用してみてください。まずそれを登録し(installutil/i service_path)、net startまたはsc startで開始します。

または、サービスプロジェクトのメインエントリポイントを作成してロジックを開始すると、コマンドラインからサービスをテストできます。しかし、これは実際のサービス環境ではありません。

+0

イニシャル開発のプロジェクトでメインエントリポイントを持つことについてのコメントは+1です。 Ivanによれば、サービスはサービスとして実行されるとき(異なる資格情報)異なる動作をすることができます。 –

+0

これまでに書いたサービスはすべて、コマンドラインパラメータをサポートしているため、コンソールモードアプリケーションとして実行できます。私は/を使用しますが、何を使用するにしても、この種のパターンを完全にお勧めします。時間を節約してデバッグに時間を節約します。 – Mark

3

あなたは呼び出すことにより、サービスを開始または停止することができます。詳細については

net start "Service Name" 
net stop "Service Name" 

this technet articleを参照してください。

これは動作するはずですが、次のように提供当てはまる:

  • コマンドプロンプト/ユーザーがサービスを開始するための適切な権限を持っています。これはANYソリューションに必要です。
  • サービスがシステムに正しくインストールされ、登録されています。私の疑惑は、これが犯人かもしれないということです。サービスはサービスの下に掲載されていますか?
+0

OPはこれをもう一度試しました(最初のリビジョンにありました)。 –

+0

詳細を提供するために私の答えを編集します。 –

3

インストーラをWindowsサービスに追加してください。 InstallUtil.exeユーティリティが動作するためには、これを行う必要があります。あなたはその方法を見ることができますhere

インストーラを追加した後、InstallUtil.exeを使用してサービスをインストールおよびアンインストールできます。

  • インストール:
    InstallUtil.exe <YourServiceExecutable>
  • アンインストール:InstallUtil.exe /u <YourServiceExecutable>

リードのソリューションを使用して、起動してサービスを停止します。

あなたが夢中になりたい場合は、サービスにコマンドラインロジックを追加すれば、サービスから直接このすべてを(インストールと起動/停止とアンインストール)行うことができます。 InstallUtil.exeをもう使用する必要はありません。その解決策はhereです。

関連する問題