|
分類:[.NET 全般]
開発環境:Windows XP 使用言語:Visual Studio 2008
現在、VB6からVB2008へコンバージョンを行っております。 VB6では、「NTSVC.ocx」を使用してサービス登録を行い使用していた為、 期限の関係上、VB2008でも同様に「NTSVC.ocx」を使用したいと考えております。
VB2008へコンバージョンしたアプリをサービス登録する事は出来たのですが、 サービス起動時に、以下のエラーメッセージが表示されます。
≪エラー≫ エラー番号:1053 エラー内容:そのサービスは指定時間内に開始要求または制御要求に応答しませんでした。
インターネットで調べたところ、サービスの開始が正常に行われていない為にエラーが発生したようで、 以下に抜粋しています、「oNTService_Start」イベントが正常に起動していないように思います。 VB2008初心者の私だけでは中々解決策が見つかりません。
みなさんのお力添えをお願いいたします。
長くなり申し訳ありませんが、 以下にソースコードを抜粋いたします。
◆参照ocx NTSVC.ocx (インターネットからダウンロード)
◆参照設定 AxInterop.NTService Interop.NTService
◆ソースコード Private Sub frmMain_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load Dim strDisplayName As String Dim sWork1 As String Dim sWork2 As String Dim aWork() As String Dim nIndex As Short
strDisplayName = oNTService.DisplayName
If VB.Command() = "-install" Then
'サービス登録 oNTService.Interactive = True
If oNTService.Install Then Call oNTService.SaveSetting("Parameters", "TimerInterval", CStr(1000 * 10)) MsgBox(strDisplayName & " installed successfully") Else MsgBox(strDisplayName & " failed to install") End If End
ElseIf VB.Command() = "-uninstall" Then 'サービス削除 If oNTService.Uninstall Then MsgBox(strDisplayName & " uninstalled successfully") Else MsgBox(strDisplayName & " failed to uninstall") End If End
ElseIf VB.Command() = "" Then '実行ファイル起動 oNTService.ControlsAccepted = NTService.SvcControls.svcCtrlPauseContinue
oNTService.StartService()
Else MsgBox("Invalid command option") End End If
End Sub
'サービス開始イベント Private Sub oNTService_Start(ByVal eventSender As System.Object, ByVal e As AxNTService._DNtSvcEvents_StartEvent) Handles oNTService.Start e.success = True Call oNTService.LogEvent(NTService.SvcEventType.svcEventInformation, NTService.SvcEventId.svcMessageInfo, "サービスが開始されました") End Sub
'サービス終了イベント Private Sub oNTService_Stop(ByVal eventSender As System.Object, ByVal e As System.EventArgs) Handles oNTService.Stop
Call oNTService.LogEvent(NTService.SvcEventType.svcEventInformation, NTService.SvcEventId.svcMessageInfo, "サービスが停止されました")
End Sub
|