Ponieważ to niemożliwe.
Rejestr ma wiele węzłów głównych, ale tylko dwa interesujące: LocalMachine i CurrentUser . Zwykle instalator zapisuje wartości do LocalMachine, a działający program TYLKO zapisuje do CurrentUser (w rzeczywistości, chyba że konfiguracja nie zadziała z uprawnieniami, uruchomiony program nie może zapisać do LocalMachine).
Podczas gdy pozostawianie resztek w LocalMachine jest lenistwem, jak wskazano w innych odpowiedziach, nie można wyczyścić części użytkownika.
Jeśli program jest zainstalowany na maszynie (z których większość) i korzysta z niego wielu użytkowników, co powinien zrobić deinstalator? Może bezpiecznie usunąć ustawienia użytkownika bieżącego konta, ale bieżące konto może nie być Twoim kontem. (Dzieje się tak, jeśli uruchomiłeś dezinstalator z konta innego niż admin, a następnie wprowadziłeś poświadczenia konta administratora - instalacja jest teraz uruchomiona na tym koncie, a nie na pierwszym).
Co z innymi użytkownikami? Może próbować wyliczyć wszystkich użytkowników, ale ich klucze rejestru mogą nie zostać załadowane. (Windows jest leniwy i ładuje tylko to, czego potrzebuje).
Ale nie powinieneś nawet tego próbować. Jeśli korzystasz z profili mobilnych, na przykład do usług terminalowych, a następnie usuwasz wszystkie ustawienia podczas odinstalowywania, możesz naprawdę popsuć i usunąć rzeczy, które są nadal w użyciu.
Serwer terminali to w zasadzie jeden komputer z systemem Windows, na którym wielu użytkowników loguje się jednocześnie i korzysta z aplikacji.
Załóżmy, że masz dwa serwery terminali z jedną aplikacją. Deinstalujesz aplikację na TS1, teraz wszystkie ustawienia dla wszystkich użytkowników zniknęły na TS2, ponieważ masz profile mobilne. ups.
To samo dotyczy również plików w katalogach poszczególnych użytkowników.
W ustawieniach programu mojej firmy usuwam elementy dotyczące poszczególnych komputerów, ale nie dotykam elementów dotyczących poszczególnych użytkowników, nawet użytkownika aktualnie uruchomionego.