Visual Studioで作成されたWindowsサービスをインストールする 質問する

Visual Studioで作成されたWindowsサービスをインストールする 質問する

Visual Studio 2010 で新しい Windows サービスを作成すると、サービスを実行するには InstallUtil と net start を使用するように指示するメッセージが表示されます。

次の手順を試しました:

  1. 新しいプロジェクトを作成する ファイル -> 新規 -> プロジェクト -> Windows サービス
  2. プロジェクト名: TestService
  3. プロジェクトをそのままビルドする (Service1 コンストラクター、OnStart、OnStop)
  4. コマンドプロンプトを開き、実行します"C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" テストサービス.exe
  5. 走るネットスタートテストサービス

ステップ4の出力

トランザクションインストールを実行しています。

インストールのインストール フェーズを開始します。

C:\Users\myusername\Documents\Visual Studio 2010\Projects\TestService\TestService\obj\x86\Debug\TestService.exe アセンブリの進行状況については、ログ ファイルの内容を参照してください。

ファイルは、C:\Users\myusername\Documents\Visual Studio 2010\Projects\Tes tService\TestService\obj\x86\Debug\TestService.InstallLog にあります。

アセンブリ 'C:\Users\myusername\Documents\Visual Studio 2010\Projects\TestS ervice\TestService\obj\x86\Debug\TestService.exe' をインストールしています。

影響を受けるパラメータは次のとおりです。

コンソールにログイン =

ログファイル = C:\Users\myusername\Documents\Visual Studio 2010\Projects\TestService\T estService\obj\x86\Debug\TestService.InstallLog

アセンブリパス = C:\Users\myusername\Documents\Visual Studio 2010\Projects\TestService\TestService\obj\x86\Debug\TestService.exe

C:\Users\myusername\Documents\Visual Studio 2010\Projects\TestService\TestSe rvice\obj\x86\Debug\TestService.exe アセンブリに、RunInstallerAttribute.Yes 属性を持つパブリック インストーラーが見つかりませんでした。

インストール フェーズが正常に完了し、コミット フェーズが開始されます。

C:\Users\myusername\Documents\Visual Studio 2010\Projects\TestService\TestService\obj\x86\Debug\TestService.exe アセンブリの進行状況については、ログ ファイルの内容を参照してください。

ファイルは、C:\Users\myusername\Documents\Visual Studio 2010\Projects\Tes tService\TestService\obj\x86\Debug\TestService.InstallLog にあります。

アセンブリ 'C:\Users\myusername\Documents\Visual Studio 2010\Projects\TestS ervice\TestService\obj\x86\Debug\TestService.exe' をコミットしています。

影響を受けるパラメータは次のとおりです。

コンソールにログイン =

ログファイル = C:\Users\myusername\Documents\Visual Studio 2010\Projects\TestService\T estService\obj\x86\Debug\TestService.InstallLog

アセンブリパス = C:\Users\myusername\Documents\Visual Studio 2010\Projects\TestService\TestService\obj\x86\Debug\TestService.exe

C:\Users\myusername\Documents\Visual Studio 2010\Projects\TestService\TestSe rvice\obj\x86\Debug\TestService.exe アセンブリに、RunInstallerAttribute.Yes 属性を持つパブリック インストーラーが見つかりませんでした。

インストーラーがないため、InstallState ファイルを削除します。

コミット フェーズが正常に完了しました。

トランザクションのインストールが完了しました。

ステップ5の出力

サービス名が無効です。

NET HELPMSG 2185 と入力すると、さらに詳しいヘルプが表示されます。

ベストアンサー1

デザイナーで Service.cs ファイルを開き、右クリックしてメニュー オプションの [インストーラーの追加] を選択する必要があります。

そのままではインストールできません。まずインストーラー クラスを作成する必要があります。

サービス インストーラーに関する参考資料:

方法: サービス アプリケーションにインストーラーを追加する

かなり古いですが、私が話しているのは次のことです。

C# での Windows サービス: インストーラーの追加 (パート 3)

これを行うと、 がProjectInstaller.cs自動的に作成されます。次に、これをダブルクリックしてデザイナーに入り、コンポーネントを構成できます。

  • serviceInstaller1には、サービス自体のプロパティがあります。Description、、およびが最も重要です。DisplayNameServiceNameStartType

  • serviceProcessInstaller1重要なプロパティがあります。Accountそれは、サービスが実行されるアカウントです。

例えば:

this.serviceProcessInstaller1.Account = ServiceAccount.LocalSystem;

おすすめ記事