Homepage » hogyan kell » Miért nem törlődik a normál szoftver az összes releváns érték eltávolítása a rendszerleíró adatbázisból?

    Miért nem törlődik a normál szoftver az összes releváns érték eltávolítása a rendszerleíró adatbázisból?

    Amikor eltávolít egy programot, „ésszerű” elvárás, hogy az összes nyomkövetés eltávolításra kerül a rendszerből, de ez gyakran nem így van. Miért van az, hogy? A mai SuperUser Q&A postai válaszok egy furcsa olvasó kérdésére vonatkoznak.

    A mai Kérdések és válaszok munkamenet a Jóvagyon - a Stack Exchange alosztályának, a közösség által vezérelt Q&A webhelyek csoportjának köszönhetően..

    Wandersick (Flickr) kedvence.

    A kérdés

    A SuperUser olvasó Mark Boulder szeretné tudni, hogy miért maradnak bizonyos rendszerleíró értékek a szokásos szoftver eltávolítás után:

    A SuperUser-témakör bővítése Hogyan távolíthatom el az eltávolított szoftverek maradványnyomatait a rendszerleíró adatbázisból, miért van, hogy minden alkalommal, amikor egy programot eltávolítok, majd később a RegEdit-en keresztül keresem, még mindig ott van?

    Miért szándékozik a Windows-alkalmazások többsége, hogy apró kis nyomokat hagyjanak magukról a rendszerleíró adatbázisban? A hiba Windows-ra vagy a fejlesztőkre vonatkozik?

    Miért szokták rendszerint eltávolítani a rendszerleíró adatbázis értékeit a szoftver eltávolítása után?

    A válasz

    Lukas Rieger és Keltari SuperUser közreműködők válaszolnak nekünk. Először fel, Lukas Rieger:

    Mert lehetetlen. A rendszerleíró adatbázis több gyökércsomóponttal rendelkezik, de csak két érdekes: LocalMachine és CurrentUser. Általában a telepítés értékeket ír be a LocalMachine-be, és a futó program csak a CurrentUser-be íródik (valójában, kivéve, ha a telepítő a jogosultságokkal ütközik, a futó program nem tud LocalMachine-ba írni).

    Miközben a LocalMachine-ban a maradékokat lustaságnak tartják (amint azt a többi válasz is rámutat), nem lehetséges a CurrentUser rész tisztítása.

    Ha egy programot telepítünk egy gépre (ami a legtöbb), és több felhasználó használja azt, mi legyen az eltávolító? Biztonságosan eltávolíthatja az aktuális fiók felhasználói beállításait, de az aktuális fiók nem lehet a fiókja. Ez akkor fordul elő, ha az eltávolítót nem adminisztrátori fiókból indította el, majd beírta az adminisztrátori fiók hitelesítő adatait, a telepítés most a fiók alatt fut, nem az első.

    Mi van a többi felhasználóval? Megpróbálhatja felsorolni az összes felhasználót, de lehet, hogy a rendszerleíró kulcsok nincsenek betöltve (a Windows lusta, és csak a szükséges dolgokat tölti be).

    De azt sem szabad megpróbálni. Ha roamingprofilokat (azaz terminálszolgáltatásokat) használ, majd az eltávolításkor törli az összes beállítást, akkor tényleg elronthatja és törölheti a ténylegesen használatban lévő dolgokat. A terminálkiszolgáló alapvetően egy Windows-gép, ahol több felhasználó egyszerre jelentkezik be, és alkalmazásokat használ. Mondjuk, hogy két terminálkiszolgálón fut egy alkalmazás. Eltávolítja az alkalmazást a TS1-en, most minden felhasználó számára a TS2 minden beállítását elhagyta, mert barangolási profilja van. Hoppá.

    Ugyanez vonatkozik a felhasználókon belüli könyvtárak fájljaira is. Cégem programjainak beállításakor törlöm a gépen kívüli dolgokat, de ne érintsd meg a felhasználónevet, még akkor sem, ha a felhasználó futtatja a beállítást.

    Keltari válaszát követi:

    Sok oka van ennek, de ez nem a Microsoft vagy a Windows operációs rendszer hibája.

    Az alábbiakban felsoroljuk azokat az eseteket és okokat, amelyek miatt a rendszerleíró adatbázis bejegyzéseket hagyja hátra:

    Rossz programozás - A fejlesztő nem írta le megfelelően az alkalmazás eltávolítóját, és a rendszerleíró adatbázis bejegyzéseit hátrahagyja. Emellett előfordulhat, hogy az eltávolító nem használja / nem használja a megfelelő engedélyeket a rendszerleíró bejegyzések eltávolításához. Az is lehet, hogy több olyan alkalmazás létezik, amely ezeket a kulcsokat használja. Például két ugyanazon fejlesztőtől származó alkalmazás, amely ugyanazt a kulcsot írja.

    Balra a cél - Ahogy egy megjegyzés említette, ezeket a bejegyzéseket célszerűen hagyhatták. Néhány alkalmazás próbaidővel rendelkezik, és ezen időszak után eldöntheti az alkalmazás eltávolítását. Ha úgy dönt, hogy később telepíti újra az alkalmazást, ezek a gombok megadják az alkalmazás adatait a telepítéskor. Emellett egyes fejlesztők úgy dönthetnek, hogy elhagyják ezeket a kulcsokat abban az esetben, ha az alkalmazást újratelepítik. Ha a fejlesztő rendszerleíró kulcsokat használt a testreszabások tárolásához, akkor ott hagyhatják őket, hogy az alkalmazás újratelepítésekor az összes testreszabása továbbra is fennmaradjon. A dolgok nagy sémájában a rendszerleíró kulcsok csak néhány bájtot vesznek fel.

    Távolítsa el a kulcsokat? Attól függ. A Windows rendszerleíró adatbázis veszélyes hely, ahol behatolhat. Lehet véletlenül megszakítani a rendszert. Az idegen kulcsok elhagyása nem sérti a rendszert. Vannak, akik azt mondják, hogy a rendszerleíró adatbázis tisztítása / töredezettségmentesítése felgyorsítja a rendszert, de ez többször bizonyítottan hamis.

    Ha valóban szeretné megszabadulni a programoktól, akkor néhány eltávolítóeszköz eltávolíthat minden program nyomát. Ezek a programok egy másik program telepítőjét figyelik, és rögzítik az összes műveletet a fájlrendszerhez és a rendszerleíró adatbázishoz, majd teljesen eltávolítják ezeket a műveleteket. Ezeknek az eszközöknek az egyik problémája az, hogy lehetséges, hogy el tudják távolítani azokat a dolgokat, amelyeket érdemes megtartani.


    Van valami, amit hozzá kell adni a magyarázathoz? Kikapcsolja a megjegyzéseket. Szeretne további válaszokat olvasni más tech-savvy Stack Exchange felhasználóktól? Nézze meg a teljes beszélgetés szálát itt.