Trang chủ » làm thế nào để » Tại sao bạn không thể gỡ cài đặt đồng thời nhiều chương trình trong Windows?

    Tại sao bạn không thể gỡ cài đặt đồng thời nhiều chương trình trong Windows?

    Giả sử bạn có một nhóm nhỏ các chương trình bạn muốn gỡ cài đặt trên hệ thống Windows của mình, nhưng Windows sẽ chỉ cho phép bạn gỡ cài đặt từng chương trình một. Tại sao vậy? Điều gì đang ngăn bạn gỡ cài đặt đồng thời nhiều chương trình?

    Phiên hỏi và trả lời hôm nay đến với chúng tôi nhờ sự hỗ trợ của SuperUser - một phân ngành của Stack Exchange, một nhóm các trang web Hỏi & Đáp do cộng đồng điều khiển.

    Câu hỏi

    Người đọc siêu người dùng Jeroen Bollen muốn biết lý do tại sao một người không thể gỡ cài đặt nhiều chương trình cùng lúc trong Windows:

    Tại sao Windows ngăn bạn gỡ cài đặt hoặc xóa nhiều chương trình cùng một lúc? Lý do đằng sau này là gì? Nó sẽ làm rối tung một hệ thống nội bộ?

    Tôi không muốn gỡ cài đặt nhiều chương trình cùng một lúc, tôi chỉ đơn giản là tìm kiếm lý do tại sao nó không phải là một tùy chọn.

    Cái gì ngăn mọi người gỡ cài đặt đồng thời nhiều chương trình trong Windows?

    Câu trả lời

    Những người đóng góp cho SuperUser ultrasawblade và techie007 có câu trả lời cho chúng tôi. Đầu tiên, ultrasawblade:

    Nếu bạn đọc bất cứ điều gì về cách hệ thống trình cài đặt Windows hoạt động, rõ ràng là họ đã áp dụng một số ý tưởng từ cơ sở dữ liệu giao dịch để cài đặt và bảo trì chương trình, không đề cập đến điều đó .msi bản thân các tệp là một cơ sở dữ liệu.

    Luôn có câu hỏi trong việc thiết kế bất kỳ cơ sở dữ liệu nào - bạn có muốn tốc độ hoặc độ chính xác / an toàn không? Cho rằng các trình cài đặt có thể sửa đổi cấu hình của một hệ thống và rằng một rủi ro có thể khiến hệ thống không thể hoạt động, an toàn đã được ưu tiên hơn tốc độ.

    Một trong những lý do tại sao .msi Trình cài đặt quá chậm là do các tệp rollback được tạo cho mỗi tệp, v.v ... sẽ được sửa đổi, sau đó sẽ bị xóa, cho phép mọi thay đổi được quay trở lại nếu có sự cố xảy ra (chẳng hạn như mất điện hoặc sự cố hệ thống).

    Bây giờ, tôi tin rằng công cụ MSI tự thực thi cài đặt, sửa đổi hoặc chỉ xóa một chương trình tại một thời điểm. Nếu bạn cố chạy .msi chẳng hạn như tệp đang gỡ cài đặt, nó sẽ không chạy hoặc sẽ chờ quá trình gỡ cài đặt hiện đang chạy. Những người cài đặt không phải MSI có thể không hành xử theo cách này vì họ không sử dụng công cụ MSI. Nhưng vì quyết định thiết kế an toàn này, đây có lẽ là lý do tại sao appwiz.cpl khăng khăng chỉ cho phép một người gỡ cài đặt được gọi cùng một lúc.

    CCleaner cho phép bạn khởi động các trình gỡ cài đặt mà không cần đợi các trình chạy trước đó kết thúc, nhưng các trình cài đặt MSI có thể vẫn không hoạt động song song do các điều trên.

    Tiếp theo là câu trả lời từ techie007:

    Điều này thực sự chỉ áp dụng cho các chương trình sử dụng hệ thống Windows Installer.

    Nếu một chương trình sử dụng các hệ thống cài đặt (un) của riêng họ, thì không có gì ngăn bạn chạy trình gỡ cài đặt khác cùng một lúc.

    Trình cài đặt Windows giới hạn số lượng phiên bản để tránh xung đột được tạo bởi nhiều chương trình trong khi chúng đang thay đổi cài đặt và tệp trên toàn hệ thống (thường được chia sẻ).

    Hầu hết các trình gỡ cài đặt theo dõi những gì họ đang thay đổi để họ có thể quay lại thành công nếu có lỗi. Nếu một người không nhận thức được tất cả các thay đổi đang được thực hiện (bởi các trình gỡ cài đặt khác), thì nó thực sự có thể khiến mọi thứ trở nên tồi tệ hơn nếu nó cố gắng khôi phục cài đặt không thành công.

    Hệ thống Windows Installer được tạo ra với mục đích trở thành một hệ thống hợp nhất cho tất cả các nhà phát triển ứng dụng sử dụng (trên Windows) để giúp tránh các sự cố như thế này.


    Có một cái gì đó để thêm vào lời giải thích? Tắt âm thanh trong các ý kiến. Bạn muốn đọc thêm câu trả lời từ những người dùng Stack Exchange am hiểu công nghệ khác? Kiểm tra chủ đề thảo luận đầy đủ ở đây.