エラー1053を修正する方法:サービスが開始要求または制御要求にタイムリーに応答しませんでしたか?



問題を排除するために楽器を試してください

ユーザーにエラーメッセージが表示されます 1053 これは、「サービスが開始または制御要求にタイムリーに応答しなかった」と述べています。このエラーメッセージは、サービスを開始する要求が開始されたが、時間枠内で応答しなかった後に発生するタイムアウトの原因です。



エラー1053:サービスが開始要求または制御要求にタイムリーに応答しませんでした



Windowsサービスの問題から、起動できないカスタムサービス(ゲームやその他のサードパーティソフトウェアを含む)まで、エラーメッセージにはさまざまなバリエーションがあります。また、開発者がカスタムソフトウェアを開発しているときに、この問題に直面した事例もありました。この記事では、エラーメッセージのすべてのバリエーションを調べ、問題を完全に解決するために何ができるかについて説明します。



Windowsでエラー1053の原因は何ですか?

ユーザーからの最初のレポートを受け取った後、調査を開始し、サービスとして開始するメカニズムに関連するすべてのモジュールを詳しく調べました。すべての結果を収集し、それらをユーザーの応答と同期した後、いくつかの異なる理由で問題が発生したと結論付けました。それらのいくつかを以下に示します。

  • タイムアウト設定: Windowsには、デフォルトでタイムアウト設定があり、アプリケーションが満たさない場合、アプリケーションを強制的に中止して閉じます。起動しようとしているサービスの応答に時間がかかる場合は、サービスが強制終了されます。ここでは、レジストリを操作してタイムアウト設定を変更できます。
  • DLLファイルがありません: エラーの別のインスタンスは、他の多くのアプリケーションでも使用されているDLLファイルがコンピューター上にない場合に発生します。このDLLファイルが競合しているか、まったく存在しない場合は、エラーメッセージが表示されます。
  • 破損/欠落しているシステムファイル: この問題が発生するもう1つの例は、コンピューターに破損または欠落しているシステムファイルがあるためです。 Windowsのインストール自体が適切でなく、問題がある場合は、議論中のエラーメッセージを含む多くの問題が発生します。
  • 古いWindows: Microsoftは、公式Webサイトでこのエラーメッセージを公式に認識し、問題を解決するための一時的な修正プログラムをリリースしました。ただし、最近、修正プログラムを削除し、Windowsの最新バージョンにアップグレードするようにユーザーに指示しました。
  • リリースビルドの使用(開発者向け): Windowsのデバッグビルドでサービスを起動しようとすると、このエラーメッセージが表示される可能性があります。デバッグビルドは安定しておらず、リリースビルドと比較してすべての機能が実行されているわけではありません。
  • 欠落しているフレームワーク(開発者向け): フレームワークの非互換性も、エラーメッセージの原因となります。サービスを実行しようとしているボックスとサービス自体は、同じフレームワーク上にある必要があります。
  • DBサービスの問題(開発者向け): このエラーメッセージが表示される可能性のあるもう1つの例は、プロジェクトの構成に問題がある場合です。サービスへのアクセスに問題がないように、サーバーの詳細を修正する必要があります。
  • 不正なインストール: このエラーメッセージが表示される可能性のあるもう1つの一般的な例は、アプリケーションのインストール(サービスを促している)が多少破損している場合です。再インストールはここで役立ちます。
  • 悪いネットワーク構成: サービスは常にネットワークと通信します。ネットワーク構成が適切でない場合、サービスはタスクを実行できず、そのため、検討中のエラーメッセージが表示される可能性があります。
  • 管理者アクセス: 起動しようとしている(またはサードパーティが起動しようとしている)サービスは、通常の使用を目的としていないシステムリソースを消費している場合は、管理者として起動する必要があります。

ソリューションを続行する前に、コンピューターに管理者としてログインし、アクティブなインターネット接続があることを確認してください。また、最初から解決策に従い、それに応じて作業を進めていきます。

解決策1:レジストリを介してタイムアウト設定を変更する

最初に試すべきことは、レジストリエディタを使用してサービスのタイムアウト設定を変更することです。サービスの起動が要求されるたびに、事前定義された値でタイマーが開始されます。この時間枠内にサービスが開始されない場合、エラーメッセージが転送されて報告されます。このソリューションでは、コンピューターのレジストリに移動して値を変更します。存在しない場合は、新しいキーを作成します。



  1. Windows + Rを押して、「 regedit ダイアログボックスで」を選択し、Enterキーを押します。
  2. レジストリエディタに移動したら、次のファイルパスに移動します。
HKEY_LOCAL_MACHINE  SYSTEM  CurrentControlSet  Control 
  1. 次に、「ServicesPipeTimeout」のキーを検索します。すでにそこにある場合は、直接編集するために移動できます。ただし、エントリが見つからない場合は、 コントロール 、画面の右側にあるスペースを右クリックして、 新規> DWORD

    新しいレジストリキーの作成

  2. キーに「 ServicesPipeTimeout ’および値を次のように設定します 180000 (値を右クリックしてクリックすることもできます 変更 値を設定するオプションがあなたのケースになかった場合。

    「ServicesPipeTimeout」値の変更

  3. 変更を保存して終了します。 再起動 コンピュータを完全に起動してから、サービスを起動してみてください。問題が解決したかどうかを確認します。

解決策2:システムファイルの破損をチェックする

より技術的で高度な方法に進む前に試すもう1つのことは、システムに破損がないかどうかを確認することです。 Windowsにファイルがなく、何らかの理由で破損している場合、いくつかの重要なモジュールが機能しなくなる可能性があります。その結果、エラーメッセージ1053が表示されます。このソリューションでは、Windowのシステムファイルチェッカーを使用して、すべてのシステムファイル構造をチェックし、その構造をオンラインにある新しいコピーの構造と比較します。不一致がある場合、ファイルはそれに応じて置き換えられます。

  1. Windows + Sを押し、ダイアログボックスに「コマンドプロンプト」と入力し、アプリケーションを右クリックして、 管理者として実行
  2. 管理者特権のコマンドプロンプトが表示されたら、次のコマンドを1つずつ実行し、それらが完了していることを確認します。
sfc / scannow DISM / Online / Cleanup-Image / RestoreHealth

システムファイルの破損をチェックする

  1. 後者のコマンドは、スキャンの実行時にシステムファイルチェッカーが診断する問題を修正します。 再起動 コマンドを実行した後、コンピュータを完全に実行し、問題が完全に解決されているかどうかを確認します。

解決策3:アプリケーションの再インストール(該当する場合)

エラーメッセージ1053を根絶するための別の有用な方法は、サービスを要求しているアプリケーションを再インストールすることである。通常、外部ソース(Microsoftストアを除く)からインストールされたサードパーティアプリケーションには、Windowsの一部のサービスを要求しているコンポーネントが欠落しているか古い可能性があります。

ここでできることは、公式Webサイトに移動し、アプリケーションの新しいバージョンをダウンロードすることです。現在のバージョンをアンインストールした後、インストールできます。 Windowsでアプリケーションをアンインストールする方法は次のとおりです。

  1. Windows + Rを押して、「 appwiz.cpl ダイアログボックスで」を選択し、Enterキーを押します。
  2. アプリケーションマネージャーが表示されたら、アプリケーションを検索し、右クリックして[ アンインストール

    アプリケーションのアンインストール

  3. コンピュータを再起動してから、再インストールプロセスに進みます。

解決策4:ネットワークキャッシュと構成をリセットする

インターネットに接続してそこで作業を行うサービスを使用している場合は、すべてのソケットとその他のネットワーク構成に問題がなく、問題がないかどうかを確認することをお勧めします。もしそうなら、あなたのサービスはそのタスクを実行するためにインターネットに接続することができず、それ故に問題を引き起こすかもしれません。

このソリューションでは、管理者としてコマンドプロンプトに移動し、そこからネットワーク構成をリセットします。成功すると、エラーメッセージは消去されます。

注意: これにより、手動で設定したすべてのカスタム設定が消去されます。

  1. Windows + Rを押して、「 コマンド・プロンプト ダイアログボックスで」を選択し、アプリケーションを右クリックして「 管理者として実行 」。
  2. 管理者特権のコマンドプロンプトが表示されたら、次のコマンドを1つずつ実行します。
netsh winsock reset ipconfig / renew

ネットワーク構成のリセット

  1. ネットワークをリセットした後、ブラウザでインターネットにアクセスできることを確認し、問題が解決したかどうかを確認してください。

解決策5:アプリケーションの所有権を取得する

私たちが遭遇したもう1つのまれなケースは、アプリケーションの所有権がないために、アプリケーションがサービスを適切に実行できなかったことです。これは、アプリケーションに十分な昇格されたアクセス権がないかのように意味があり、サービスとの間で応答を送受信できません(特にシステムサービスの場合)。この記事では、アプリケーションの実行可能ファイルに移動してから、所有権をユーザー名に変更します。成功した場合、これはエラー1053を取得する問題を解決します。

  1. アプリケーションのファイル/フォルダーを見つけます。右クリックして選択します プロパティ
  1. に移動します 「セキュリティ」タブ そして「 高度な 下の画像にあるように、画面の下部近くに「」が表示されます。

    高度なセキュリティ設定

  2. クリックしてください ' 変化する 前の画面にある「」ボタン。それは所有者の価値の真正面にあります。ここでは、このフォルダーの所有者をデフォルト値からコンピューターアカウントに変更します。

    アプリケーションの所有者の変更

  3. 次に、表示されているスペースにユーザーアカウント名を入力し、[ 名前を確認してください」 。 Windowsは、この名前に対してヒットしたすべてのアカウントを自動的に一覧表示します。

    実行可能な名前の確認

この方法でアカウント名が見つからない場合は、利用可能なユーザーグループのリストから手動で選択してみてください。 「詳細」をクリックし、新しいウィンドウが表示されたら、「今すぐ検索」をクリックします。画面の下部に、コンピューター上のすべてのユーザーグループで構成されるリストが表示されます。アカウントを選択して「OK」を押してください。小さいウィンドウに戻ったら、もう一度「OK」を押します。

可能な所有者名の閲覧

  1. 小切手 この線 ' サブコンテナとオブジェクトの所有者を置き換えます 」。これにより、フォルダ内のすべてのフォルダ/ファイルの所有権も変更されます。これにより、存在するサブディレクトリに対してすべてのプロセスを何度も繰り返す必要がなくなります。これに加えて、「」オプションを有効にすることもお勧めします。 すべての子オブジェクトのアクセス許可エントリを、このオブジェクトから継承可能なアクセス許可エントリに置き換えます 」。
  2. 「」をクリックした後、「プロパティ」ウィンドウを閉じます。 適用する 」と入力し、後でもう一度開きます。に移動します [セキュリティ]タブ 「」をクリックします 高度な 」。
  3. 権限ウィンドウで、「 追加 画面の下部にある」。

    ユーザーアカウントを昇格ステータスに追加

  4. クリック ' 原則を選択する 」。手順4と同様のウィンドウが表示されます。表示されたら、手順4を繰り返します。次に、すべての権限を確認し(フルコントロールを付与)、「 OK 」。
  5. 「」の行を確認してください すべての子オブジェクトのアクセス許可エントリを、このオブジェクトから継承可能なアクセス許可エントリに置き換えます 」をクリックし、[適用]を押します。
  6. ファイルを閉じて 再起動 あなたのコンピュータを完全に。ここで、アプリケーションを起動して、問題が完全に解決されているかどうかを確認してください。

解決策6:Windowsを最新のビルドに更新する

もう1つ試してみるのは、更新されたバージョンのWindowsがコンピューターにインストールされているかどうかを確認することです。 Microsoftは、OSの新しい変更を対象とし、追加機能もサポートするための更新をリリースします。一部の更新は本質的に「重要」であり、できるだけ早くインストールする必要があります。これらの「重要な」アップデートのいずれかがインストールされていない場合、問題が発生します。

  1. Windows + Sを押して検索バーを起動し、次のように入力します 更新 ダイアログボックスで、[設定の更新]を開きます。

    アップデートの確認

  2. 設定の更新が完了したら、をクリックします アップデートを確認する 。これで、コンピューターはMicrosoftサーバーに接続し、利用可能な更新があるかどうかを確認します。すでに強調表示されている更新がある場合は、すぐに実行してください。

ボーナス:開発者のためのヒント

開発者であり、Windowsでサービスを起動しようとしている場合、サービスから生成して応答を取得するために正確に実行する必要のある技術が何百もあります。このボーナスソリューションでは、発展途上国でエラー1053の最も一般的な原因のいくつかとそのソリューションをリストします。

  • .NETFrameworkが同期していることを確認します。 起動しようとしているアプリケーション/サービスがホスティングマシンとは別のフレームワーク上にある場合、問題が発生します。フレームワークが同期していることを確認してください。
  • リリースビルドの使用: 開発者は通常、 デバッグ さまざまなサービスとその操作をテストするためにビルドします。ただし、リリースビルドでサービスを実行しないと、いくつかの問題が発生することが指摘されました。
  • サービスの起動をデバッグするには(より多くの洞察を得るために)、サービスのOnStart()メソッドの先頭に以下のコードを挿入します。
while(!System.Diagnostics.Debugger.IsAttached)Thread.Sleep(100);

これにより、サービスが停止するため、VisualStudioデバッガーをすばやく接続できます。 デバッグ>攻撃

  • をコピーします DLLをリリース または、デバッグモードではなくリリースモードからDLLファイルを取得し、インストールフォルダ内に貼り付けます。これにより、DLLファイルに関連する問題が解決されます。
  • を確認してください データベース サービス/アプリケーションがアクセスしているものが適切に構成されている。データベース自体(またはその他の資格情報)に問題がある場合は、エラーメッセージが表示されます。すべてのモジュールをもう一度チェックして、すべてのパラメーターと変数が適切に設定されていることを確認することをお勧めします。
読んだ6分