ผู้ใช้พบข้อความแสดงข้อผิดพลาด 1053 ซึ่งระบุว่า 'บริการไม่ตอบสนองต่อการร้องขอการเริ่มต้นหรือการควบคุมในเวลาที่เหมาะสม' ข้อความแสดงข้อผิดพลาดนี้เป็นสาเหตุของการหมดเวลาที่เกิดขึ้นหลังจากเริ่มต้นคำขอเพื่อเริ่มบริการแต่ไม่ตอบสนองในกรอบเวลา
ข้อความแสดงข้อผิดพลาดมีหลากหลายรูปแบบ ตั้งแต่ปัญหาในบริการของ Windows ไปจนถึงบริการแบบกำหนดเองที่ไม่สามารถเปิดได้ (รวมถึงเกมและซอฟต์แวร์ของบริษัทอื่น) นอกจากนี้เรายังพบกรณีที่นักพัฒนาประสบปัญหานี้เมื่อพวกเขาพัฒนาซอฟต์แวร์ที่กำหนดเอง ในบทความนี้ เราจะพูดถึงรูปแบบต่างๆ ของข้อความแสดงข้อผิดพลาดและหารือถึงสิ่งที่สามารถทำได้เพื่อแก้ปัญหาทันที
อะไรทำให้เกิดข้อผิดพลาด 1053 ใน Windows
หลังจากได้รับรายงานเบื้องต้นจากผู้ใช้แล้ว เราเริ่มการตรวจสอบและพิจารณาโมดูลทั้งหมดที่เกี่ยวข้องกับกลไกการเริ่มต้นเป็นบริการอย่างละเอียด หลังจากรวบรวมผลลัพธ์ทั้งหมดและซิงค์กับคำตอบของผู้ใช้ เราสรุปได้ว่าปัญหาเกิดขึ้นเนื่องจากสาเหตุหลายประการ บางส่วนมีการระบุไว้ด้านล่าง:
- การตั้งค่าระยะหมดเวลา: ตามค่าเริ่มต้น Windows มีการตั้งค่าการหมดเวลา ซึ่งหากแอปพลิเคชันไม่ตรงตามข้อกำหนด ให้บังคับให้ยกเลิกและปิด หากบริการที่คุณพยายามเปิดตัวใช้เวลานานกว่านั้นในการตอบสนอง บริการนั้นจะถูกฆ่า ที่นี่ เราเปลี่ยนการตั้งค่าการหมดเวลาได้โดยจัดการรีจิสทรี
- ไม่มีไฟล์ DLL: อีกตัวอย่างหนึ่งของข้อผิดพลาดเกิดขึ้นเมื่อคุณมีไฟล์ DLL หายไปในคอมพิวเตอร์ของคุณ ซึ่งใช้งานโดยแอปพลิเคชันอื่นๆ มากมายเช่นกัน หากไฟล์ DLL นี้ขัดแย้งหรือไม่มีอยู่เลย คุณจะพบข้อความแสดงข้อผิดพลาด
- ไฟล์ระบบเสียหาย/หายไป: อีกกรณีหนึ่งที่ทำให้เกิดปัญหานี้คือเพราะมีไฟล์ระบบที่เสียหายหรือหายไปในคอมพิวเตอร์ของคุณ หากการติดตั้ง Windows ไม่ถูกต้องและมีปัญหา คุณจะประสบปัญหามากมายรวมถึงข้อความแสดงข้อผิดพลาดที่อยู่ระหว่างการสนทนา
- Windows ที่ล้าสมัย: Microsoft ยอมรับข้อความแสดงข้อผิดพลาดนี้อย่างเป็นทางการบนเว็บไซต์อย่างเป็นทางการของพวกเขา และยังออกโปรแกรมแก้ไขด่วนชั่วคราวเพื่อแก้ปัญหา อย่างไรก็ตาม เมื่อเร็วๆ นี้ พวกเขาได้ลบโปรแกรมแก้ไขด่วนและแนะนำให้ผู้ใช้อัปเกรดเป็น Windows เวอร์ชันล่าสุด
- การใช้บิลด์รุ่น (สำหรับนักพัฒนา): หากคุณกำลังพยายามเปิดบริการใน Debug build ของ Windows คุณอาจพบข้อความแสดงข้อผิดพลาดนี้ บิลด์การดีบักไม่เสถียรและไม่มีฟังก์ชันการทำงานทั้งหมดเมื่อเปรียบเทียบกับบิลด์ที่วางจำหน่าย
- ไม่มีกรอบงาน (สำหรับนักพัฒนา): ความเข้ากันไม่ได้ของกรอบงานมีส่วนทำให้เกิดข้อความแสดงข้อผิดพลาด กล่องที่คุณพยายามเรียกใช้บริการและบริการของคุณต้องอยู่ในกรอบงานเดียวกัน
- ปัญหาในบริการ DB (สำหรับนักพัฒนา): อีกตัวอย่างหนึ่งที่คุณอาจพบข้อความแสดงข้อผิดพลาดนี้คือมีปัญหากับการกำหนดค่าโครงการของคุณ รายละเอียดเซิร์ฟเวอร์ควรถูกต้องเพื่อไม่ให้เกิดปัญหาในการเข้าถึงบริการ
- การติดตั้งที่เสียหาย: อินสแตนซ์ทั่วไปอื่นที่คุณอาจพบข้อความแสดงข้อผิดพลาดนี้คือการติดตั้งแอปพลิเคชันของคุณ (ซึ่งกำลังแจ้งบริการ) ค่อนข้างเสียหาย การติดตั้งใหม่ช่วยได้ที่นี่
- การกำหนดค่าเครือข่ายไม่ดี: บริการสื่อสารกับเครือข่ายของคุณตลอดเวลา หากการกำหนดค่าเครือข่ายของคุณไม่ดี บริการอาจไม่สามารถทำงานของตนได้ ดังนั้นจึงทำให้เกิดข้อความแสดงข้อผิดพลาดภายใต้การสนทนา
- การเข้าถึงของผู้ดูแลระบบ: บริการที่คุณพยายามเปิดตัว (หรือบุคคลที่สามกำลังพยายามเปิดตัว) ควรได้รับการเปิดใช้งานในฐานะผู้ดูแลระบบ หากใช้ทรัพยากรระบบที่ไม่ได้มีไว้สำหรับการใช้งานตามปกติ
ก่อนที่เราจะดำเนินการต่อด้วยวิธีแก้ปัญหา ตรวจสอบให้แน่ใจว่าคุณได้เข้าสู่ระบบในฐานะผู้ดูแลระบบบนคอมพิวเตอร์ของคุณ และมีการเชื่อมต่ออินเทอร์เน็ตที่ใช้งานได้ นอกจากนี้ ให้ปฏิบัติตามแนวทางแก้ไขตั้งแต่เริ่มต้นและดำเนินการตามนั้น
ซ่อมแซมไฟล์ที่เสียหาย
ดาวน์โหลดและเรียกใช้ Restoro เพื่อสแกนและกู้คืนไฟล์ที่เสียหายและหายไปจาก ที่นี่ . เมื่อเสร็จแล้ว ให้ดำเนินการตามแนวทางแก้ไขด้านล่าง
โซลูชันที่ 1:การเปลี่ยนการตั้งค่าการหมดเวลาผ่านรีจิสทรี
สิ่งแรกที่เราควรลองคือเปลี่ยนการตั้งค่าการหมดเวลาของบริการของคุณผ่านตัวแก้ไขรีจิสทรี เมื่อใดก็ตามที่มีการร้องขอให้เปิดบริการ ตัวจับเวลาจะเริ่มต้นด้วยค่าที่กำหนดไว้ล่วงหน้า หากบริการไม่เริ่มภายในกรอบเวลานี้ ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้นเพื่อรายงานต่อไป ในโซลูชันนี้ เราจะไปที่รีจิสทรีของคอมพิวเตอร์ของคุณและเปลี่ยนค่า หากไม่มีอยู่ เราจะสร้างคีย์ใหม่ให้
- กด Windows + R พิมพ์ “regedit ” ในกล่องโต้ตอบและกด Enter
- เมื่ออยู่ในตัวแก้ไขรีจิสทรีแล้ว ให้ไปที่เส้นทางของไฟล์ต่อไปนี้:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\
- ตอนนี้ ค้นหาคีย์ของ 'ServicesPipeTimeout' หากคุณพบว่ามีอยู่แล้ว คุณสามารถย้ายไปแก้ไขโดยตรง อย่างไรก็ตาม หากคุณไม่พบรายการ ให้เลือก การควบคุม ให้คลิกขวาที่พื้นที่ว่างทางด้านขวาของหน้าจอและเลือก ใหม่> DWORD
- ตั้งชื่อคีย์เป็น 'ServicesPipeTimeout ’ และตั้งค่าเป็น 180000 (คุณยังสามารถคลิกขวาที่ค่าแล้วคลิก แก้ไข หากตัวเลือกในการตั้งค่าไม่มาในกรณีของคุณ
- บันทึกการเปลี่ยนแปลงและออก เริ่มต้นใหม่ คอมพิวเตอร์ของคุณโดยสมบูรณ์แล้วลองเปิดบริการ ตรวจสอบว่าปัญหาได้รับการแก้ไขหรือไม่
โซลูชันที่ 2:การตรวจสอบความเสียหายของไฟล์ระบบ
อีกสิ่งหนึ่งที่ควรลองก่อนที่เราจะไปยังวิธีการทางเทคนิคและขั้นสูงเพิ่มเติมคือการตรวจสอบว่าระบบมีการทุจริตหรือไม่ หาก Windows ของคุณไม่มีไฟล์และเสียหาย อาจทำให้โมดูลสำคัญบางโมดูลไม่ทำงาน ด้วยเหตุนี้ คุณจะพบข้อความแสดงข้อผิดพลาด 1053 ในโซลูชันนี้ เราจะใช้ตัวตรวจสอบไฟล์ระบบของ Window ซึ่งจะตรวจสอบโครงสร้างไฟล์ระบบทั้งหมดของคุณและเปรียบเทียบโครงสร้างกับสำเนาใหม่ที่แสดงทางออนไลน์ หากมีความคลาดเคลื่อน ไฟล์จะถูกแทนที่ตามนั้น
- กด Windows + S พิมพ์ “command prompt” ในกล่องโต้ตอบ คลิกขวาที่แอปพลิเคชันแล้วเลือก เรียกใช้ในฐานะผู้ดูแลระบบ .
- เมื่ออยู่ในพรอมต์คำสั่งที่ยกระดับ ให้รันคำสั่งต่อไปนี้ทีละคำสั่งและตรวจสอบให้แน่ใจว่าได้ดำเนินการเสร็จสิ้น:
sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth
- คำสั่งหลังแก้ไขปัญหาใดๆ ที่ตัวตรวจสอบไฟล์ระบบวินิจฉัยเมื่อเรียกใช้การสแกน เริ่มต้นใหม่ คอมพิวเตอร์ของคุณโดยสมบูรณ์หลังจากรันคำสั่งและตรวจสอบว่าปัญหาได้รับการแก้ไขแล้วหรือไม่
โซลูชันที่ 3:ติดตั้งแอปพลิเคชันใหม่ (ถ้ามี)
วิธีที่มีประโยชน์อีกวิธีหนึ่งในการกำจัดข้อความแสดงข้อผิดพลาด 1053 คือการติดตั้งแอปพลิเคชันที่ร้องขอบริการใหม่ โดยปกติ แอปพลิเคชันของบริษัทอื่นที่ติดตั้งจากแหล่งภายนอก (ยกเว้น Microsoft Store) อาจมีส่วนประกอบที่ขาดหายไปหรือล้าสมัยซึ่งกำลังขอบริการบางอย่างใน Windows
สิ่งที่คุณสามารถทำได้คือไปที่เว็บไซต์อย่างเป็นทางการและดาวน์โหลดแอปพลิเคชั่นเวอร์ชันใหม่ หลังจากถอนการติดตั้งเวอร์ชันปัจจุบันแล้ว คุณสามารถติดตั้งได้ นี่คือวิธีการถอนการติดตั้งแอปพลิเคชันใน Windows
- กด Windows + R พิมพ์ “appwiz.cpl ” ในกล่องโต้ตอบและกด Enter
- เมื่ออยู่ในตัวจัดการแอปพลิเคชันแล้ว ให้ค้นหาแอปพลิเคชัน คลิกขวาที่แอปพลิเคชันนั้นแล้วเลือก ถอนการติดตั้ง .
- รีสตาร์ทคอมพิวเตอร์แล้วดำเนินการตามขั้นตอนการติดตั้งใหม่
โซลูชันที่ 4:การรีเซ็ตแคชและการกำหนดค่าเครือข่าย
หากคุณกำลังใช้บริการที่เชื่อมต่ออินเทอร์เน็ตและทำงานเสร็จแล้ว ขอแนะนำให้ตรวจสอบซ็อกเก็ตและการกำหนดค่าเครือข่ายอื่นๆ ทั้งหมดว่าไม่เสียหายและไม่ก่อให้เกิดปัญหาใดๆ หากเป็นเช่นนั้น บริการของคุณอาจไม่สามารถเชื่อมต่ออินเทอร์เน็ตเพื่อทำงานและทำให้เกิดปัญหาได้
ในโซลูชันนี้ เราจะไปที่พรอมต์คำสั่งในฐานะผู้ดูแลระบบ และรีเซ็ตการกำหนดค่าเครือข่ายจากที่นั่น หากสำเร็จ ข้อความแสดงข้อผิดพลาดจะถูกยกเลิก
หมายเหตุ: การดำเนินการนี้จะลบการตั้งค่าแบบกำหนดเองทั้งหมดที่คุณตั้งค่าด้วยตนเอง
- กด Windows + R พิมพ์ “พรอมต์คำสั่ง ” ในกล่องโต้ตอบ คลิกขวาที่แอปพลิเคชันแล้วเลือก “เรียกใช้ในฐานะผู้ดูแลระบบ ”.
- เมื่ออยู่ในพรอมต์คำสั่งที่ยกระดับ ให้รันคำสั่งต่อไปนี้ทีละคำสั่ง:
netsh winsock reset ipconfig /renew
- หลังจากรีเซ็ตเครือข่ายของคุณแล้ว ตรวจสอบให้แน่ใจว่าคุณสามารถเข้าถึงอินเทอร์เน็ตได้โดยตรวจสอบผ่านเบราว์เซอร์และดูว่าปัญหาได้รับการแก้ไขหรือไม่
โซลูชันที่ 5:การเป็นเจ้าของแอปพลิเคชัน
อีกกรณีที่ไม่ค่อยเกิดขึ้นที่เราพบคือการไม่มีความเป็นเจ้าของแอปพลิเคชันทำให้แอปพลิเคชันไม่สามารถดำเนินการบริการได้อย่างถูกต้อง สิ่งนี้สมเหตุสมผลราวกับว่าแอปพลิเคชันไม่มีสิทธิ์เข้าถึงที่ยกระดับเพียงพอ จะไม่สามารถส่ง/อ่านการตอบกลับไปยัง/จากบริการ (โดยเฉพาะอย่างยิ่งหากเป็นบริการของระบบ) ในบทความนี้ เราจะไปที่โปรแกรมปฏิบัติการของแอปพลิเคชัน จากนั้นเปลี่ยนความเป็นเจ้าของเป็นชื่อผู้ใช้ของเรา หากสำเร็จ วิธีนี้จะช่วยแก้ปัญหาการได้รับข้อผิดพลาด 1053
- ระบุตำแหน่งไฟล์/โฟลเดอร์ของแอปพลิเคชัน คลิกขวาและเลือก คุณสมบัติ .
- ไปที่ แท็บ "ความปลอดภัย" และคลิกที่ “ขั้นสูง ” ที่บริเวณด้านล่างสุดของหน้าจอดังที่คุณเห็นในภาพด้านล่าง
- คลิกที่ “เปลี่ยน ปุ่ม ” อยู่ในหน้าจอก่อนหน้า จะอยู่ตรงหน้าคุณค่าของเจ้าของ ที่นี่เราจะเปลี่ยนเจ้าของโฟลเดอร์นี้จากค่าเริ่มต้นเป็นบัญชีคอมพิวเตอร์ของคุณ
- ตอนนี้ให้ป้อนชื่อบัญชีผู้ใช้ของคุณในช่องที่มีอยู่แล้วคลิก “ตรวจสอบชื่อ” . Windows จะแสดงรายการบัญชีทั้งหมดที่มีการตีชื่อนี้โดยอัตโนมัติ
หากคุณไม่พบชื่อบัญชีของคุณโดยใช้วิธีนี้ คุณสามารถลองเลือกด้วยตนเองจากรายการกลุ่มผู้ใช้ที่มี คลิกที่ "ขั้นสูง" และเมื่อหน้าต่างใหม่ปรากฏขึ้น ให้คลิกที่ "ค้นหาเดี๋ยวนี้" รายการจะถูกเติมที่ด้านล่างของหน้าจอซึ่งประกอบด้วยกลุ่มผู้ใช้ทั้งหมดบนคอมพิวเตอร์ของคุณ เลือกบัญชีของคุณแล้วกด "ตกลง" เมื่อคุณกลับมาที่หน้าต่างเล็กๆ ให้กด “ตกลง” อีกครั้ง
- ตอนนี้ ตรวจสอบ บรรทัด “แทนที่เจ้าของในคอนเทนเนอร์ย่อยและวัตถุ ” เพื่อให้แน่ใจว่าโฟลเดอร์/ไฟล์ทั้งหมดภายในโฟลเดอร์จะเปลี่ยนความเป็นเจ้าของด้วย ด้วยวิธีนี้ คุณจะไม่ต้องดำเนินการตามขั้นตอนทั้งหมดซ้ำแล้วซ้ำเล่าสำหรับไดเรกทอรีย่อยที่มีอยู่ นอกจากนี้ เราขอแนะนำให้คุณเปิดใช้งานตัวเลือก “แทนที่รายการอนุญาตวัตถุลูกทั้งหมดด้วยรายการสิทธิ์ที่สืบทอดได้จากวัตถุนี้ ”.
- ปิดหน้าต่างคุณสมบัติหลังจากคลิก “นำไปใช้ ” และเปิดอีกครั้งในภายหลัง ไปที่แท็บความปลอดภัย และคลิก “ขั้นสูง ”.
- ในหน้าต่างการอนุญาต ให้คลิกที่ “เพิ่ม ” ที่บริเวณด้านล่างสุดของหน้าจอ
- คลิกที่ “เลือกหลักการ ” หน้าต่างที่คล้ายกันจะปรากฏขึ้นเหมือนในขั้นตอนที่ 4 ทำซ้ำขั้นตอนที่ 4 เมื่อปรากฏขึ้น ตรวจสอบการอนุญาตทั้งหมด (ให้การควบคุมทั้งหมด) แล้วกด “ตกลง ”.
- ตรวจสอบบรรทัด “แทนที่รายการอนุญาตวัตถุลูกทั้งหมดด้วยรายการอนุญาตที่สืบทอดได้จากวัตถุนี้ ” แล้วกดสมัคร
- ปิดไฟล์และ เริ่มต้นใหม่ คอมพิวเตอร์ของคุณอย่างสมบูรณ์ ตอนนี้ ให้ลองเปิดแอปพลิเคชันและตรวจสอบว่าปัญหาได้รับการแก้ไขแล้วหรือไม่
โซลูชันที่ 6:การอัปเดต Windows เป็นบิวด์ล่าสุด
สิ่งที่ควรลองอีกอย่างคือตรวจสอบว่าคุณมี Windows เวอร์ชันอัปเดตติดตั้งอยู่ในคอมพิวเตอร์ของคุณหรือไม่ Microsoft ออกการอัปเดตเพื่อกำหนดเป้าหมายการเปลี่ยนแปลงใหม่ในระบบปฏิบัติการและเพื่อรองรับคุณสมบัติเพิ่มเติมเช่นกัน การอัปเดตบางอย่างมีลักษณะ 'สำคัญ' และต้องติดตั้งโดยเร็วที่สุด หากไม่ได้ติดตั้งการอัปเดตที่ "สำคัญ" เหล่านี้ คุณจะประสบปัญหา
- กด Windows + S เพื่อเปิดแถบค้นหา เขียนว่า อัปเดต ในกล่องโต้ตอบและเปิดการตั้งค่าการอัปเดต
- เมื่ออยู่ในการตั้งค่าการอัปเดต ให้คลิกที่ ตรวจหาการอัปเดต . คอมพิวเตอร์จะเชื่อมต่อกับเซิร์ฟเวอร์ของ Microsoft และดูว่ามีการอัพเดทหรือไม่ หากมีการอัปเดตใด ๆ ที่ไฮไลต์ไว้ ให้ดำเนินการทันที
โบนัส:เคล็ดลับสำหรับนักพัฒนา
หากคุณเป็นนักพัฒนาซอฟต์แวร์และกำลังพยายามเปิดบริการใน Windows มีเทคนิคหลายร้อยอย่างที่คุณควรดำเนินการอย่างถูกต้องเพื่อวางไข่และรับการตอบสนองจากบริการ ในโซลูชันโบนัสนี้ เราจะแสดงรายการสาเหตุที่ได้รับความนิยมมากที่สุดของข้อผิดพลาด 1053 ในประเทศกำลังพัฒนาและวิธีแก้ไข
- ตรวจสอบให้แน่ใจว่า .NET Frameworks ซิงค์กัน: หากแอปพลิเคชัน/บริการที่คุณพยายามเปิดใช้อยู่ใน Framework อื่นที่ไม่ใช่เครื่องโฮสต์ คุณจะประสบปัญหา ตรวจสอบให้แน่ใจว่าเฟรมเวิร์กมีความสอดคล้องกัน
- การใช้บิลด์ที่วางจำหน่าย: นักพัฒนามักจะใช้ Debug สร้างเพื่อทดสอบบริการต่างๆ และการดำเนินงาน อย่างไรก็ตาม มีข้อสังเกตว่าการไม่ใช้บริการในบิลด์ Release ทำให้เกิดปัญหาหลายประการ
- ในการดีบักการเริ่มต้นบริการของคุณ (เพื่อรับข้อมูลเชิงลึก) ให้ใส่รหัสที่แสดงด้านล่างที่ด้านบนของวิธีการ OnStart() ของบริการของคุณ:
while(!System.Diagnostics.Debugger.IsAttached) Thread.Sleep(100);
การดำเนินการนี้จะหยุดให้บริการ คุณจึงสามารถแนบดีบักเกอร์ Visual Studio ผ่าน ดีบัก> โจมตี ได้อย่างรวดเร็ว
- คัดลอก ปล่อย DLL หรือรับไฟล์ DLL จากโหมดรีลีสแทนที่จะเป็นโหมดดีบักแล้ววางลงในโฟลเดอร์การติดตั้ง วิธีนี้จะช่วยแก้ปัญหาต่างๆ หากเกี่ยวข้องกับไฟล์ DLL
- ตรวจสอบให้แน่ใจว่า ฐานข้อมูล ที่บริการ/แอปพลิเคชันของคุณเข้าถึงได้รับการกำหนดค่าอย่างเหมาะสม หากมีปัญหาใดๆ กับฐานข้อมูล (หรือข้อมูลประจำตัวอื่นๆ) คุณจะพบข้อความแสดงข้อผิดพลาด แนวปฏิบัติที่ดีคือการตรวจสอบโมดูลทั้งหมดอีกครั้ง และตรวจสอบให้แน่ใจว่าพารามิเตอร์และตัวแปรทั้งหมดได้รับการตั้งค่าอย่างเหมาะสม