โฮมเพจ » ทำอย่างไร » เหตุใดคุณไม่สามารถถอนการติดตั้งหลายโปรแกรมพร้อมกันใน Windows

    เหตุใดคุณไม่สามารถถอนการติดตั้งหลายโปรแกรมพร้อมกันใน 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 คนอื่นหรือไม่ ลองอ่านหัวข้อสนทนาเต็มได้ที่นี่.