專利名稱:一種軟件卸載方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,尤其涉及一種軟件卸載方法及裝置。
背景技術(shù):
隨著計算機(jī)與互聯(lián)網(wǎng)技術(shù)的發(fā)展,各種應(yīng)用軟件也層出不窮。大部分的軟件在安裝時都非常容易和友好,但在卸載時,雖然基本都會提供一個自身的卸載程序,但有些軟件出于某種目的或自身的不規(guī)范,常常無法徹底的從用戶電腦中卸載刪除,并殘留下大量垃圾文件,甚至在注冊表中還遺留軟件信息。這些殘留的文件或數(shù)據(jù)可能是保留用戶自定義設(shè)置的文件,但也有可能是因為卸載程序不完善,而遺留的部分殘余文件或數(shù)據(jù),這為用戶造成了很大的困擾,同時也影響了計算機(jī)的性能。雖然目前有部分軟件在卸載后會提供一個需要手動刪除的提示,但對于廣大的普通用戶來說,并不會了解如何去手動刪除遺留文件,因此,如何提供一種完善的軟件卸載機(jī)制,已經(jīng)成為業(yè)界亟待解決的問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題在于提供一種軟件卸載方法及裝置,以克服現(xiàn)有技術(shù)中很難完全徹底的將軟件進(jìn)行卸載的問題。為解決上述技術(shù)問題,本發(fā)明提供一種軟件卸載方法,包括如下步驟針對客戶端已安裝的軟件,在客戶端中配置一個軟件安裝信息庫及一個卸載保護(hù)庫,其中,所述軟件安裝信息庫記載有已安裝軟件的安裝信息,包括軟件在安裝過程中所添加或修改的項目的位置信息;所述卸載保護(hù)庫中記載有對已安裝軟件的卸載保護(hù)條件;在偵測到用戶針對某款已安裝軟件執(zhí)行卸載操作時,在所述軟件安裝信息庫及卸載保護(hù)庫中查找該軟件的安裝信息及卸載保護(hù)條件,根據(jù)安裝信息定位應(yīng)清除的項目位置,如果判斷該項目的清除未觸發(fā)卸載保護(hù)條件,則執(zhí)行相應(yīng)的項目清除。本發(fā)明還提供一種軟件卸載裝置,包括配置模塊,用于針對客戶端已安裝的軟件,在客戶端中配置一個軟件安裝信息庫及一個卸載保護(hù)庫,其中,所述軟件安裝信息庫記載有已安裝軟件的安裝信息,包括軟件在安裝過程中所添加或修改的項目的位置信息;所述卸載保護(hù)庫中記載有對已安裝軟件的卸載保護(hù)條件;執(zhí)行模塊,用于在偵測到用戶針對某款已安裝軟件執(zhí)行卸載操作時,在所述軟件安裝信息庫及卸載保護(hù)庫中查找該軟件的安裝信息及卸載保護(hù)條件,根據(jù)安裝信息定位應(yīng)清除的項目位置,如果判斷該項目的清除未觸發(fā)卸載保護(hù)條件,則執(zhí)行相應(yīng)的項目清除。應(yīng)用本申請的實施例,既可以提高軟件卸載時的速度和效率,也可以增強(qiáng)軟件卸 載時的安全性和徹底性,很好的彌補(bǔ)現(xiàn)有軟件普遍存在的卸載缺陷,從卸載的方向上為用戶保證了操作系統(tǒng)的整潔,也利于操作系統(tǒng)的日常維護(hù)。本申請的實施例通過對殘留項目的清掃,也避免了部分惡意軟件常駐用戶系統(tǒng)的行為,并且,由于部分軟件會自動保留用戶私人數(shù)據(jù),通過本申請的技術(shù)方案,可以為用戶提供快速清除隱私文件的功能,在用戶隱私保護(hù)上起到了一定的保護(hù)作用。
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為根據(jù)本申請的實施例所述的軟件卸載方法流程圖。圖2為根據(jù)本申請另一實施例所述的軟件卸載方法流程圖。圖3為圖2的具體實施流程圖。圖4為根據(jù)本申請的實施例所述的軟件卸載裝置示意圖。圖5為根據(jù)本申請另一實施例所述的軟件卸載裝置示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。如圖I所示,為根據(jù)本申請實施例所述的軟件卸載方法流程圖,包括如下步驟 步驟101 :針對客戶端已安裝的軟件,在客戶端中配置一個軟件安裝信息庫及一個卸載保護(hù)庫,其中,所述軟件安裝信息庫記載有已安裝軟件的安裝信息,包括軟件在安裝過程中所添加或修改的項目的位置信息;所述卸載保護(hù)庫中記載有對已安裝軟件的卸載保護(hù)條件;步驟102 :在偵測到用戶針對某款已安裝軟件執(zhí)行卸載操作時,在所述軟件安裝信息庫及卸載保護(hù)庫中查找該軟件的安裝信息及卸載保護(hù)條件,根據(jù)安裝信息定位應(yīng)清除的項目位置,如果判斷該項目的清除未觸發(fā)卸載保護(hù)條件,則執(zhí)行相應(yīng)的項目清除。其中,在步驟101中所述的配置動作,可以是由服務(wù)器端根據(jù)客戶端定期上報的已安裝軟件列表而將對應(yīng)的軟件安裝信息更新至相應(yīng)的客戶端。而在服務(wù)器端,則可以針對裝機(jī)量比較大的軟件進(jìn)行事先分析,記錄其安裝信息,當(dāng)客戶端根據(jù)自身安裝的軟件請求其安裝信息時,由服務(wù)器端將對應(yīng)的軟件安裝信息發(fā)送至客戶端。所述卸載保護(hù)條件,包括特定安裝目錄下的文件數(shù)量及/或大小的限制。通過卸載保護(hù)庫提供的保護(hù)限制,可以防止用戶在卸載軟件的時候誤刪除文件,如針對某個軟件目錄下的文件數(shù)量區(qū)間規(guī)定,對用戶生成的一些記錄文件的路徑等。例如,可以規(guī)定某個軟件安裝文件夾下的文件應(yīng)該是在20-150之間,大小在50M內(nèi),如果超出這個范圍,則該目錄下文件有異常,可能有用戶自己保存的文檔,這樣就不會整體對文件夾進(jìn)行刪除,而是先過濾文件夾內(nèi)的文件,再有針對性的進(jìn)行刪除。所述卸載保護(hù)條件,還可以包括是否存在該軟件提供的下載文件保存位置,如果存在,則對該位置進(jìn)行保留。例如,考慮到某個軟件為用戶提供了下載功能,而當(dāng)卸載該軟件的時候,會先掃描出下載文件保存位置,并對該位置保留,在卸載完成后,提示用戶下載保存位置。上述卸載保護(hù)庫中的卸載保護(hù)條件,同樣是可以在服務(wù)器端通過對常規(guī)軟件的事先分析而獲得,并根據(jù)客戶端的請求而發(fā)送至客戶端。此外,根據(jù)本發(fā)明的實施例,在執(zhí)行上述卸載操作之前,還可以進(jìn)行另一種卸載方式,如圖2所示,在偵測到用戶針對某款已安裝軟件執(zhí)行卸載操作時,可首先執(zhí)行以下步驟步驟201 :在客戶端獲取待卸載軟件存在于該客戶端中的所有項目信息,并對所述項目信息進(jìn)行保存;步驟202 :調(diào)用所述待卸載軟件自身的卸載程序,執(zhí)行正常卸載流程;步驟203 :在所述正常卸載完成后,根據(jù)所述保存的項目信息判斷是否存在殘留 項目,如果存在,則清除所述殘留項目。在該實施例中,在卸載前會先針對待卸載軟件在終端進(jìn)行深度掃描分析,將該軟件的注冊表信息、程序源文件、運(yùn)行生成文檔等項目都檢測出來,并將項目的名稱及路徑等項目信息進(jìn)行保存。在現(xiàn)有的計算機(jī)主流配置下,這種軟件信息分析的時間會非常短暫,不會影響到用戶體驗。另一種方式是在軟件安裝時即對其安裝行為進(jìn)行監(jiān)測和記錄,并在該軟件后期執(zhí)行過程中對生成的文檔信息進(jìn)行記錄,由此也可獲知與該軟件有關(guān)的項目信息,但這種方式無疑會造成一定的存儲空間占用。還有一種方式是在服務(wù)器端通過事先分析該軟件的安裝行為而記錄生成一張該軟件的相關(guān)項目信息列表,并在客戶端請求時或定時發(fā)送到客戶端,由此也可獲知該軟件的項目信息。但該方式一方面是需要網(wǎng)絡(luò)環(huán)境,另一方面也只適用于一般的流行軟件,對于一些較為小眾的軟件,服務(wù)器端很難做到全面的事先分析,同時,也很難捕捉到軟件運(yùn)行生成的文檔等過程文件。而通過本地掃描的方式可以最為準(zhǔn)確的將待卸載軟件的項目信息檢測出來,同時將這些項目存在的路徑和名稱進(jìn)行暫時保存,以供后續(xù)比對所用。在獲取待卸載軟件的項目信息后,即可以調(diào)用該軟件自帶的卸載程序執(zhí)行正常的卸載流程。然后,當(dāng)軟件正常卸載完成后,通過事先保存的項目信息進(jìn)行殘余項目掃描比對,如果發(fā)現(xiàn)所述保存的項目已經(jīng)全部清除完畢,則說明未留下殘余項目,否則,則說明存在有未清除的項目,此時,可以提示用戶有殘留文件存在,還可以進(jìn)一步提供殘留項目的名稱和路徑,并提供一對應(yīng)的選擇框,以允許用戶選擇要清除的殘留項目強(qiáng)力清掃,方便用戶簡單的清掃掉所有殘余項目,也方便用戶有選擇的清除某些特定殘留項目。例如,對于某些過程文件,該軟件自帶的標(biāo)準(zhǔn)卸載程序可能無法獲知也無法執(zhí)行刪除,但通過本申請的技術(shù)方案,通過事先掃描獲取了有關(guān)文件的存在和位置,這時,可以根據(jù)事先的掃描記錄而找到該過程文件的位置并直接刪除。而對于某些注冊表信息的修改,也可以根據(jù)事先的掃描記錄而定位其位置并清理或還原。在清除掉全部殘余項目后,即可以將之前臨時保存的項目信息刪除了。下面可通過圖3的具體實施例對本申請做進(jìn)一步的理解。
首先,在步驟301中,掃描待卸載軟件的所有文件,獲得該軟件的文件信息;然后,在步驟302中,對文件信息進(jìn)行臨時保存;步驟303中,調(diào)用該軟件自身的卸載程序;步驟304中,執(zhí)行正常卸載流程,常規(guī)卸載完成;步驟305中,根據(jù)保存的文件信息再次掃描客戶端文件,判斷是否存在殘余文件;如果不存在,則執(zhí)行步驟306,全部卸載完成,確定無殘留文件;如果存在有殘留文件,則執(zhí)行步驟307,提供強(qiáng)力清掃功能;
步驟308中,清掃殘余文件,然后結(jié)束。在實踐中,可以將圖I所述卸載流程與圖2所述卸載流程結(jié)合應(yīng)用,即在偵測到用戶要卸載某款軟件時,可以首先執(zhí)行圖2所述的卸載流程,首先對該帶卸載軟件進(jìn)行現(xiàn)場掃描,獲得安裝信息,然后調(diào)用該軟件自帶的卸載程序進(jìn)行常規(guī)卸載,在常規(guī)卸載完成后再根據(jù)掃描獲得的安裝信息進(jìn)行再次掃描,判斷是否存在殘余項目,如果存在殘余項目,則對殘余項目進(jìn)行清除;但是,如果對有些較為頑固的殘余項目不能完全卸載成功時,或者懷疑仍有殘余項目存在時,可以再調(diào)用如圖I所示的卸載流程,根據(jù)事先配置的軟件安裝信息庫直接對安裝項目徹底進(jìn)行清除,同時,應(yīng)用卸載保護(hù)庫對清除動作進(jìn)行保護(hù)。當(dāng)然,相比較而言,上述相結(jié)合的卸載流程對軟件卸載操作來說更為安全穩(wěn)妥,但如果直接執(zhí)行圖I所示的卸載流程,則會更加節(jié)省卸載時間,提高卸載效率,對于大部分軟件都能在幾秒鐘內(nèi)瞬間徹底卸載,而對于無法卸載的惡意軟件,也會有較突出的清除效果,同時也節(jié)省了用戶的操作步驟,節(jié)省了普通卸載繁瑣的過程,為用戶提供了一鍵式的完美卸載、無殘留文件的良好體驗。同理,如圖4所示,根據(jù)本發(fā)明的實施例,還提供一種軟件卸載裝置,包括配置模塊401及執(zhí)行模塊402,其中配置模塊401,用于針對客戶端已安裝的軟件,在客戶端中配置一個軟件安裝信息庫及一個卸載保護(hù)庫,其中,所述軟件安裝信息庫記載有已安裝軟件的安裝信息,包括軟件在安裝過程中所添加或修改的項目的位置信息;所述卸載保護(hù)庫中記載有對已安裝軟件的卸載保護(hù)條件;執(zhí)行模塊402,用于在偵測到用戶針對某款已安裝軟件執(zhí)行卸載操作時,在所述軟件安裝信息庫及卸載保護(hù)庫中查找該軟件的安裝信息及卸載保護(hù)條件,根據(jù)安裝信息定位應(yīng)清除的項目位置,如果判斷該項目的清除未觸發(fā)卸載保護(hù)條件,則執(zhí)行相應(yīng)的項目清除。所述配置模塊401獲得的軟件安裝信息,由服務(wù)器端根據(jù)客戶端定期上報的已安裝軟件列表而將對應(yīng)的軟件安裝信息更新至相應(yīng)的客戶端。請參考圖5,為根據(jù)本申請實施例提供的另一軟件卸載裝置示意圖,包括獲取模塊501、卸載模塊502及清除模塊503,其中獲取模塊501,用于在偵測到用戶針對某款已安裝軟件執(zhí)行卸載操作時,首先在客戶端掃描獲取待卸載軟件存在于該客戶端中的所有項目信息,并對所述項目信息進(jìn)行保存;卸載模塊502,用于在對獲取的項目信息進(jìn)行保存后,調(diào)用所述待卸載軟件自身的卸載程序,執(zhí)行正常卸載流程;清除模塊503,用于在所述正常卸載完成后,根據(jù)所述保存的項目信息判斷是否存在殘留項目,如果存在,則清除所述殘留項目。其中,所述獲取模塊501,可通過在所述客戶端進(jìn)行掃描,獲取與待卸載軟件有關(guān)的所有項目信息。此 外,如圖5所示,還可以進(jìn)一步包括刪除模塊504,用于刪除所述保存的項目信息。
所述待卸載軟件存在于該客戶端的所有項目信息,可以包括該軟件的注冊表信息、程序源文件、運(yùn)行生成文檔。所述獲取模塊501,可以保存所述項目的名稱及路徑。所述清除模塊503,可以向用戶提示存在殘留項目,并根據(jù)用戶的選擇刪除相應(yīng)的殘留項目。所述清除模塊503,還可以向用戶提示殘留項目的名稱和路徑,并提供一對應(yīng)的選擇框,以允許用戶選擇要清除的殘留項目。上述裝置實施例的各部分運(yùn)作細(xì)節(jié)與有益效果與本申請所述方法實施例的相應(yīng)部分類似,在此不作贅述。本說明書中的各個實施例均采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。本申請可以在由計算機(jī)執(zhí)行的計算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機(jī)存儲介質(zhì)中。最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設(shè)備中還存在另外的相同要素。以上對本申請的實施例進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本申請的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。
權(quán)利要求
1.一種軟件卸載方法,其特征在于,包括如下步驟 針對客戶端已安裝的軟件,在客戶端中配置一個軟件安裝信息庫及一個卸載保護(hù)庫,其中,所述軟件安裝信息庫記載有已安裝軟件的安裝信息,包括軟件在安裝過程中所添加或修改的項目的位置信息;所述卸載保護(hù)庫中記載有對已安裝軟件的卸載保護(hù)條件; 在偵測到用戶針對某款已安裝軟件執(zhí)行卸載操作時,在所述軟件安裝信息庫及卸載保護(hù)庫中查找該軟件的安裝信息及卸載保護(hù)條件,根據(jù)安裝信息定位應(yīng)清除的項目位置,如果判斷該項目的清除未觸發(fā)卸載保護(hù)條件,則執(zhí)行相應(yīng)的項目清除。
2.如權(quán)利要求I所述的方法,其特征在于,所述配置步驟,包括由服務(wù)器端根據(jù)客戶端定期上報的已安裝軟件列表而將對應(yīng)的軟件安裝信息更新至相應(yīng)的客戶端。
3.如權(quán)利要求I所述的方法,其特征在于,所述卸載保護(hù)條件,包括特定安裝目錄下的文件數(shù)量及/或大小的限制。
4.如權(quán)利要求I所述的方法,其特征在于,所述卸載保護(hù)條件,包括是否存在該軟件提供的下載文件保存位置,如果存在,則對該位置進(jìn)行保留。
5.如權(quán)利要求I所述的方法,其特征在于,在偵測到用戶針對某款已安裝軟件執(zhí)行卸載操作時,進(jìn)一步包括首先執(zhí)行以下步驟 在客戶端獲取待卸載軟件存在于該客戶端中的所有項目信息,并對所述項目信息進(jìn)行保存; 調(diào)用所述待卸載軟件自身的卸載程序,執(zhí)行正常卸載流程; 在所述正常卸載完成后,根據(jù)所述保存的項目信息判斷是否存在殘留項目,如果存在,則清除所述殘留項目。
6.如權(quán)利要求5所述的方法,其特征在于,所述獲取待卸載軟件存在于該客戶端中的所有項目信息的步驟,包括在所述客戶端進(jìn)行掃描,獲取與待卸載軟件有關(guān)的所有項目信息。
7.如權(quán)利要求5所述的方法,其特征在于,進(jìn)一步包括步驟刪除所述保存的項目信息。
8.一種軟件卸載裝置,其特征在于,包括 配置模塊,用于針對客戶端已安裝的軟件,在客戶端中配置一個軟件安裝信息庫及一個卸載保護(hù)庫,其中,所述軟件安裝信息庫記載有已安裝軟件的安裝信息,包括軟件在安裝過程中所添加或修改的項目的位置信息;所述卸載保護(hù)庫中記載有對已安裝軟件的卸載保護(hù)條件; 執(zhí)行模塊,用于在偵測到用戶針對某款已安裝軟件執(zhí)行卸載操作時,在所述軟件安裝信息庫及卸載保護(hù)庫中查找該軟件的安裝信息及卸載保護(hù)條件,根據(jù)安裝信息定位應(yīng)清除的項目位置,如果判斷該項目的清除未觸發(fā)卸載保護(hù)條件,則執(zhí)行相應(yīng)的項目清除。
9.如權(quán)利要求8所述的裝置,其特征在于,所述配置模塊獲得的軟件安裝信息,由服務(wù)器端根據(jù)客戶端定期上報的已安裝軟件列表而將對應(yīng)的軟件安裝信息更新至相應(yīng)的客戶端。
10.如權(quán)利要求8所述的裝置,其特征在于,所述卸載保護(hù)條件,包括特定安裝目錄下的文件數(shù)量及/或大小的限制。
11.如權(quán)利要求8所述的裝置,其特征在于,所述卸載保護(hù)條件,包括是否存在該軟件提供的下載文件保存位置,如果存在,則對該位置進(jìn)行保留。
12.如權(quán)利要求8所述的裝置,其特征在于,進(jìn)一步包括 獲取模塊,用于在偵測到用戶針對某款已安裝軟件執(zhí)行卸載操作時,首先在客戶端掃描獲取待卸載軟件存在于該客戶端中的所有項目信息,并對所述項目信息進(jìn)行保存; 卸載模塊,用于在對獲取的項目信息進(jìn)行保存后,調(diào)用所述待卸載軟件自身的卸載程序,執(zhí)行正常卸載流程; 清除模塊,用于在所述正常卸載完成后,根據(jù)所述保存的項目信息判斷是否存在殘留項目,如果存在,則清除所述殘留項目。
13.如權(quán)利要求12所述的裝置,其特征在于,所述獲取模塊,用于在所述客戶端進(jìn)行掃描,獲取與待卸載軟件有關(guān)的所有項目信息。
14.如權(quán)利要求12所述的裝置,其特征在于,進(jìn)一步包括刪除模塊,用于刪除所述保存的項目信息。
全文摘要
本發(fā)明公開了一種軟件卸載方法及裝置,所述方法包括針對客戶端已安裝的軟件,在客戶端中配置一個軟件安裝信息庫及一個卸載保護(hù)庫,其中,所述軟件安裝信息庫記載有已安裝軟件的安裝信息,包括軟件在安裝過程中所添加或修改的項目的位置信息;所述卸載保護(hù)庫中記載有對已安裝軟件的卸載保護(hù)條件;在偵測到用戶針對某款已安裝軟件執(zhí)行卸載操作時,在所述軟件安裝信息庫及卸載保護(hù)庫中查找該軟件的安裝信息及卸載保護(hù)條件,根據(jù)安裝信息定位應(yīng)清除的項目位置,如果判斷該項目的清除未觸發(fā)卸載保護(hù)條件,則執(zhí)行相應(yīng)的項目清除。本發(fā)明很好的彌補(bǔ)現(xiàn)有軟件普遍存在的卸載缺陷。
文檔編號G06F9/44GK102662667SQ20121009247
公開日2012年9月12日 申請日期2012年3月31日 優(yōu)先權(quán)日2012年3月31日
發(fā)明者浦欣, 鄧鵬 申請人:奇智軟件(北京)有限公司