Laman » bagaimana untuk » Mengapa Pengeluaran Perisian Normal Gagal Hapus Semua Nilai Berkaitan dari Pendaftaran?

    Mengapa Pengeluaran Perisian Normal Gagal Hapus Semua Nilai Berkaitan dari Pendaftaran?

    Apabila anda menyahpasang program, itu adalah jangkaan "munasabah" bahawa semua jejaknya akan dikeluarkan dari sistem anda, tetapi itu tidak selalunya berlaku. Kenapa begitu? Siaran Q & A SuperUser hari ini mempunyai jawapan kepada soalan pembaca yang ingin tahu.

    Sesi Soalan & Jawapan hari ini datang kepada kami dengan ihsan SuperUser-bahagian pembahagian Stack Exchange, kumpulan yang diketuai oleh komuniti laman web Q & A.

    Petikan skrin wandersick (Flickr).

    Soalan

    Pembaca SuperUser Mark Boulder ingin tahu mengapa beberapa nilai registri sentiasa kekal selepas pemasangan perisian biasa:

    Memperluas topik SuperUser Bagaimana saya mengeluarkan jejak sisa perisian yang tidak dipasang dari registri, mengapa setiap kali saya menyahpasang program dan kemudian melihatnya melalui RegEdit, masih ada?

    Mengapa majoriti aplikasi Windows berniat untuk meninggalkan jejak kecil dalam diri mereka dalam pendaftaran? Adakah kesalahan terletak pada Windows atau dengan pemaju?

    Mengapa nilai pendaftaran biasanya "tertinggal" selepas biasanya menyahpasang perisian?

    Jawapan

    Penyumbang SuperUser Lukas Rieger dan Keltari mempunyai jawapan untuk kami. Pertama, Lukas Rieger:

    Kerana itu mustahil. Pendaftaran mempunyai beberapa nod akar tetapi hanya dua yang menarik: LocalMachine dan CurrentUser. Secara umumnya, persediaan menulis nilai-nilai ke dalam LocalMachine, dan program berjalan hanya menulis ke CurrentUser (sebenarnya, melainkan jika persediaan merosakkan dengan kebenaran, program yang berjalan tidak dapat menulis ke LocalMachine).

    Semasa menyimpan sisa di LocalMachine adalah kemalasan (seperti yang ditunjukkan oleh jawapan yang lain), tidak mungkin untuk membersihkan bahagian CurrentUser.

    Sekiranya program dipasang bagi setiap mesin (yang mana kebanyakannya) dan banyak pengguna menggunakannya, apa yang harus dilakukan oleh pencuci mulut? Ia boleh mengalih keluar tetapan pengguna akaun semasa dengan selamat, tetapi akaun semasa mungkin tidak menjadi akaun anda. Ini berlaku jika anda memulakan penyahpasang dari akaun bukan admin dan kemudian memasuki kelayakan akaun admin, persediaan kini berjalan di bawah akaun itu, bukan yang pertama.

    Bagaimana dengan pengguna lain? Ia boleh cuba menghitung semua pengguna, tetapi kekunci registri mereka mungkin tidak dimuatkan (Windows malas dan hanya memuatkan perkara-perkara yang diperlukan).

    Tetapi anda tidak perlu mencubanya. Sekiranya anda menggunakan profil perayauan (iaitu perkhidmatan terminal) dan kemudian memadam semua tetapan untuk menyahpasang, anda benar-benar boleh merosakkan dan memadam perkara yang sebenarnya masih digunakan. Pelayan terminal pada asasnya satu mesin Windows di mana banyak pengguna log masuk pada masa yang sama dan menggunakan aplikasi. Katakan anda mempunyai dua pelayan terminal yang menjalankan satu aplikasi. Anda menyahpasang aplikasi di TS1, kini semua tetapan untuk semua pengguna telah pergi ke TS2 kerana anda mempunyai profil perayauan. Oops.

    Perkara yang sama juga digunakan untuk fail dalam direktori per-pengguna. Dalam persediaan program syarikat saya, saya memadamkan barangan per-mesin tetapi tidak menyentuh barang-barang per-pengguna, tidak ada pengguna yang sedang menjalankan persediaan.

    Diikuti dengan jawapan dari Keltari:

    Terdapat banyak sebab mengapa ini berlaku, bagaimanapun, bukan salahnya Microsoft atau sistem operasi Windows.

    Berikut adalah senarai beberapa kes dan sebab-sebab mengapa entri pendaftaran ditinggalkan:

    Pemrograman yang buruk - Pemaju tidak menulis penyahpasang aplikasi dengan betul dan penyertaan pendaftaran ditinggalkan. Selain itu, uninstaller mungkin tidak mempunyai / menggunakan kebenaran yang betul untuk menghapus entri pendaftaran. Ia juga mungkin terdapat lebih daripada satu aplikasi yang menggunakan kunci tersebut. Sebagai contoh, dua aplikasi dari pemaju yang sama yang menulis kepada kunci yang sama.

    Kiri Pada Tujuan - Seperti yang dinyatakan oleh satu komen, penyertaan ini boleh ditinggalkan dengan tujuan. Sesetengah aplikasi mempunyai tempoh percubaan dan, selepas tempoh itu, anda mungkin memilih untuk membuang aplikasi itu. Sekiranya anda memilih untuk memasang semula aplikasi kemudian, kunci tersebut memberikan maklumat aplikasi apabila ia dipasang. Di samping itu, sesetengah pemaju mungkin memilih untuk meninggalkan kunci tersebut sekiranya anda memilih untuk memasang semula aplikasi itu. Jika pemaju menggunakan kunci pendaftaran untuk menyimpan penyesuaian anda, mereka mungkin meninggalkannya di sana supaya apabila anda memasang semula aplikasi itu, semua penyesuaian anda tetap berlaku. Dalam skema besar perkara, kunci registri hanya mengambil beberapa bait.

    Sekiranya anda mengeluarkan kunci? Itu bergantung. Pendaftaran Windows adalah tempat yang berbahaya untuk mengelirukan. Anda secara tidak sengaja boleh memecahkan sistem anda. Meninggalkan kunci luaran tidak akan menyakiti sistem. Sesetengah orang akan mengatakan pembersihan / defragging pendaftaran akan mempercepatkan sistem anda, tetapi itu telah terbukti palsu berulang kali.

    Sekiranya anda benar-benar ingin menyingkirkan program tersebut, terdapat beberapa alat pencuci yang boleh mengeluarkan setiap jejak program. Program-program ini akan menyaksikan pemasang program lain dan merekodkan semua tindakan yang dilakukan kepada sistem fail dan pendaftaran, kemudian menghapuskan tindakan tersebut sepenuhnya. Satu isu dengan alat-alat ini adalah bahawa mereka mungkin boleh menghapus perkara yang mungkin anda simpan.


    Mempunyai sesuatu untuk menambah penjelasannya? Bunyi dalam komen. Ingin membaca lebih banyak jawapan dari pengguna Stack Exchange yang berteknologi tinggi? Lihat thread perbincangan penuh di sini.