題 在Windows PC上卸載應用程序時,使用第三方卸載程序的原因是什麼?


每當我從Windows 7 PC卸載應用程序或程序時,我總是轉到控制面板並使用Windows中的內置實用程序來完成此操作,然後重新啟動PC。

因此,是否有理由使用免費軟件第三方卸載程序,例如 雷沃,執行相同的任務,可能實際上弊大於利(如果一個人不小心)?


7
2017-09-23 10:47


起源




答案:


我不知道它會有什麼好處,添加/刪除程序或appwiz.cpl中的所有內容都在註冊表中 HKLM \ SOFTWARE \微軟\的Windows \ CurrentVersion \卸載 作為一個子項。

enter image description here

MSI安裝程序以格式編寫其GUID {AFF7153F-C4AA-4C48-AEE9-8611D276CE86}

這不是一個真正的問題,就像閱讀鑰匙一樣困難。有幾種方法可以閱讀這些內容。一,有一個Value Name DisplayName,它具有更友好的值(在本例中)是用於Active Directory的Quest ActiveRoles管理外殼(x64)。

另一種方法是Windows將GUID的“壓縮和散列”版本寫入註冊表的另一部分。

要散列該值,請使用GUID {AFF7153F-C4AA-4C48-AEE9-8611D276CE86}並反轉每組十六進制值。 AFF7153F變為F3517FFA,C4AA變為AA4C並在GUID上向下,直到您有以下內容: {F3517FFA-C4AA-84C4-9EEA-68EC672D1168}

現在,刪除{, - 和}來獲取 F3517FFAC4AA84C49EEA68EC672D1168 您現在擁有可以與另一個鍵進行比較的壓縮和散列GUID。

您現在應該能夠在註冊表中的以下位置找到此新GUID: HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes下\安裝\產品

enter image description here

從本質上講,所有從appwiz.cpl或Add / remove程序卸載都會調用卸載字符串HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall,您可以在命令提示符下輕鬆複製此命令並獲得相同的結果。

對於第三方卸載程序聲稱要刪除的孤立文件,我不會接受風險盡可能低的收益。通常留下的是無關緊要的,帶有許可證信息或密鑰的註冊表項,或者 C:\ Program Files \ ApplicationName 我可以輕鬆刪除自己的文件夾。我已經看到應用程序試圖擦除共享的dll文件,我會擔心像Reno捕獲對共享dll的引用並為我清理它,打破另一個安裝。


10
2017-09-23 11:13



好詳細解釋:) - Lorenzo Von Matterhorn
@LorenzoVonMatterhorn謝謝,這些實際上來自於我在使用C#工具枚舉遠程計算機安裝的應用程序時的一段時間。 - Austin T French
@AthomSfere欣賞你的答案的技術性,以加強洛倫佐所說的話(即使我不完全理解它恕我直言)。有趣的是看看是否有人在這里為第三方卸載者辯護(並翻轉硬幣 - 可以這麼說)。 - Simon
@AthomSfere我忘了添加thankyou以供您參考孤立文件。 - Simon


第三方unistallers遵循與註冊表清潔工相同的理念 - 不要使用它們。

它們很容易用兩個詞來形容:蛇油。

在真實的IT環境中,它們的使用並不是因為它們就是蛇油 - 並且容易造成比解決問題更多的麻煩。


4
2017-09-23 10:55



只是為了澄清你總是使用內置的實用程序,但也不可能有時會遺留例如孤立或obselete文件的碎片? - Simon
有可能的。但是,我們無法預測軟件將嘗試卸載的內容。 - Lorenzo Von Matterhorn
顯然,安全比抱歉更好。 - Simon
@Simon - Revo沒有做任何事情,運行默認的卸載程序無法做到。 - Ramhound
@Ramhound是的,如果它們確實類似於註冊表清理工具,我當然不想弄亂註冊表(可能導致無法預料的問題)。 - Simon