เหตุใดคุณไม่สามารถถอนการติดตั้งหลายโปรแกรมพร้อมกันใน Windows
สมมติว่าคุณมีโปรแกรมจำนวนน้อยที่คุณต้องการถอนการติดตั้งบนระบบ Windows ของคุณ แต่ Windows จะให้คุณถอนการติดตั้งทีละรายการ ทำไมถึงเป็นอย่างนั้น? สิ่งที่จะหยุดคุณจากการถอนการติดตั้งหลายโปรแกรมพร้อมกัน?
เซสชั่นคำถามและคำตอบในวันนี้มาถึงเราด้วยความอนุเคราะห์จาก SuperUser - แผนกย่อยของ Exchange Exchange ซึ่งเป็นกลุ่มที่ขับเคลื่อนด้วยชุมชนของเว็บไซต์ถาม - ตอบ.
คำถาม
ผู้อ่าน SuperUser Jeroen Bollen ต้องการทราบว่าเหตุใดบุคคลหนึ่งจึงไม่สามารถถอนการติดตั้งหลายโปรแกรมพร้อมกันใน Windows:
เหตุใด Windows จึงไม่ให้คุณถอนการติดตั้งหรือลบหลายโปรแกรมพร้อมกัน อะไรคือเหตุผลเบื้องหลังสิ่งนี้ มันจะทำให้ระบบภายในสับสนหรือไม่?
ฉันไม่ต้องการถอนการติดตั้งหลายโปรแกรมพร้อมกันฉันแค่มองหาเหตุผลว่าทำไมมันถึงไม่เป็นตัวเลือก.
อะไรที่ทำให้คนไม่สามารถถอนการติดตั้งหลาย ๆ โปรแกรมพร้อมกันใน Windows?
คำตอบ
ผู้สนับสนุน SuperUser ultrasawblade และ techie007 มีคำตอบสำหรับเรา ก่อนอื่นอัลตร้าซาวด์เบลด:
หากคุณอ่านอะไรเกี่ยวกับการทำงานของระบบติดตั้ง Windows จะเห็นได้ชัดว่าพวกเขาใช้แนวคิดบางอย่างจากฐานข้อมูลธุรกรรมเพื่อการติดตั้งและบำรุงรักษาโปรแกรม .MSI ไฟล์เองเป็นฐานข้อมูล.
มีคำถามอยู่เสมอในการออกแบบฐานข้อมูลใด ๆ - คุณต้องการความเร็วหรือความแม่นยำ / ความปลอดภัยหรือไม่? เนื่องจากตัวติดตั้งสามารถแก้ไขการกำหนดค่าของระบบและอุบัติเหตุอาจทำให้ระบบไม่สามารถใช้งานได้ความปลอดภัยจึงได้รับความสำคัญมากกว่าความเร็ว.
เหตุผลหนึ่งที่ทำไม .MSI โปรแกรมติดตั้งช้ามากเนื่องจากไฟล์ย้อนกลับสร้างขึ้นสำหรับแต่ละไฟล์ ฯลฯ ที่จะถูกแก้ไขแล้วลบทิ้งหลังจากนั้นปล่อยให้การเปลี่ยนแปลงใด ๆ "ย้อนกลับ" หากมีสิ่งผิดปกติเกิดขึ้น (เช่นไฟฟ้าดับ ระบบล่ม).
ตอนนี้ฉันเชื่อว่าเอ็นจิ้น MSI นั้นบังคับใช้การติดตั้งปรับเปลี่ยนหรือลบโปรแกรมครั้งละหนึ่งโปรแกรมเท่านั้น หากคุณพยายามที่จะเรียกใช้ .MSI ในขณะที่ไฟล์อื่นกำลังถอนการติดตั้งตัวอย่างเช่นไฟล์จะไม่ทำงานหรือจะรอให้กระบวนการถอนการติดตั้งที่รันอยู่ในปัจจุบันเสร็จสิ้น โปรแกรมติดตั้งที่ไม่ใช่ของ MSI อาจไม่ทำงานเช่นนี้เนื่องจากไม่ได้ใช้เอนจิ้น MSI แต่เนื่องจากการตัดสินใจออกแบบเพื่อความปลอดภัยนี่อาจเป็นเหตุผล appwiz.cpl ยืนยันในการอนุญาตให้ถอนการติดตั้งเพียงหนึ่งเดียวที่จะเรียกในครั้งเดียว.
CCleaner ช่วยให้คุณสามารถเริ่มโปรแกรมถอนการติดตั้งโดยไม่ต้องรอให้โปรแกรมทำงานก่อนหน้านี้เสร็จสิ้น แต่โปรแกรมติดตั้งของ MSI อาจยังไม่ทำงานพร้อมกันเนื่องจากสาเหตุข้างต้น.
ตามด้วยคำตอบจาก techie007:
สิ่งนี้ใช้ได้กับโปรแกรมที่ใช้ระบบ Windows Installer เท่านั้น.
หากโปรแกรมใช้ระบบติดตั้งของตัวเอง (un) แสดงว่าไม่มีสิ่งใดที่ห้ามไม่ให้คุณเรียกใช้ตัวถอนการติดตั้งอื่นในเวลาเดียวกัน.
Windows Installer จำกัด จำนวนอินสแตนซ์เพื่อหลีกเลี่ยงความขัดแย้งที่เกิดขึ้นจากหลาย ๆ โปรแกรมในขณะที่พวกเขากำลังเปลี่ยนการตั้งค่าและไฟล์ทั่วทั้งระบบ.
โปรแกรมถอนการติดตั้งส่วนใหญ่จะติดตามสิ่งที่เปลี่ยนแปลงเพื่อให้สามารถย้อนกลับได้สำเร็จหากเกิดความล้มเหลว หากไม่มีการรับรู้ถึงการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้น (โดยโปรแกรมถอนการติดตั้งอื่น ๆ ) มันอาจจะทำสิ่งต่าง ๆ ได้จริงถ้ามันพยายามย้อนกลับการติดตั้งที่ล้มเหลว.
ระบบ Windows Installer ถูกสร้างขึ้นด้วยความตั้งใจที่จะเป็นระบบที่รวมเป็นหนึ่งเดียวสำหรับนักพัฒนาแอปพลิเคชันทั้งหมดที่จะใช้ (บน Windows) เพื่อช่วยหลีกเลี่ยงปัญหาเช่นนี้.
มีสิ่งที่จะเพิ่มคำอธิบายหรือไม่ ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange คนอื่นหรือไม่ ลองอ่านหัวข้อสนทนาเต็มได้ที่นี่.