วิธีแก้ไขข้อผิดพลาด 1053: บริการไม่ตอบสนองต่อคำขอเริ่มต้นหรือควบคุมตามเวลาที่กำหนด?

ผู้ใช้พบข้อความแสดงข้อผิดพลาด1053ซึ่งระบุว่า 'บริการไม่ตอบสนองต่อการร้องขอการเริ่มต้นหรือการควบคุมในเวลาที่เหมาะสม' ข้อความแสดงข้อผิดพลาดนี้เป็นสาเหตุของการหมดเวลาที่เกิดขึ้นหลังจากคำขอเริ่มต้นใช้งานบริการ แต่ไม่ตอบสนองในหน้าต่างเวลา

ข้อความแสดงข้อผิดพลาดมีหลายรูปแบบตั้งแต่ปัญหาในบริการ Windows ไปจนถึงบริการแบบกำหนดเองที่ไม่สามารถเปิดใช้งานได้ (รวมถึงเกมและซอฟต์แวร์ของบุคคลที่สามอื่น ๆ ) นอกจากนี้เรายังเจอกรณีที่นักพัฒนาประสบปัญหานี้เมื่อพวกเขากำลังพัฒนาซอฟต์แวร์ที่กำหนดเอง ในบทความนี้เราจะกล่าวถึงรูปแบบต่างๆของข้อความแสดงข้อผิดพลาดและพูดคุยถึงสิ่งที่สามารถทำได้เพื่อแก้ไขปัญหาครั้งแล้วครั้งเล่า

สาเหตุข้อผิดพลาด 1053 ใน Windows คืออะไร

หลังจากได้รับรายงานเบื้องต้นจากผู้ใช้เราได้เริ่มการตรวจสอบและพิจารณาอย่างละเอียดเกี่ยวกับโมดูลทั้งหมดที่เกี่ยวข้องกับกลไกของการเริ่มให้บริการ หลังจากรวบรวมผลลัพธ์ทั้งหมดและซิงค์กับการตอบกลับของผู้ใช้เราสรุปได้ว่าปัญหาเกิดจากสาเหตุหลายประการ บางส่วนมีการระบุไว้ด้านล่าง:

  • การตั้งค่าการหมดเวลา:โดยค่าเริ่มต้น Windows มีการตั้งค่าการหมดเวลาซึ่งหากไม่เป็นไปตามแอปพลิเคชันจะบังคับให้ยกเลิกและปิด หากบริการที่คุณพยายามเปิดใช้ใช้เวลานานกว่ามากในการตอบสนองบริการนั้นจะถูกฆ่า ที่นี่เราสามารถเปลี่ยนการตั้งค่าการหมดเวลาโดยการจัดการกับรีจิสทรี
  • ไฟล์ DLL หายไป:อีกกรณีหนึ่งของข้อผิดพลาดเกิดขึ้นเมื่อคุณมีไฟล์ DLL ที่หายไปในคอมพิวเตอร์ของคุณซึ่งแอปพลิเคชันอื่น ๆ จำนวนมากใช้เช่นกัน หากไฟล์ DLL นี้ขัดแย้งกันหรือไม่มีอยู่เลยคุณจะพบข้อความแสดงข้อผิดพลาด
  • ไฟล์ระบบเสียหาย / หายไป:อีกกรณีหนึ่งที่สาเหตุปัญหานี้เกิดขึ้นเนื่องจากมีไฟล์ระบบที่เสียหายหรือหายไปในคอมพิวเตอร์ของคุณ หากการติดตั้ง Windows ไม่เหมาะสมและมีปัญหาคุณจะพบปัญหามากมายรวมถึงข้อความแสดงข้อผิดพลาดที่อยู่ระหว่างการสนทนา
  • Windows ที่ล้าสมัย: Microsoft รับรู้ข้อความแสดงข้อผิดพลาดนี้อย่างเป็นทางการบนเว็บไซต์อย่างเป็นทางการและยังได้ออกโปรแกรมแก้ไขด่วนชั่วคราวเพื่อแก้ไขปัญหา อย่างไรก็ตามเมื่อเร็ว ๆ นี้พวกเขาได้ลบโปรแกรมแก้ไขด่วนและแนะนำให้ผู้ใช้อัปเกรดเป็นการทำซ้ำล่าสุดของ Windows
  • การใช้รุ่นรุ่น (สำหรับนักพัฒนา):หากคุณกำลังพยายามเปิดใช้บริการในรุ่น Debug ของ Windows คุณอาจพบข้อความแสดงข้อผิดพลาดนี้ การดีบักรุ่นไม่เสถียรและไม่มีฟังก์ชันการทำงานทั้งหมดที่ทำงานเมื่อเทียบกับรุ่นที่วางจำหน่าย
  • เฟรมเวิร์กที่ขาดหายไป (สำหรับนักพัฒนา): ความไม่เข้ากันของเฟรมเวิร์กยังทำให้เกิดข้อความแสดงข้อผิดพลาด ช่องที่คุณพยายามเรียกใช้บริการและบริการของคุณเองจะต้องอยู่ในกรอบเดียวกัน
  • ปัญหาในบริการ DB (สำหรับนักพัฒนา):อีกกรณีหนึ่งที่คุณอาจพบข้อความแสดงข้อผิดพลาดนี้คือจุดที่มีปัญหากับการกำหนดค่าโครงการของคุณ รายละเอียดเซิร์ฟเวอร์ควรถูกต้องเพื่อให้บริการไม่มีปัญหาในการเข้าถึง
  • การติดตั้งเสียหาย:อินสแตนซ์ทั่วไปอีกอย่างที่คุณอาจพบข้อความแสดงข้อผิดพลาดนี้คือการที่การติดตั้งแอปพลิเคชันของคุณ (ซึ่งกำลังแจ้งบริการ) ค่อนข้างเสียหาย การติดตั้งใหม่ช่วยได้ที่นี่
  • การกำหนดค่าเครือข่ายไม่ดี:บริการสื่อสารกับเครือข่ายของคุณตลอดเวลา หากการกำหนดค่าเครือข่ายของคุณไม่ดีบริการอาจไม่สามารถทำงานได้และด้วยเหตุนี้จึงทำให้เกิดข้อความแสดงข้อผิดพลาดในการสนทนา
  • การเข้าถึงของผู้ดูแลระบบ:ควรเปิดใช้บริการที่คุณพยายามเปิดใช้งาน (หรือบุคคลที่สาม) ในฐานะผู้ดูแลระบบหากใช้ทรัพยากรระบบซึ่งไม่ได้มีไว้สำหรับการใช้งานตามปกติ

ก่อนที่เราจะดำเนินการแก้ไขปัญหานี้ตรวจสอบให้แน่ใจว่าคุณได้เข้าสู่ระบบในฐานะผู้ดูแลระบบบนคอมพิวเตอร์ของคุณและมีการเชื่อมต่ออินเทอร์เน็ตที่ใช้งานได้ นอกจากนี้ทำตามวิธีแก้ปัญหาตั้งแต่เริ่มต้นและดำเนินการตามลำดับ

โซลูชันที่ 1: การเปลี่ยนการตั้งค่าการหมดเวลาผ่าน Registry

สิ่งแรกที่เราควรลองคือเปลี่ยนการตั้งค่าการหมดเวลาของบริการของคุณผ่านตัวแก้ไขรีจิสทรีของคุณ เมื่อใดก็ตามที่มีการร้องขอให้เรียกใช้บริการตัวจับเวลาจะเริ่มต้นด้วยค่าที่กำหนดไว้ล่วงหน้า หากบริการไม่เริ่มต้นภายในกรอบเวลานี้ข้อความแสดงข้อผิดพลาดจะรายงานให้ทราบ ในโซลูชันนี้เราจะไปที่รีจิสทรีของคอมพิวเตอร์ของคุณและเปลี่ยนค่า หากไม่มีอยู่เราจะสร้างคีย์ใหม่ให้

  1. กด Windows + R พิมพ์“ regedit ” ในกล่องโต้ตอบแล้วกด Enter
  2. เมื่ออยู่ในตัวแก้ไขรีจิสทรีให้ไปที่เส้นทางไฟล์ต่อไปนี้:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \
  1. ตอนนี้ค้นหาคีย์ของ 'ServicesPipeTimeout' หากคุณพบว่ามีอยู่แล้วคุณสามารถย้ายไปแก้ไขโดยตรง อย่างไรก็ตามหากคุณไม่พบรายการให้เลือกControlคลิกขวาที่ช่องว่างใดก็ได้ที่ด้านขวาของหน้าจอแล้วเลือกNew> DWORD
  2. ตั้งชื่อคีย์เป็น ' ServicesPipeTimeout ' และตั้งค่าเป็น180000 (คุณยังสามารถคลิกขวาที่ค่าแล้วคลิกปรับเปลี่ยนหากตัวเลือกในการตั้งค่าไม่มีในกรณีของคุณ
  3. บันทึกการเปลี่ยนแปลงและออก รีสตาร์ทคอมพิวเตอร์ของคุณอย่างสมบูรณ์จากนั้นลองเรียกใช้บริการ ตรวจสอบว่าปัญหาได้รับการแก้ไขหรือไม่

โซลูชันที่ 2: การตรวจสอบความเสียหายของไฟล์ระบบ

อีกสิ่งหนึ่งที่ควรลองก่อนที่เราจะไปสู่วิธีการทางเทคนิคและขั้นสูงเพิ่มเติมคือการตรวจสอบว่าระบบมีความเสียหายหรือไม่ หาก Windows ของคุณไม่มีไฟล์และเสียหายอย่างใดก็อาจทำให้โมดูลที่สำคัญบางโมดูลไม่ทำงาน ด้วยเหตุนี้คุณจะพบข้อความแสดงข้อผิดพลาด 1053 ในโซลูชันนี้เราจะใช้ตัวตรวจสอบไฟล์ระบบของ Window ซึ่งจะตรวจสอบโครงสร้างไฟล์ระบบทั้งหมดของคุณและเปรียบเทียบโครงสร้างกับสำเนาใหม่ที่มีอยู่ทางออนไลน์ หากมีความคลาดเคลื่อนไฟล์จะถูกแทนที่ตามนั้น

  1. ของ Windows + S พิมพ์คำสั่ง“ให้” ในกล่องโต้ตอบคลิกขวาในใบสมัครและเลือกเรียกใช้ในฐานะผู้ดูแลระบบ
  2. เมื่ออยู่ในพรอมต์คำสั่งที่ยกระดับให้รันคำสั่งต่อไปนี้ทีละคำสั่งและตรวจสอบให้แน่ใจว่าเสร็จสมบูรณ์:
sfc / scannow DISM / ออนไลน์ / Cleanup-Image / RestoreHealth
  1. คำสั่งหลังแก้ไขปัญหาใด ๆ ที่ตัวตรวจสอบไฟล์ระบบวินิจฉัยเมื่อเรียกใช้การสแกน รีสตาร์ทคอมพิวเตอร์โดยสมบูรณ์หลังจากเรียกใช้คำสั่งและตรวจสอบว่าปัญหาได้รับการแก้ไขแล้วหรือไม่

แนวทางที่ 3: การติดตั้งแอปพลิเคชันใหม่ (ถ้ามี)

อีกวิธีหนึ่งที่มีประโยชน์ในการลบข้อความแสดงข้อผิดพลาด 1053 คือการติดตั้งแอปพลิเคชันใหม่ที่กำลังร้องขอบริการ โดยปกติแอปพลิเคชันของ บริษัท อื่นที่ติดตั้งจากแหล่งภายนอก (ไม่รวม Microsoft Store) อาจมีส่วนประกอบที่ขาดหายไปหรือล้าสมัยซึ่งกำลังร้องขอบริการบางอย่างใน Windows

ที่นี่สิ่งที่คุณทำได้คือไปที่เว็บไซต์อย่างเป็นทางการและดาวน์โหลดแอปพลิเคชันเวอร์ชันใหม่ หลังจากถอนการติดตั้งเวอร์ชันปัจจุบันคุณสามารถติดตั้งได้ นี่คือวิธีการถอนการติดตั้งแอปพลิเคชันใน Windows

  1. กด Windows + R พิมพ์“ appwiz.cpl ” ในกล่องโต้ตอบแล้วกด Enter
  2. เมื่อในการจัดการแอพลิเคชันการค้นหาสำหรับแอพลิเคชันคลิกขวาที่มันและเลือกถอนการติดตั้ง
  3. รีสตาร์ทคอมพิวเตอร์จากนั้นดำเนินการตามขั้นตอนการติดตั้งใหม่

โซลูชันที่ 4: การรีเซ็ตแคชเครือข่ายและการกำหนดค่า

หากคุณกำลังใช้บริการที่เชื่อมต่ออินเทอร์เน็ตและทำงานที่นั่นขอแนะนำให้คุณตรวจสอบว่าซ็อกเก็ตและการกำหนดค่าเครือข่ายอื่น ๆ ทั้งหมดของคุณยังคงอยู่และไม่ก่อให้เกิดปัญหาใด ๆ หากเป็นเช่นนั้นบริการของคุณอาจไม่สามารถเชื่อมต่ออินเทอร์เน็ตเพื่อทำงานได้และทำให้เกิดปัญหา

ในโซลูชันนี้เราจะไปที่พรอมต์คำสั่งในฐานะผู้ดูแลระบบและรีเซ็ตการกำหนดค่าเครือข่ายจากที่นั่น หากสำเร็จข้อความแสดงข้อผิดพลาดจะถูกกำจัดทิ้ง

หมายเหตุ: การดำเนินการนี้จะลบการตั้งค่าแบบกำหนดเองทั้งหมดที่คุณตั้งไว้ด้วยตนเอง

  1. กด Windows + R พิมพ์ " command prompt " ในกล่องโต้ตอบคลิกขวาที่แอปพลิเคชันแล้วเลือก " Run as administrator "
  2. เมื่ออยู่ในพรอมต์คำสั่งที่ยกระดับให้รันคำสั่งต่อไปนี้ทีละคำ:
netsh winsock รีเซ็ต ipconfig / ต่ออายุ
  1. หลังจากรีเซ็ตเครือข่ายของคุณตรวจสอบให้แน่ใจว่าคุณสามารถเข้าถึงอินเทอร์เน็ตได้โดยตรวจสอบผ่านเบราว์เซอร์และดูว่าปัญหาได้รับการแก้ไขหรือไม่

แนวทางที่ 5: การเป็นเจ้าของแอปพลิเคชัน

อีกกรณีที่หายากที่เราพบคือไม่มีความเป็นเจ้าของแอปพลิเคชันทำให้แอปพลิเคชันไม่สามารถใช้บริการได้อย่างถูกต้อง สิ่งนี้สมเหตุสมผลราวกับว่าแอปพลิเคชันไม่มีการเข้าถึงระดับสูงเพียงพอจะไม่สามารถส่ง / อ่านการตอบกลับไปยัง / จากบริการได้ (โดยเฉพาะอย่างยิ่งหากเป็นบริการระบบ) ในบทความนี้เราจะไปที่ปฏิบัติการของแอปพลิเคชันจากนั้นเปลี่ยนความเป็นเจ้าของเป็นชื่อผู้ใช้ของเรา หากสำเร็จสิ่งนี้จะแก้ปัญหาในการรับข้อผิดพลาด 1053

  1. ค้นหาไฟล์ / โฟลเดอร์ของแอปพลิเคชัน คลิกขวาและเลือกProperties
  1. ไปที่แท็บ "ความปลอดภัย"และคลิกที่ " ขั้นสูง " ที่อยู่ด้านล่างสุดของหน้าจอดังที่คุณเห็นในภาพด้านล่าง
  2. คลิกที่ปุ่ม“ เปลี่ยน ” ที่ปรากฏในหน้าจอก่อนหน้า มันจะอยู่ตรงหน้าค่าของเจ้าของ ที่นี่เราจะเปลี่ยนเจ้าของโฟลเดอร์นี้จากค่าเริ่มต้นเป็นบัญชีคอมพิวเตอร์ของคุณ
  3. ตอนนี้ใส่ชื่อบัญชีผู้ใช้อยู่ในปัจจุบันพื้นที่และคลิกที่“ ตรวจสอบชื่อ” Windows จะแสดงรายการบัญชีทั้งหมดที่โดนชื่อนี้โดยอัตโนมัติ

หากคุณไม่พบชื่อบัญชีของคุณโดยใช้วิธีนี้คุณสามารถลองเลือกด้วยตนเองจากรายการกลุ่มผู้ใช้ที่มี คลิกที่“ ขั้นสูง” และเมื่อหน้าต่างใหม่ปรากฏขึ้นให้คลิกที่“ ค้นหาเดี๋ยวนี้” รายการจะปรากฏขึ้นที่ด้านล่างของหน้าจอซึ่งประกอบด้วยกลุ่มผู้ใช้ทั้งหมดในคอมพิวเตอร์ของคุณ เลือกบัญชีของคุณแล้วกด“ ตกลง” เมื่อคุณกลับมาที่หน้าต่างขนาดเล็กให้กด“ ตกลง” อีกครั้ง

  1. ตอนนี้ตรวจสอบบรรทัด " แทนที่เจ้าของในคอนเทนเนอร์ย่อยและวัตถุ " เพื่อให้แน่ใจว่าโฟลเดอร์ / ไฟล์ทั้งหมดในโฟลเดอร์นั้นจะเปลี่ยนความเป็นเจ้าของด้วย ด้วยวิธีนี้คุณจะไม่ต้องดำเนินการกับกระบวนการทั้งหมดซ้ำแล้วซ้ำอีกสำหรับไดเรกทอรีย่อยใด ๆ ที่มีอยู่ นอกจากนี้เราขอแนะนำให้คุณเปิดใช้งานตัวเลือก“ แทนที่รายการสิทธิ์ออบเจ็กต์ลูกทั้งหมดด้วยรายการสิทธิ์ที่สืบทอดได้จากวัตถุนี้
  2. ตอนนี้ปิดหน้าต่างคุณสมบัติหลังจากคลิก " นำไปใช้ " และเปิดอีกครั้งในภายหลัง ไปที่แท็บความปลอดภัยแล้วคลิก“ ขั้นสูง
  3. ในหน้าต่างสิทธิ์ให้คลิกที่“ เพิ่ม ” ที่ด้านล่างสุดของหน้าจอ
  4. คลิกที่“ เลือกหลักการ ” หน้าต่างที่คล้ายกันจะปรากฏขึ้นเช่นเดียวกับในขั้นตอนที่ 4 ทำซ้ำขั้นตอนที่ 4 เมื่อเปิดขึ้น ตอนนี้ตรวจสอบการอนุญาตทั้งหมด (ให้การควบคุมทั้งหมด) แล้วกด“ ตกลง
  5. ตรวจสอบบรรทัด " แทนที่รายการอนุญาตวัตถุลูกทั้งหมดด้วยรายการสิทธิ์ที่สืบทอดได้จากวัตถุนี้ " แล้วกดใช้
  6. ปิดไฟล์และรีสตาร์ทคอมพิวเตอร์โดยสมบูรณ์ ตอนนี้ลองเปิดแอปพลิเคชันและตรวจสอบว่าปัญหาได้รับการแก้ไขแล้วหรือไม่

โซลูชันที่ 6: การอัปเดต Windows เป็น Build ล่าสุด

สิ่งที่ต้องลองอีกอย่างคือตรวจสอบว่าคุณได้ติดตั้ง Windows เวอร์ชันอัปเดตบนคอมพิวเตอร์ของคุณหรือไม่ Microsoft ออกการอัปเดตเพื่อกำหนดเป้าหมายการเปลี่ยนแปลงใหม่ในระบบปฏิบัติการและเพื่อรองรับคุณสมบัติเพิ่มเติมด้วย การอัปเดตบางอย่างมีลักษณะ 'สำคัญ' และต้องติดตั้งโดยเร็วที่สุด หากไม่ได้ติดตั้งการอัปเดตที่ 'สำคัญ' เหล่านี้คุณจะพบปัญหา

  1. กด Windows + S เพื่อเปิดแถบค้นหาเขียนอัปเดตในกล่องโต้ตอบและเปิดการตั้งค่าอัปเดต
  2. เมื่อในการตั้งค่าการปรับปรุงคลิกตรวจสอบการปรับปรุง คอมพิวเตอร์จะเชื่อมต่อกับเซิร์ฟเวอร์ของ Microsoft และดูว่ามีการอัปเดตหรือไม่ หากมีการเน้นการอัปเดตไว้แล้วให้ดำเนินการทันที

โบนัส: เคล็ดลับสำหรับนักพัฒนา

หากคุณเป็นนักพัฒนาและกำลังพยายามเปิดตัวบริการใน Windows มีเทคนิคหลายร้อยอย่างที่คุณควรทำอย่างถูกต้องเพื่อวางไข่และรับคำตอบจากบริการ ในโซลูชันโบนัสนี้เราจะแสดงรายการสาเหตุยอดนิยมของข้อผิดพลาด 1053 ในประเทศกำลังพัฒนาและแนวทางแก้ไข

  • ตรวจสอบให้แน่ใจว่า. NET Frameworks ซิงค์อยู่:หากแอปพลิเคชัน / บริการที่คุณพยายามเปิดใช้งานอยู่บน Framework อื่นที่ไม่ใช่ของเครื่องโฮสต์คุณจะพบปัญหา ตรวจสอบให้แน่ใจว่าเฟรมเวิร์กตรงกัน
  • การใช้ Release Build:นักพัฒนามักจะใช้Debug build เพื่อทดสอบบริการต่างๆและการทำงานของพวกเขา อย่างไรก็ตามมีข้อสังเกตว่าการไม่เรียกใช้บริการในรุ่น Release ทำให้เกิดปัญหาหลายประการ
  • ในการดีบักการเริ่มต้นบริการของคุณ (เพื่อให้ได้ข้อมูลเชิงลึกมากขึ้น) ให้ใส่รหัสที่แสดงด้านล่างที่ด้านบนของเมธอด OnStart () ของบริการของคุณ:
ในขณะที่ (! System.Diagnostics.Debugger.IsAttached) Thread.Sleep (100);

สิ่งนี้จะทำคือหยุดบริการเพื่อให้คุณสามารถแนบดีบักเกอร์ Visual Studio ผ่านDebug> Attackได้อย่างรวดเร็ว

  • คัดลอกDLL รุ่นหรือรับไฟล์ DLL จากโหมดรีลีสแทนที่จะเป็นโหมด Debug และวางลงในโฟลเดอร์การติดตั้ง วิธีนี้จะช่วยแก้ปัญหาหากเกี่ยวข้องกับไฟล์ DLL
  • ตรวจสอบให้แน่ใจว่าฐานข้อมูลที่บริการ / แอปพลิเคชันของคุณเข้าถึงได้รับการกำหนดค่าอย่างเหมาะสม หากมีปัญหาใด ๆ กับฐานข้อมูล (หรือข้อมูลรับรองอื่น ๆ ) คุณจะพบข้อความแสดงข้อผิดพลาด แนวทางปฏิบัติที่ดีคือตรวจสอบโมดูลทั้งหมดอีกครั้งและตรวจสอบให้แน่ใจว่าได้ตั้งค่าพารามิเตอร์และตัวแปรทั้งหมดอย่างถูกต้อง