Trang chủ » làm thế nào để » Tại sao Gỡ cài đặt phần mềm thông thường không thể xóa tất cả các giá trị liên quan khỏi sổ đăng ký?

    Tại sao Gỡ cài đặt phần mềm thông thường không thể xóa tất cả các giá trị liên quan khỏi sổ đăng ký?

    Khi bạn gỡ cài đặt một chương trình, đó là một kỳ vọng hợp lý của trực tuyến, rằng tất cả các dấu vết của chương trình đó sẽ bị xóa khỏi hệ thống của bạn, nhưng đó thường không phải là trường hợp. Tại sao vậy? Bài hỏi và trả lời của SuperUser hôm nay có câu trả lời cho câu hỏi của người đọc tò mò.

    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.

    Ảnh chụp màn hình lịch sự của Wandersick (Flickr).

    Câu hỏi

    Trình đọc SuperUser Mark Boulder muốn biết tại sao một số giá trị đăng ký luôn duy trì sau khi gỡ cài đặt phần mềm thông thường:

    Mở rộng về chủ đề SuperUser Làm cách nào để xóa phần còn lại của phần mềm đã gỡ cài đặt khỏi sổ đăng ký, tại sao mỗi lần tôi gỡ cài đặt chương trình và sau đó tìm kiếm qua RegEdit, nó vẫn ở đó?

    Tại sao phần lớn các ứng dụng Windows rất có ý định để lại dấu vết nhỏ bé của chúng trong sổ đăng ký? Lỗi có phải do Windows hay với các nhà phát triển?

    Tại sao các giá trị đăng ký thường bị bỏ lại phía sau, sau khi gỡ cài đặt phần mềm?

    Câu trả lời

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

    Bởi vì điều đó là không thể. Sổ đăng ký có nhiều nút gốc nhưng chỉ có hai nút thú vị: LocalMachine và CurrentUser. Thông thường, thiết lập ghi các giá trị vào LocalMachine và chương trình đang chạy chỉ ghi vào CurrentUser (thực tế, trừ khi thiết lập gây rối với các quyền, chương trình đang chạy không thể ghi vào LocalMachine).

    Mặc dù việc giữ lại thức ăn thừa trong LocalMachine là sự lười biếng (như được chỉ ra bởi các câu trả lời khác), không thể làm sạch phần Hiện tại của Người dùng.

    Nếu một chương trình được cài đặt trên mỗi máy (hầu hết là) và nhiều người dùng sử dụng nó, trình gỡ cài đặt phải làm gì? Nó có thể xóa cài đặt người dùng của tài khoản hiện tại một cách an toàn, nhưng tài khoản hiện tại có thể không phải là tài khoản của bạn. Điều này xảy ra nếu bạn khởi động trình gỡ cài đặt từ tài khoản không phải quản trị viên và sau đó nhập thông tin đăng nhập của tài khoản quản trị viên, thiết lập hiện đang chạy trong tài khoản đó, không phải tài khoản đầu tiên.

    Còn những người dùng khác thì sao? Nó có thể cố gắng liệt kê tất cả người dùng, nhưng khóa đăng ký của họ có thể không được tải (Windows lười biếng và chỉ tải những thứ họ cần).

    Nhưng bạn thậm chí không nên thử điều đó. Nếu bạn sử dụng cấu hình chuyển vùng (nghĩa là dịch vụ đầu cuối) và sau đó xóa tất cả các cài đặt khi gỡ cài đặt, bạn thực sự có thể gây rối và xóa những thứ thực sự vẫn đang được sử dụng. Một máy chủ đầu cuối về cơ bản là một máy Windows, nơi nhiều người dùng đăng nhập cùng lúc và sử dụng các ứng dụng. Giả sử bạn có hai máy chủ đầu cuối đang chạy một ứng dụng. Bạn gỡ cài đặt ứng dụng trên TS1, bây giờ tất cả các cài đặt cho tất cả người dùng đã biến mất trên TS2 vì bạn có hồ sơ chuyển vùng. Rất tiếc.

    Điều tương tự cũng áp dụng cho các tệp trong thư mục theo người dùng. Trong quá trình thiết lập các chương trình của công ty tôi, tôi xóa nội dung trên mỗi máy nhưng không chạm vào nội dung theo người dùng, thậm chí cả người dùng hiện đang chạy thiết lập.

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

    Có nhiều lý do tại sao đây là trường hợp, tuy nhiên, đó không phải là lỗi của Microsoft hoặc hệ điều hành Windows.

    Sau đây là danh sách một số trường hợp và lý do tại sao các mục đăng ký bị bỏ lại:

    Lập trình xấu - Nhà phát triển đã không viết trình gỡ cài đặt ứng dụng đúng cách và các mục đăng ký bị bỏ lại. Ngoài ra, trình gỡ cài đặt có thể không có / sử dụng các quyền thích hợp để xóa các mục đăng ký. Cũng có thể có nhiều hơn một ứng dụng sử dụng các khóa đó. Chẳng hạn, hai ứng dụng từ cùng một nhà phát triển ghi vào cùng một khóa.

    Còn lại mục đích - Như một bình luận đã đề cập, những mục này có thể đã được để lại trên mục đích. Một số ứng dụng có thời gian dùng thử và sau khoảng thời gian đó, bạn có thể chọn xóa ứng dụng. Nếu bạn chọn cài đặt lại ứng dụng sau, các phím đó sẽ cung cấp thông tin cho ứng dụng khi nó được cài đặt. Ngoài ra, một số nhà phát triển có thể chọn để lại các khóa đó trong trường hợp bạn chọn cài đặt lại ứng dụng. Nếu nhà phát triển sử dụng các khóa đăng ký để lưu trữ các tùy chỉnh của bạn, họ có thể để chúng ở đó để khi bạn cài đặt lại ứng dụng, tất cả các tùy chỉnh của bạn vẫn tồn tại. Trong lược đồ lớn, các khóa registry chỉ chiếm một vài byte.

    Bạn có nên loại bỏ các phím? Mà phụ thuộc. Sổ đăng ký Windows là một nơi nguy hiểm để gây rối. Bạn có thể vô tình phá vỡ hệ thống của mình. Để các phím không liên quan sẽ không làm hại hệ thống. Một số người sẽ nói việc dọn dẹp / chống phân mảnh registry sẽ tăng tốc hệ thống của bạn, nhưng điều đó đã được chứng minh là sai nhiều lần.

    Nếu bạn thực sự muốn loại bỏ các chương trình đó, có một số công cụ gỡ cài đặt có thể xóa mọi dấu vết của chương trình. Các chương trình này sẽ xem trình cài đặt của một chương trình khác và ghi lại tất cả các hành động được thực hiện cho hệ thống tệp và sổ đăng ký, sau đó loại bỏ hoàn toàn các hành động đó. Một vấn đề với các công cụ này là có thể họ có thể xóa những thứ bạn có thể muốn giữ.


    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.