2012-01-04 29 views
11

私は1つのウィンドウセブを作成しました同じウィンドウサービスの複数のインスタンスをインストールする方法

Web設定ファイルからサービスの名前を取得します。

私はwebconfigから価値を得るために以下のリンクを使用しました。 http://www.codeproject.com/KB/dotnet/MultipleInstNetWinService.aspx

は、私のWindowsサービスをインストールするために、私は、configファイルの値を変更し、自分のアプリケーションをrebulid、単にアイコンをクリックして、もう一度 をインストールします。

もう一度インストールしようとすると、指定したサービスが既に存在するようなエラーが表示されます。

同じWindowsサービスの複数のインスタンスをインストールするにはどうすればよいですか?

私は異なるパラメータで実行されているサービスの迅速なデモのためにこれを行うために必要なおかげで、 プージャ

答えて

8

あなたは別のディレクトリにあなたのサービスの実行可能ファイルをコピーし、それを別のサービス名を与えるためにInstallUtil.exeを使用する必要があります。コマンドプロンプトからthe linked article

に、このセクションを逃したようですね

、あなたはあなたのサービスの両方 のインスタンスをインストールします。installutilを使用する必要があります。 InstallUtilの使用方法については、 Installer Tool (InstallUtil.exe)を参照してください。あなたは サービスインスタンスをインストール完了したら、あなたはサービスインスタンス1サービスインスタンスが2が 同じ実行ファイルから作成されている場合上記のサービスコンソール のようなものがあるでしょう、だけで別のディレクトリの場所 からインストール別のサービス名。

+0

私はpropemtコマンドを使ってインストールしようとしています。それはinstallutilが内部または外部コマンド – Pooja

+0

を使ってインストールする方法を示しています – Pooja

+0

これは.NET Frameworkの一部であり、C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727で利用できます。 – shamp00

14

サービスexeを含むディレクトリをコピーしてから、sc createコマンドを使用して2番目のサービスをセットアップしました。

sc create "[NewServiceName]" binPath="[PathToCopiedServiceDirectory]" 

How to create a windows service using the Sc.exe command

+1

binPathの[PathToCopiedServiceDirectory]値に実際のサービスEXEファイル名を含めるようにしてください。そうしないと、サービスがディレクトリをポイントし、サービスを開始しようとすると「アクセスが拒否されました」というエラーが発生します。 –

-4

管理者として実行asp.netのコマンドプロンプトしてからコマンドを使用 - "C:\ ABC \ xyz.exe" ます。installutil を。

あなたのサービスはすでに、あなたはコマンドを使用して最初のアンインストールすることができますインストールされている場合 - U "C:\ ABC \ xyz.exe" \ます。installutil を

+1

これは質問に答えていません。 – Oded

7
sc create MyService binPath= "MyService.exe" DisplayName= "MyService" 
sc description MyService "My description" 

参考:http://support.microsoft.com/kb/251192

がマークされた答えを追いました1時間を無駄にした。 sc createコマンドを使用すると簡単でした

+0

binPathとDisplayNameに等しいと値の後に空白を残してください –

0

Visual Studioの "ProjectInstaller.Designer.cs"ファイルでサービス名を変更して再コンパイルする必要がありました。それが役に立てば幸い。

+1

答えは本当にコメントでなければならない – codingadventures

関連する問題