web-dev-qa-db-ja.com

Windowsサービスを開始できませんでした、エラー1064

私は、Win10で実行するWindowsサービスを作成しましたが、少し変更するまで完全に問題なく動作しました。ロジックを書き直して、デバッグ構成とリリース構成の両方でテストしましたが、すべて問題ありませんでした。次に、_installutil.exe /u %servicename.exe%_を使用してサービスの現在のバージョンをアンインストールし、_installutil.exe %servicename.exe%_を使用して再インストールしました。何らかの理由で、この新しいバージョンは起動できず、エラー1064でクラッシュします。これは完全なエラーテキストです。

_Windows could not start %servicename% service on Local Computer. Error 1064: An exception occurred in the service when handling the control request._

前回このサービスをインストールしたときに、いくつかの問題が発生しましたが、_Log On_プロパティを変更することですぐに修正しました。今回は動作しません。この問題を手伝ってください。

ありがとう。

更新1

これが私のMain()およびOnStart()サービスメソッドです。

Main()

_static void Main()
{
#if DEBUG
    var service = new SalesforceToJiraService();
    service.OnDebug();
    Thread.Sleep(Timeout.Infinite);
#else
    ServiceBase[] ServicesToRun;
    ServicesToRun = new ServiceBase[]
    {
        new SalesforceToJiraService()
    };
     ServiceBase.Run(ServicesToRun);
#endif
}
_

OnStart()

_protected override void OnStart(string[] args)
{
    this.ConfigureServices();

    this.timer.Start();
    this.logger.Information("SalesforceToJira service started.");
}
_

更新2

その他のコード:

ConfigureServices()

_protected void ConfigureServices()
{
    this.configuration = ConfigurationHelper.LoadConfiguration(ConfigurationPath);
    this.logger = ConfigurationHelper.ConfigureLogger(this.configuration.Logs.LogsPath);

    this.timer = ConfigurationHelper.ConfigureTimer(this.configuration.ProcessInterval.TotalMilliseconds,
        (sender, eventArgs) => this.ProcessCasesAsync(sender, eventArgs).GetAwaiter().GetResult());

    this.salesforceClient = new SalesforceCliClient(this.configuration.Salesforce.CliPath);

    this.jiraClient = Jira.CreateRestClient(
        this.configuration.Jira.Url,
        this.configuration.Jira.Username,
        this.configuration.Jira.Password);
}
_

JSON構成ファイルの逆シリアル化には_Newtonsoft.JSON_、ロギングにはSerilog、定期的なイベントには_System.Timers.Timer_、Jira APIにはAtlassianSDKを使用しており、_Salesforce CLI_ for Salesforce。

10
semptra

私のサービスを開始すると、まったく同じエラー1064が発生しました。私にとって、サービスを登録したユーザーは、データベースで有効なユーザーではありませんでした。追加すると、うまくいきました。

0
Elmer