[解決済み] Visual Studioで作成したWindowsサービスをインストールする
質問
Visual Studio 2010 で新しい Windows サービスを作成すると、InstallUtil と net start を使用してサービスを実行するようにというメッセージが表示されます。
以下の手順を試してみました。
- 新規プロジェクトの作成 File -> New -> Project -> Windows Service
- プロジェクト名 TestService
- プロジェクトをそのままビルド(Service1コンストラクタ、OnStart、OnStop)
- コマンドプロンプトを開き、以下を実行します。 C:³³³³³.exe; TestService.exe
- 実行 net start TestService .
ステップ4の出力
トランザクテッドインストールを実行する。
インストールのフェーズを開始します。
のログファイルの内容をご覧ください。 C:\UsersmyusernameVisual Studio 2010Projects ◇TestService ◇obj ◇Debug ◇TestService.exe アセンブリの進行状況を表示します。
このファイルは、C:³³³³にあります。 2010Projects tServiceTestServiceobjDebugTestService.InstallLog.
Installing assembly 'C:\UsersmyusernameVisual Studio 2010ProjectsTestServiceTestServiceobjx86DebugTestService.exe'をインストールした。
影響を受けるパラメータは以下の通りです。
logtoconsole =
logfile = C:\Usersmyusername﹑Documents﹑Visual Studio 2010ProjectsTestServiceT estServiceobj ↵DebugTestService.InstallLog
assemblypath = C:\Usersmyusername﹑Documents﹑Visual Studio 2010ProjectsTestServiceTestService.exe
RunInstallerAttribute.Yes 属性を持つパブリックインストーラはありません。 は、C:³³³ にあります。 2010Projects ○TestService ○TestSe rvice ○obj ○Debug ○TestService.exe アセンブリを作成します。
インストール・フェーズが正常に終了し、コミット・フェーズが開始されました。 を開始します。
のログファイルの内容をご覧ください。 C:\UsersmyusernameVisual Studio 2010Projects ¡TestService¡obj ¡x86¡Debug¡TestService.exe アセンブリの進行状況を表示します。
このファイルは、C:³³³³にあります。 2010Projects tServiceTestServiceobjDebugTestService.InstallLog.
アセンブリのコミット 'C:\UsersersmyusernameVisual Studio 2010Projects ▶TestService ▶TestServiceobjx86DebugTestService.exe
影響を受けるパラメータは以下の通りです。
logtoconsole =
logfile = C:\Usersmyusername﹑Documents﹑Visual Studio 2010ProjectsTestServiceT estServiceobj ↵DebugTestService.InstallLog
assemblypath = C:\Usersmyusername﹑Documents﹑Visual Studio 2010ProjectsTestServiceTestService.exe
RunInstallerAttribute.Yes 属性を持つパブリックインストーラはありません。 は、C:³³³ にあります。 2010Projects ○TestService ○TestSe rvice ○obj ○Debug ○TestService.exe アセンブリを作成します。
インストーラーがないため、InstallStateファイルを削除します。
コミット・フェーズが正常に終了しました。
トランザクテッドインストールが完了しました。
ステップ5の出力
サービス名が無効です。
NET HELPMSG 2185 と入力すると、さらに詳しいヘルプが表示されます。
解決方法は?
デザイナーでService.csファイルを開き、右クリックしてメニューから「Add Installer"」を選択する必要があります。
いきなりインストールされるわけではありません。まず、インストーラークラスを作成する必要があります。
サービスインストーラに関する参考文献です。
How to: サービスアプリケーションにインストーラーを追加する
かなり古いですが...こんな感じです。
C#で作るWindowsサービス。インストーラの追加 (その3)
こうすることで
ProjectInstaller.cs
が自動的に作成されます。これをダブルクリックすると、デザイナーに入り、コンポーネントを設定することができます。
-
serviceInstaller1
には、サービス自体のプロパティがあります。Description
,DisplayName
,ServiceName
とStartType
が最も重要です。 -
serviceProcessInstaller1
にはこのような重要な性質があります。Account
は、サービスが実行されるアカウントです。
例えば
this.serviceProcessInstaller1.Account = ServiceAccount.LocalSystem;
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み】C#で四捨五入する方法
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み】バックスラッシュを含むパス文字列のエスケープシーケンスが認識されない件
-
[解決済み】C#のequal to演算子でtextとvarcharのデータ型は互換性がない
-
[解決済み】名前 'ViewBag' が現在のコンテキストに存在しない - Visual Studio 2015
-
[解決済み】データが存在しないのに読み込もうとする試みが無効である
-
[解決済み】Nullableオブジェクトは値を持たなければならない?
-
[解決済み] Windowsにpipをインストールするにはどうしたらいいですか?
-
[解決済み】WindowsでTCPまたはUDPポートをリッスンしているプロセスを見つけるにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み】HRESULTからの例外:0x800A03ECエラー
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】2つ(またはそれ以上)のリストを1つに統合する(C# .NETで
-
[解決済み】2年前のMSDateを把握する【クローズド
-
[解決済み】インデックスが範囲外でした。コレクションパラメータname:indexのサイズより小さく、非負でなければなりません。
-
[解決済み】プロセスが実行されているかどうかを知るには?