歴史
更新とサーバー機能を処理するためにWindows Service
の一部として を構築しているため、 がインストールされている場所とは異なるマシンにインストールできます。UDP を使用してブロードキャスト メッセージを送受信し、TCP を使用してより機密性の高い最も重要なメッセージを処理します。Platform Application
Client Application
目的
実行可能ファイルをコンピューターにコピーして実行するだけで、エンドユーザーがアプリケーションを簡単にインストールできるようにしたいと考えています。メインアプリケーションは、ユーザーが管理者であるかどうかを確認し、構成ファイルを作成してから、Windows サービスをインストールして実行する必要があります。これにより、管理者以外のユーザーがログインしたときに、管理者権限に関するアプリケーションからのエラーが発生しなくなります。データベースがリモートになるため、現在の技術者を必要とせずにほとんどの構成を行うことが目標です。
問題
私のサービスはコマンドで正常にインストールされていますが、MyService.exe /install
自動的に開始されません。それを開始する唯一の方法は、続行しControl Panel > Admin Tools > Services
て手動で行うことです。アプリケーションから呼び出そうとしましたが、シェルでnet start MyService
受信しました。サービスの、、invalid service name
を試しましたが、どれも機能しませんでした。これは私の TService のオブジェクトです:executable name
display name
object name
object ServiceMainController: TServiceMainController
OldCreateOrder = False
OnCreate = ServiceCreate
DisplayName = 'PlatformUpdateService'
Interactive = True
AfterInstall = ServiceAfterInstall
AfterUninstall = ServiceAfterUninstall
OnShutdown = ServiceShutdown
OnStart = ServiceStart
OnStop = ServiceStop
Height = 210
Width = 320
質問
ユーザーの手ではなくコードでサービスを開始するにはどうすればよいですか? OnServiceAfterInstall
クライアントアプリケーション内で、または呼び出し後に単独で実行できれば最高です。