10Aug

Γιατί οι απενεργοποιήσεις κανονικού λογισμικού αποτυγχάνουν να καταργήσουν όλες τις σχετικές τιμές από το μητρώο;

Κατά την απεγκατάσταση ενός προγράμματος, είναι μια "λογική" προσδοκία ότι όλα τα ίχνη του θα αφαιρεθούν από το σύστημά σας, αλλά αυτό συχνά δεν συμβαίνει.Γιατί αυτό?Η σημερινή σελίδα SuperUser Q & A έχει τις απαντήσεις σε μια ερώτηση περίεργου αναγνώστη.

Η σημερινή ερώτηση &Η συνάντηση απαντήσεων έρχεται με την ευγένεια του SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα-καθοδηγούμενη ομαδοποίηση Q & A ιστοσελίδες.

Στιγμιότυπο οθόνης από wandersick( Flickr).

Η ερώτηση

Reader SuperUser Mark Boulder θέλει να μάθει γιατί κάποιες τιμές μητρώου παραμένουν πάντα μετά από μια κανονική απεγκατάσταση λογισμικού:

Επέκταση στο θέμα του SuperUser Πώς μπορώ να αφαιρέσω υπολειπόμενα ίχνη απεγκατεστημένου λογισμικού από το μητρώο, γιατί κάθε φορά που καταργώ την εγκατάστασηένα πρόγραμμα και στη συνέχεια να το αναζητήσετε μέσω του RegEdit, είναι ακόμα εκεί;

Γιατί οι περισσότερες εφαρμογές των Windows σκοπεύουν να αφήσουν μικροσκοπικά μικρά ίχνη στον εαυτό τους στο μητρώο;Το σφάλμα έγκειται στα Windows ή στους προγραμματιστές;

Γιατί οι τιμές μητρώου συνήθως "παραμένουν πίσω" μετά την κανονική απεγκατάσταση του λογισμικού;

Οι απαντήσεις των απαντήσεων

SuperUser Lukas Rieger και Keltari έχουν την απάντηση για εμάς.Πρώτα επάνω, Lukas Rieger:

Επειδή είναι αδύνατο.Το μητρώο έχει πολλούς κόμβους ρίζας αλλά μόνο δύο ενδιαφέροντα: LocalMachine και CurrentUser.Κανονικά, η εγκατάσταση συντάσσει τιμές στο LocalMachine και το τρέχον πρόγραμμα γράφει μόνο στο CurrentUser( στην πραγματικότητα, εκτός και αν τα βήματα εγκατάστασης έχουν τα δικαιώματα, το τρέχον πρόγραμμα δεν μπορεί να γράψει στο LocalMachine).

Η διατήρηση των υπολειμμάτων στο LocalMachine είναι τεμπελιά( όπως υπογραμμίζεται από τις άλλες απαντήσεις), δεν είναι δυνατό να καθαρίσετε το τμήμα CurrentUser.

Εάν ένα πρόγραμμα είναι εγκατεστημένο ανά μηχανή( και τα περισσότερα είναι) και πολλοί χρήστες το χρησιμοποιούν, τι θα έπρεπε να κάνει το πρόγραμμα απεγκατάστασης;Θα μπορούσε ασφαλώς να καταργήσει τις ρυθμίσεις χρήστη του τρέχοντος λογαριασμού, αλλά ο τρέχων λογαριασμός ίσως να μην είναι ο λογαριασμός σας.Αυτό συμβαίνει αν ξεκινήσατε το πρόγραμμα απεγκατάστασης από έναν λογαριασμό που δεν ανήκει στη διεύθυνση διαχειριστή και στη συνέχεια καταχωρίσατε τα διαπιστευτήρια ενός λογαριασμού διαχειριστή. Η ρύθμιση εκτελείται τώρα κάτω από αυτόν τον λογαριασμό και όχι την πρώτη.

Τι γίνεται με τους υπόλοιπους χρήστες;Θα μπορούσε να προσπαθήσει να απαριθμήσει όλους τους χρήστες, αλλά τα κλειδιά μητρώου τους ενδέχεται να μην φορτωθούν( τα Windows είναι τεμπέληδες και φορτώνουν μόνο τα πράγματα που χρειάζονται).

Αλλά δεν πρέπει να το δοκιμάσετε.Αν χρησιμοποιείτε προφίλ περιαγωγής( δηλ. Υπηρεσίες τερματικών) και στη συνέχεια διαγράφετε όλες τις ρυθμίσεις κατά την απεγκατάσταση, θα μπορούσατε πραγματικά να χρεώσετε και να διαγράψετε πράγματα που είναι στην πραγματικότητα ακόμα σε χρήση.Ένας διακομιστής τερματικού είναι βασικά ένα μηχάνημα των Windows όπου πολλαπλοί χρήστες συνδέονται ταυτόχρονα και χρησιμοποιούν εφαρμογές.Πείτε ότι έχετε δύο διακομιστές τερματικών που εκτελούν μια εφαρμογή.Καταργείτε την εγκατάσταση της εφαρμογής στο TS1, τώρα όλες οι ρυθμίσεις για όλους τους χρήστες έχουν πάει στο TS2 επειδή έχετε προφίλ περιαγωγής.Ωχ.

Το ίδιο ισχύει και για αρχεία στους καταλόγους ανά χρήστη.Στη ρύθμιση των προγραμμάτων της εταιρείας μου, διαγράφω τα στοιχεία ανά μηχανή, αλλά δεν αγγίζουν τα πράγματα ανά χρήστη, ούτε καν από τον χρήστη που τρέχει αυτή τη στιγμή τη ρύθμιση.

Ακολουθούμενη από την απάντηση του Keltari:

Υπάρχουν πολλοί λόγοι για τους οποίους αυτό συμβαίνει, ωστόσο, δεν είναι το σφάλμα της Microsoft ή του λειτουργικού συστήματος των Windows.

Το ακόλουθο είναι μια λίστα με ορισμένες περιπτώσεις και τους λόγους για τους οποίους οι καταχωρήσεις μητρώου έχουν μείνει πίσω:

Bad Programming - Ο προγραμματιστής δεν έγραψε σωστά το πρόγραμμα απεγκατάστασης εφαρμογών και οι καταχωρήσεις μητρώου έχουν μείνει πίσω.Εκτός αυτού, το πρόγραμμα απεγκατάστασης μπορεί να μην έχει / χρησιμοποιήσει τα κατάλληλα δικαιώματα για να καταργήσει τις καταχωρήσεις μητρώου.Θα μπορούσε επίσης να είναι ότι υπάρχουν περισσότερες από μία εφαρμογές που χρησιμοποιούν αυτά τα κλειδιά.Για παράδειγμα, δύο εφαρμογές από τον ίδιο προγραμματιστή που γράφουν στα ίδια κλειδιά.

Αριστερά με σκοπό - Όπως αναφέρθηκε σε ένα σχόλιο, αυτές οι καταχωρήσεις θα μπορούσαν να έχουν μείνει σκοπίμως.Ορισμένες εφαρμογές έχουν δοκιμαστική περίοδο και, μετά από αυτή την περίοδο, μπορείτε να επιλέξετε να καταργήσετε την εφαρμογή.Εάν επιλέξετε να εγκαταστήσετε ξανά την εφαρμογή αργότερα, αυτά τα πλήκτρα δίνουν στην εφαρμογή πληροφορίες σχετικά με το πότε εγκαταστάθηκε.Επιπλέον, ορισμένοι προγραμματιστές ενδέχεται να επιλέξουν να αφήσουν αυτά τα κλειδιά σε περίπτωση που επιλέξετε να επανεγκαταστήσετε την εφαρμογή.Αν ο προγραμματιστής χρησιμοποίησε κλειδιά μητρώου για να αποθηκεύσει τις προσαρμογές σας, μπορεί να τους αφήσει εκεί, ώστε όταν εγκαταστήσετε ξανά την εφαρμογή, όλες οι προσαρμογές σας παραμένουν.Στο μεγάλο σχέδιο των πραγμάτων, τα κλειδιά μητρώου παίρνουν μόνο μερικά byte.

Πρέπει να αφαιρέσετε τα πλήκτρα;Αυτο εξαρταται.Το μητρώο των Windows είναι ένα επικίνδυνο μέρος για να μπλοκάρει μέσα. Μπορείτε να σπάσετε κατά λάθος το σύστημά σας.Η έξοδος από τα εξωτερικά πλήκτρα δεν θα βλάψει το σύστημα.Μερικοί άνθρωποι θα πουν καθαρισμός / ανασυγκρότηση του μητρώου θα επιταχύνει το σύστημά σας, αλλά αυτό έχει αποδειχθεί ψευδές επανειλημμένα.

Αν θέλετε πραγματικά να απαλλαγείτε από αυτά τα προγράμματα, υπάρχουν ορισμένα εργαλεία απεγκατάστασης που μπορούν να αφαιρέσουν κάθε ίχνος ενός προγράμματος.Αυτά τα προγράμματα θα παρακολουθήσουν το πρόγραμμα εγκατάστασης άλλου προγράμματος και θα καταγράψουν όλες τις ενέργειες που έγιναν στο σύστημα αρχείων και το μητρώο, και στη συνέχεια θα καταργηθούν εντελώς αυτές οι ενέργειες.Ένα πρόβλημα με αυτά τα εργαλεία είναι ότι είναι πιθανό να μπορούν να καταργήσουν τα πράγματα που ίσως θέλετε να κρατήσετε.

Έχετε κάτι να προσθέσετε στην εξήγηση;Απενεργοποιήστε τα σχόλια.Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους χρήστες τεχνολογίας Stack Exchange;Δείτε το πλήρες νήμα συζήτησης εδώ.