2009-10-09 29 views
9

私はVisual Studio 2008を使ってWindowsサービスを開発しました。Visual Studioがインストールされていないマシンにそのサービスをインストールしたいのですが、.NET 3.5がインストールされています。.NET 3.5で開発されたWindowsサービスをインストールするには?

一般にInstallUtil.exeはWindowsサービスのインストールに使用されますが、InstallUtil.exeユーティリティは.NET 3.5では使用できません。 .NET 2.0を使用してそのサービスをインストールしようとすると、サービスがサービスのリストに表示されていますが、サービスを開始するとWindowsサービスのエラー1053が表示されます。どのようにしてこの問題を回避し、サービスを正常にインストールできますか?

答えて

4

.Net 2.0とVS2005用のMicrosoft KBがあります。この手順は、.NET 3.5とVS2008ではまったく同じです。

http://support.microsoft.com/kb/317421

そして、ここではそれをより明確にするために写真とよりよい記事です。 (時には、KBさんは、あなたが他の場所で見つけることができるチュートリアルのように友好的ではありません。)

http://aspalliance.com/1316_Working_with_Windows_Service_Using_Visual_Studio_2005.3

+0

VSがマシン上で使用可能な場合、サービスのインストールに問題はありません。 VSが利用できない場合、.Net3.5で開発されたサービスをどのようにインストールできますか? – srv

+0

セットアッププロジェクトをビルドすると、インストーラ(.msiファイル)が作成されます。それをインストールしたいマシンにコピーして(そしてそのプロジェクトのフォルダにもあるsetup.exeも)、セットアッププログラムのように実行してください。注意すべきことは、セットアッププロジェクトを右クリックして「ビルド」を選択する必要があることです。デフォルトでは、「ソリューションのビルド」を選択すると、セットアッププロジェクトはビルドされません。この厄介なデフォルトは、構成マネージャーで上書きすることができます。 – David

1

あなたのWindowsサービスをインストールするには、InstallUtil.exeを使用してきた場合、それはあなたがProjectInstallerを追加した意味しますコンポーネントをサービスに追加します。 InstallUtil.exeは、リフレクションを使用して、サービスに埋め込まれたインストーラコンポーネントを見つけ、その上でいくつかのメソッドを実行します。このため、Windowsサービスをインストールしてアンインストールするように修正することができます。つまり、は、ターゲットマシンでInstallUtil.exeを使用する必要がなくなりました。私はこれを数ヶ月間使ってきました。ステップバイステップで私はhereを提供しました。その考えはもともとマーク・グラヴェルに属し、これはpostです。

8

私が作ったものの数日前にやったように、実際には本当に簡単です。

あなたがしたいあなたのサービスのプロジェクトに:ソリューションエクスプローラで

  1. ダブルあなたのサービスは.csファイルをクリックしてください。それはすべて灰色で、ツールボックスからのものをドラッグすることについて話す画面を表示する必要があります。
  2. 次に、グレーの領域を右クリックし、[インストーラーの追加]を選択します。これにより、プロジェクトにインストーラプロジェクトファイルが追加されます。
  3. 次に、ProjectInstaller.cs(serviceProcessInstaller1とserviceInstaller1)のデザインビューに2つのコンポーネントがあります。次に、必要に応じてプロパティを設定する必要があります。

セットアッププロジェクトを作成する必要があります。セットアップウィザードを使うのが一番良い方法です。

  1. 右あなたのソリューションをクリックして、新しいプロジェクトを追加します「Windowsアプリケーションのセットアップを作成する」を選択し第二段階では>新規プロジェクト>セットアップとデプロイメントプロジェクトを追加]> [セットアップウィザード
  2. 3番目のステップで、「Primary output from ...」を選択します。
  3. クリックして終了します。

正しい出力が含まれるようにインストーラを編集する必要があります。

  1. ソリューションエクスプローラでセットアッププロジェクトを右クリックします。
  2. [表示]> [エディタ]> [カスタムアクション]を選択します。
  3. カスタムアクションツリーのインストールアクションを右クリックし、[カスタムアクションを追加...]を選択します。
  4. [プロジェクト内のアイテムを選択]ダイアログで、[アプリケーションフォルダ]を選択して[OK]をクリックします。
  5. [OK]をクリックして[Primary output from ...]オプションを選択します。新しいノードを作成する必要があります。
  6. コミット、ロールバックおよびアンインストールのアクションについては、手順4〜5を繰り返します。

これでインストーラをビルドするだけで、MSIとsetup.exeが作成されます。サービスの展開に使用する方法を選択します。

0

メッセージ:

「エラー1053:そのサービスは指定時間内の開始または制御 要求に応答しませんでした。」

は、通常、Windowsサービスを開始する問題に対する一般的な対応です。何をすべきかは、イベントログを確認することです。実際のエラーにより、サービスの開始が妨げられている可能性があります。

関連する問題