Tại sao các phần mềm bình thường Uninstalls không loại bỏ tất cả các giá trị có liên quan từ Registry?

Mục lục:

Tại sao các phần mềm bình thường Uninstalls không loại bỏ tất cả các giá trị có liên quan từ Registry?
Tại sao các phần mềm bình thường Uninstalls không loại bỏ tất cả các giá trị có liên quan từ Registry?

Video: Tại sao các phần mềm bình thường Uninstalls không loại bỏ tất cả các giá trị có liên quan từ Registry?

Video: Tại sao các phần mềm bình thường Uninstalls không loại bỏ tất cả các giá trị có liên quan từ Registry?
Video: Hướng dẫn dùng Calendar trong Outlook để tạo cuộc hẹn-cuộc họp-sự kiện-quản lý công việc - YouTube 2024, Tháng tư
Anonim
Khi bạn gỡ cài đặt một chương trình, đó là một kỳ vọng that Äúreasonable‚Äù rằng tất cả các dấu vết của nó 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? Today‚Äôs SuperUser Q & A post có câu trả lời cho một người đọc tò mò.
Khi bạn gỡ cài đặt một chương trình, đó là một kỳ vọng that Äúreasonable‚Äù rằng tất cả các dấu vết của nó 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? Today‚Äôs SuperUser Q & A post có câu trả lời cho một người đọc tò mò.

Today Questionôs Câu hỏi & Trả lời phiên đến với chúng tôi lịch sự của SuperUser‚Äîa phân khu của Stack Exchange, một nhóm cộng đồng theo định hướng của các trang web Q & A.

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

Câu hỏi

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

Expanding on the SuperUser topic How do I remove residual traces of uninstalled software from the registry, why is it that every time I uninstall a program and then later look it up via RegEdit, it is still there?

Why are the majority of Windows applications so intent on leaving tiny little traces of themselves in the registry? Does the fault lie with Windows or with the developers?

Tại sao giá trị đăng ký thường là ‚Ä úúft sau‚Ä sau khi gỡ cài đặt phần mềm thông thường?

Câu trả lời

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

Because it is impossible. The registry has multiple root nodes but only two interesting ones: LocalMachine and CurrentUser. Normally, the setup writes values into LocalMachine, and the running program only writes into CurrentUser (actually, unless the setup messes with the permissions, the running program cannot write into LocalMachine).

While keeping leftovers in LocalMachine is laziness (as pointed out by the other answers), it is not possible to clean the CurrentUser part.

If a program is installed per machine (which most are) and multiple users use it, what should the uninstaller do? It could safely remove the user settings of the current account, but the current account might not be your account. This happens if you started the uninstaller from a non-admin account and then entered the credentials of an admin account, the setup is now running under that account, not the first one.

What about the other users? It could try to enumerate all users, but their registry keys might not be loaded (Windows is lazy and only loads the things it needs).

But you should not even try that. If you use roaming profiles (i.e. terminal services) and then delete all settings on uninstall, you could really mess up and delete stuff that is actually still in use. A terminal server is basically one Windows machine where multiple users log-in at the same time and use applications. Say you have two terminal servers running one application. You uninstall the application on TS1, now all the settings for all users are gone on TS2 because you have roaming profiles. Oops.

The same also applies to files in the per-user directories. In the setup of my company’s programs, I delete the per-machine stuff but do not touch the per-user stuff, not even of the user currently running the setup.

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

There are many reasons why this is the case, however, it is not the fault of Microsoft or the Windows operating system.

The following is a list of some cases and reasons why registry entries are left behind:

Bad Programming – The developer did not write the application uninstaller properly and the registry entries are left behind. In addition to that, the uninstaller might not have/use the proper permissions to remove the registry entries. It could also be that there is more than one application that uses those keys. For instance, two applications from the same developer that write to the same keys.

Left On Purpose – As one comment mentioned, these entries could have been left on purpose. Some applications have a trial period and, after that period, you might choose to remove the application. If you choose to reinstall the application later, those keys give the application information on when it was installed. In addition to that, some developers might choose to leave those keys in case you choose to reinstall the application. If the developer used registry keys to store your customizations, they might leave them there so that when you reinstall the application, all of your customizations persist. In the grand scheme of things, registry keys only take up a few bytes.

Should you remove the keys? That depends. The Windows registry is a dangerous place to mess around in. You can inadvertently break your system. Leaving the extraneous keys will not hurt the system. Some people will say cleaning/defragging the registry will speed up your system, but that has been proven false repeatedly.

If you really want to get rid of those programs, there are some uninstaller tools that can remove every trace of a program. These programs will watch the installer of another program and record all the actions done to the file system and registry, then completely remove those actions. One issue with these tools is that it is possible they can remove things you might want to keep.

Có 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 có hiểu biết công nghệ khác? Xem toàn bộ chuỗi thảo luận tại đây.

Đề xuất: