專利名稱:一種強(qiáng)力卸載軟件的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件卸載技術(shù)領(lǐng)域,尤其涉及一種強(qiáng)力卸載軟件的方法和系統(tǒng)。
技術(shù)背景
隨著計(jì)算機(jī)與互聯(lián)網(wǎng)技術(shù)的發(fā)展,各種應(yīng)用軟件也層出不窮。大部分的軟件在安 裝時(shí)都非常容易和友好,但在卸載時(shí),有些軟件出于某種目的或自身的不規(guī)范,常常無(wú)法徹 底的從用戶電腦中卸載刪除,并殘留下大量垃圾文件,為用戶造成了很大的困擾,同時(shí)也影 響了計(jì)算機(jī)的性能。
而解決此一問(wèn)題的方法,目前只能因軟件類型而異。由于每款軟件都有其自身的 編寫特點(diǎn)和安裝過(guò)程,因此其殘留文件的方式和位置也各不相同,這就導(dǎo)致了解決此問(wèn)題 的方式大都相當(dāng)個(gè)性化。例如,針對(duì)某款軟件的卸載殘留問(wèn)題,有人總結(jié)出,可先進(jìn)入安全 模式,然后進(jìn)入注冊(cè)表,查看特定的鍵值,之后再刪除特定的安裝目錄;而對(duì)于另一款軟件 的殘留,則需要在命令行中執(zhí)行特定的命令。但是這些方式,不僅需要對(duì)計(jì)算機(jī)知識(shí)具有相 當(dāng)?shù)牧私?,而且一旦稍有失誤,就會(huì)對(duì)計(jì)算機(jī)的運(yùn)行或安全造成極大的損害。
總之,目前對(duì)于無(wú)法徹底從用戶電腦中卸載的軟件,缺乏一種簡(jiǎn)單、統(tǒng)一的解決之 道,尤其對(duì)于那些對(duì)電腦的使用不是特別熟練的用戶來(lái)說(shuō),不僅對(duì)于常規(guī)卸載過(guò)程中的層 層選擇感到茫然和畏懼,尤其對(duì)那些不能完全卸載刪除的軟件,更是素手無(wú)策。
因此,如何提供一種強(qiáng)力卸載軟件的方法和系統(tǒng),使用戶可簡(jiǎn)便、徹底的卸載軟 件,已經(jīng)成為業(yè)界亟待解決的問(wèn)題。發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題在于提供一種強(qiáng)力卸載軟件的方法和系統(tǒng),以使用戶 簡(jiǎn)便、徹底的卸載本機(jī)安裝軟件。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種強(qiáng)力卸載軟件的方法,包括如下步驟
在客戶端檢測(cè)本機(jī)已安裝的軟件,包括軟件名稱及版本信息,為每款已安裝軟件 提供對(duì)應(yīng)的卸載提示;
當(dāng)偵測(cè)到用戶根據(jù)所述卸載提示選擇了某款軟件的卸載操作后,根據(jù)該軟件的名 稱和版本,從數(shù)據(jù)文件中獲得預(yù)置的與該軟件對(duì)應(yīng)的安裝信息,所述安裝信息包括該軟件 在安裝過(guò)程中添加的文件,以及對(duì)注冊(cè)表和/或系統(tǒng)文件的修改;
根據(jù)所述對(duì)應(yīng)的安裝信息,將該軟件在安裝過(guò)程中添加的文件以及對(duì)注冊(cè)表和/ 或系統(tǒng)文件的修改進(jìn)行刪除或恢復(fù)。
本發(fā)明進(jìn)而還提供一種強(qiáng)力卸載軟件的系統(tǒng),包括
數(shù)據(jù)模塊,用于存儲(chǔ)不同軟件的安裝信息,所述安裝信息包括軟件名稱及版本,添 加的文件,以及對(duì)注冊(cè)表和/或系統(tǒng)文件的修改;
檢測(cè)模塊,用于在客戶端檢測(cè)本機(jī)已安裝的軟件,包括軟件名稱和版本信息,為每 款已安裝軟件提供對(duì)應(yīng)的卸載提示;
偵測(cè)模塊,用于偵測(cè)用戶是否根據(jù)所述卸載提示選擇了某款軟件的卸載操作;
信息獲取模塊,用于當(dāng)偵測(cè)到用戶根據(jù)所述卸載提示選擇了某款軟件的卸載操作 后,根據(jù)該軟件的名稱和版本,從數(shù)據(jù)模塊中獲得與該軟件對(duì)應(yīng)的安裝信息;
卸載模塊,用于根據(jù)該對(duì)應(yīng)的安裝信息,將該軟件在安裝過(guò)程中添加的文件以及 對(duì)注冊(cè)表和/或系統(tǒng)文件的修改進(jìn)行刪除或恢復(fù)。
其中,所述數(shù)據(jù)模塊可以位于客戶端本機(jī)或遠(yuǎn)程服務(wù)器。
本發(fā)明無(wú)需占用過(guò)多客戶端資源,也無(wú)需用戶針對(duì)不同軟件執(zhí)行不同的卸載操 作,為用戶提供了一種簡(jiǎn)便、統(tǒng)一而且徹底的軟件卸載機(jī)制。本發(fā)明不僅適用于桌面計(jì)算機(jī) 終端,而且也適用于手機(jī)等其他移動(dòng)客戶端。
圖1為根據(jù)本發(fā)明實(shí)施例所述的強(qiáng)力卸載軟件的方法流程圖。
圖2為根據(jù)本發(fā)明實(shí)施例所述的強(qiáng)力卸載軟件的系統(tǒng)示意圖。
圖3為根據(jù)本發(fā)明實(shí)施例所述的卸載模塊的結(jié)構(gòu)示意圖。
圖4為根據(jù)本發(fā)明另一實(shí)施例所述的卸載模塊的結(jié)構(gòu)示意圖。
圖5為根據(jù)本發(fā)明又一實(shí)施例所述的卸載模塊的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖,對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。
如圖1所示,為根據(jù)本發(fā)明實(shí)施例所述的強(qiáng)力卸載軟件的方法流程圖,首先在客 戶端檢測(cè)本機(jī)已安裝的軟件,包括軟件名稱及版本信息,為每款已安裝軟件提供對(duì)應(yīng)的卸 載提示(步驟101);當(dāng)偵測(cè)到用戶根據(jù)所述卸載提示選擇了某款軟件的卸載操作后,根據(jù) 該軟件的名稱和版本,從數(shù)據(jù)文件中獲得預(yù)置的與該軟件對(duì)應(yīng)的安裝信息,所述安裝信息 包括該軟件在安裝過(guò)程中添加的文件,以及對(duì)注冊(cè)表和/或系統(tǒng)文件的修改(步驟102); 之后根據(jù)所述對(duì)應(yīng)的安裝信息,將該軟件在安裝過(guò)程中添加的文件以及對(duì)注冊(cè)表和/或系 統(tǒng)文件的修改進(jìn)行刪除或恢復(fù)(步驟103)。
所述數(shù)據(jù)文件可以是數(shù)據(jù)庫(kù)的形式,也可以是列表或文本等信息格式。根據(jù)本發(fā) 明的實(shí)施例,數(shù)據(jù)文件可以是位于客戶端本機(jī),也可以位于遠(yuǎn)程服務(wù)器。下面是以數(shù)據(jù)庫(kù)形 式進(jìn)行實(shí)例說(shuō)明。
客戶端軟件的安裝過(guò)程,是可以通過(guò)一個(gè)長(zhǎng)期駐留在客戶端機(jī)器中的程序來(lái)監(jiān)測(cè) 的,將軟件安裝行為一一記錄下來(lái),但這種方式占用了客戶端的資源,會(huì)影響用戶體驗(yàn),因 此,本發(fā)明優(yōu)選采用的方式是事先對(duì)軟件的安裝過(guò)程進(jìn)行模擬和分析后,確定出該軟件的 安裝信息,并將該安裝信息存儲(chǔ)于一數(shù)據(jù)庫(kù)中。
所述安裝信息的確定,可以包括例如該軟件是否是強(qiáng)制安裝于C盤還是可選擇安 裝于其他盤符下,會(huì)建立怎樣的文件目錄和路徑,安裝過(guò)程會(huì)釋放哪些文件,對(duì)注冊(cè)表項(xiàng)或 系統(tǒng)文件進(jìn)行了哪些修改等,這些安裝信息都可以事先收集確定出來(lái)。之后,可以在服務(wù)器 端構(gòu)建一數(shù)據(jù)庫(kù),將不同軟件的安裝信息匯總存儲(chǔ)于數(shù)據(jù)庫(kù)中。
本發(fā)明并不干涉客戶端用戶的卸載選擇,如果用戶選擇直接通過(guò)軟件自身帶有的 卸載程序來(lái)執(zhí)行卸載也是可以的,但由于僅執(zhí)行這種常規(guī)卸載常常會(huì)發(fā)生卸載不徹底的情況,因此,本發(fā)明還是推薦用戶使用本發(fā)明的卸載方式進(jìn)行軟件卸載。
當(dāng)用戶選擇使用本發(fā)明提供的卸載方式進(jìn)行軟件卸載的時(shí)候,本發(fā)明會(huì)通過(guò)掃描 檢測(cè)出本機(jī)已經(jīng)安裝的軟件,優(yōu)選的,可進(jìn)一步列出一已安裝軟件的列表,并為每款已安裝 軟件提供一卸載提示,例如可以是一個(gè)按鈕,上面寫有“強(qiáng)力卸載”字樣。
接下來(lái),可偵測(cè)用戶是否按下了“強(qiáng)力卸載”按鈕,如果有對(duì)應(yīng)按鈕被選擇,則說(shuō)明 用戶希望卸載該軟件。但有些軟件在卸載時(shí),可能由于正在被其他程序所占用,因此可能導(dǎo) 致無(wú)法正常刪除,這也是導(dǎo)致無(wú)法徹底卸載軟件的一個(gè)重要原因之一。
針對(duì)這種情況,根據(jù)本發(fā)明的實(shí)施例,當(dāng)偵測(cè)到用戶選擇了某款軟件的卸載操作 后,可以通過(guò)執(zhí)行常規(guī)卸載過(guò)程來(lái)刪除有關(guān)文件,或直接進(jìn)行文件刪除,或先執(zhí)行常規(guī)卸載 再刪除殘留文件,不管采用哪種方式,在執(zhí)行刪除動(dòng)作之前,都可以首先判斷該軟件文件是 否正在被其他某個(gè)程序所占用,如果是,則解除該欲卸載的軟件文件與該占用程序之間的 鎖定。
關(guān)于解除鎖定的方式,可以是通過(guò)進(jìn)程掃描,強(qiáng)制關(guān)閉該占用程序,終止其進(jìn)程或 服務(wù)等方式實(shí)現(xiàn)。
當(dāng)解除了與占用程序之間的鎖定之后,即可正常刪除文件了,但具體應(yīng)該刪除哪 些文件,則需要根據(jù)與該軟件相對(duì)應(yīng)的安裝信息來(lái)確定。安裝信息中記載了該軟件在安裝 過(guò)程中曾經(jīng)釋放的文件,以及對(duì)注冊(cè)表和系統(tǒng)文件所作的修改,因此,只要按照安裝信息中 的記錄,執(zhí)行反安裝過(guò)程即可。
但有一個(gè)問(wèn)題應(yīng)該注意,安裝信息中,有些是固定的,例如對(duì)注冊(cè)表項(xiàng)的修改,但 有些是允許用戶選擇的,例如安裝盤符和目錄,對(duì)于允許用戶選擇的內(nèi)容,可以通過(guò)執(zhí)行一 個(gè)掃描搜索過(guò)程來(lái)確定在具體客戶端中具體的安裝位置,確定具體安裝位置以后即可進(jìn)行 文件的反安裝過(guò)程。當(dāng)然,也可以將可能的安裝文件目錄信息放入安裝信息中,并據(jù)此執(zhí)行 掃描過(guò)程。
如果數(shù)據(jù)庫(kù)位于遠(yuǎn)程服務(wù)器時(shí),客戶端從數(shù)據(jù)庫(kù)獲得安裝信息的方式,可以有多 種,例如,當(dāng)執(zhí)行卸載前,首先由客戶端向服務(wù)器請(qǐng)求與該軟件名稱和版本相對(duì)應(yīng)的安裝信 息;服務(wù)器收到該請(qǐng)求后,將該軟件的安裝信息發(fā)送至該客戶端。但這種方式要求客戶端在 執(zhí)行卸載時(shí)必須要與服務(wù)器端聯(lián)機(jī)在線,對(duì)當(dāng)時(shí)的使用環(huán)境有一些限制。
為此,根據(jù)本發(fā)明的另一個(gè)實(shí)施例,還可以是事先由客戶端定期將本機(jī)已安裝軟 件的名稱和版本信息告知服務(wù)器;服務(wù)器將與該客戶端已安裝軟件對(duì)應(yīng)的安裝信息發(fā)送至 客戶端存儲(chǔ)。這樣當(dāng)客戶端執(zhí)行卸載時(shí),即使未在線,也可以直接調(diào)出本機(jī)內(nèi)存儲(chǔ)的安裝信 肩、ο
當(dāng)然,在客戶端的信息存儲(chǔ)也可以是數(shù)據(jù)文件的形式,即相當(dāng)于數(shù)據(jù)文件位于客 戶端本機(jī)。
在獲得與該軟件對(duì)應(yīng)的安裝信息,并且確定了在本客戶端的具體安裝位置后,即 可將該軟件添加的文件及對(duì)注冊(cè)表和/或系統(tǒng)文件的修改進(jìn)行刪除或恢復(fù)。具體的執(zhí)行方 式有多種選擇,例如可以首先調(diào)用該軟件自帶的卸載程序,執(zhí)行常規(guī)卸載;在常規(guī)卸載完 成后,根據(jù)所述對(duì)應(yīng)的安裝信息搜索對(duì)應(yīng)位置,查詢是否存在殘余文件或注冊(cè)表項(xiàng),如果存 在,則將其直接刪除。
通過(guò)執(zhí)行常規(guī)卸載,雖然可以較為穩(wěn)妥的卸載軟件,但速度可能較慢,尤其是存在6殘余文件時(shí),還需要再次執(zhí)行搜索。因此,根據(jù)本發(fā)明的另一實(shí)施例,也可以不執(zhí)行常規(guī)卸 載,而是直接根據(jù)所述對(duì)應(yīng)的安裝信息,搜索可能涉及的安裝軟件的目錄和/或注冊(cè)表項(xiàng); 如果搜索到與所述安裝信息相匹配的內(nèi)容,則直接刪除或恢復(fù)。
在某些應(yīng)用環(huán)境中,例如一些手機(jī)的操作系統(tǒng),要求在執(zhí)行軟件卸載時(shí),必須要經(jīng) 過(guò)該軟件自帶的卸載程序才能完成,這雖然可以在一定程度上防止誤刪除軟件,但也給一 些惡意程序留下了可乘之機(jī)。例如,一些惡意程序篡改了應(yīng)用軟件自帶的卸載程序,導(dǎo)致一 旦運(yùn)行該卸載程序就又會(huì)觸發(fā)該惡意程序,從而無(wú)法徹底刪除病毒。針對(duì)這種情況,本發(fā)明 在執(zhí)行卸載時(shí),另提供一實(shí)施例首先將該軟件自帶的卸載程序刪除,并生成一個(gè)與原自帶 的卸載程序同名的新卸載程序,而該新卸載程序啟動(dòng)后并不執(zhí)行卸載動(dòng)作即退出,例如在 啟動(dòng)后不執(zhí)行任何動(dòng)作馬上就退出,這樣,操作系統(tǒng)就認(rèn)為已經(jīng)執(zhí)行過(guò)該軟件自帶的卸載 程序了 ;接著,在執(zhí)行完該新卸載程序后,再根據(jù)所述對(duì)應(yīng)的安裝信息,搜索可能涉及的安 裝軟件的目錄和/或注冊(cè)表項(xiàng);如果搜索到與所述安裝信息相匹配的內(nèi)容,則直接刪除或 恢復(fù)。
本發(fā)明所述的對(duì)軟件可能的安裝位置以及可能涉及的安裝軟件目錄及注冊(cè)表項(xiàng) 等信息的搜索,可以通過(guò)在各盤符下的“Program Files”文件夾,根目錄下,“Documents and Settings"文件夾等安裝文件經(jīng)常釋放文件或經(jīng)常被安裝文件修改的位置進(jìn)行搜索, 可用來(lái)匹配的信息可以包括該軟件的名稱,圖標(biāo),快捷方式,以及專屬于該軟件的特定文件^fn 息。
為了避免某些軟件對(duì)卸載或刪除所設(shè)置的特別保護(hù),例如需要輸入驗(yàn)證碼或需要 解鎖后才能執(zhí)行卸載或刪除等措施所造成的障礙,根據(jù)本發(fā)明的實(shí)施例,可以通過(guò)直接將 文件粉碎的方式強(qiáng)行并徹底的將其刪除,即在存儲(chǔ)所述欲刪除的文件內(nèi)容的數(shù)據(jù)區(qū)填充入 無(wú)用數(shù)據(jù),以覆蓋原數(shù)據(jù),并在目錄區(qū)將該文件狀態(tài)標(biāo)志設(shè)置為“刪除”。
而對(duì)于有些注冊(cè)表項(xiàng)的操作需要具有相應(yīng)的權(quán)限,因此,根據(jù)本發(fā)明的實(shí)施例,在 執(zhí)行對(duì)注冊(cè)表的修改進(jìn)行刪除或恢復(fù)之前,可首先自動(dòng)對(duì)注冊(cè)表的操作權(quán)限進(jìn)行變更,以 獲得完全控制權(quán)。例如,可將注冊(cè)表項(xiàng)操作權(quán)限中的“ everyone,,授予完全控制權(quán)。
通過(guò)上述強(qiáng)行刪除或修改的方式卸載軟件,有可能會(huì)造成某些不希望出現(xiàn)的結(jié) 果,針對(duì)這種情況,可通過(guò)分析其原因,確定矯正措施,將該措施體現(xiàn)在該軟件對(duì)應(yīng)的安裝 信息中,并存入數(shù)據(jù)庫(kù),以便有客戶端再次執(zhí)行該軟件卸載時(shí)不會(huì)出現(xiàn)類似結(jié)果。
與本發(fā)明的強(qiáng)力卸載方法相對(duì)應(yīng),本發(fā)明還提供一種強(qiáng)力卸載系統(tǒng),如圖2所示, 包括數(shù)據(jù)模塊201,檢測(cè)模塊202,偵測(cè)模塊203,信息獲取模塊204,卸載模塊205。其中
數(shù)據(jù)模塊201,可以位于客戶端本機(jī),也可以位于遠(yuǎn)程服務(wù)器,用于存儲(chǔ)不同軟件 的安裝信息,所述安裝信息可以通過(guò)對(duì)軟件的安裝過(guò)程進(jìn)行分析而確定,包括軟件名稱及 版本,添加的文件,以及對(duì)注冊(cè)表和/或系統(tǒng)文件的修改,還可以包括可能的安裝文件目錄 fn息;
檢測(cè)模塊202,用于在客戶端檢測(cè)本機(jī)已安裝的軟件,包括軟件名稱和版本信息, 為每款已安裝軟件提供對(duì)應(yīng)的卸載提示;
偵測(cè)模塊203,用于偵測(cè)用戶是否根據(jù)所述卸載提示選擇了某款軟件的卸載操 作;
信息獲取模塊204,用于當(dāng)偵測(cè)到用戶根據(jù)所述卸載提示選擇了某款軟件的卸載操作后,根據(jù)該軟件的名稱和版本,從數(shù)據(jù)模塊中獲得與該軟件對(duì)應(yīng)的安裝信息;
卸載模塊205,用于根據(jù)該對(duì)應(yīng)的安裝信息,將該軟件在安裝過(guò)程中添加的文件以 及對(duì)注冊(cè)表和/或系統(tǒng)文件的修改進(jìn)行刪除或恢復(fù)。
所述數(shù)據(jù)模塊可以是數(shù)據(jù)庫(kù)的形式,也可以是列表或文本等信息格式。根據(jù)本發(fā) 明的實(shí)施例,數(shù)據(jù)模塊可以是位于客戶端本機(jī),也可以位于遠(yuǎn)程服務(wù)器。下面是以數(shù)據(jù)庫(kù)形 式進(jìn)行實(shí)例說(shuō)明。
同樣,為了避免被卸載的程序或文件正被其他程序占用而可能導(dǎo)致的卸載失敗, 本發(fā)明所述的卸載模塊,在執(zhí)行卸載前,可以首先判斷該軟件文件是否正在被某個(gè)程序所 占用,如果是,則解除該欲卸載軟件與該占用程序之間的鎖定。解除鎖定可以采用掃描進(jìn) 程,關(guān)閉占用程序,終止其進(jìn)程或服務(wù)等方式。
同樣,卸載模塊205的卸載方式也可以有多種選擇。
如圖3所示,所述卸載模塊205,可以包括常規(guī)卸載單元301,及殘余刪除單元302, 其中
常規(guī)卸載單元301,用于執(zhí)行該軟件自帶的卸載程序,進(jìn)行常規(guī)卸載;
殘余刪除單元302,用于在常規(guī)卸載完成后,根據(jù)所述對(duì)應(yīng)的安裝信息查詢是否存 在殘余文件或注冊(cè)表項(xiàng),如果存在,則對(duì)應(yīng)刪除。
如圖4所示,所述卸載模塊205,還可以是包括搜索單元401,及執(zhí)行單元402,其 中
搜索單元401,用于根據(jù)所述對(duì)應(yīng)的安裝信息,搜索可能涉及的安裝軟件的目錄和 /或注冊(cè)表項(xiàng);
執(zhí)行單元402,用于當(dāng)搜索到與所述安裝信息相匹配的內(nèi)容后,執(zhí)行刪除或恢復(fù)。
如圖5所示,所述卸載模塊205,還可以是包括替換單元501,搜索單元502,執(zhí)行單 元503,其中
替換單元501,用于將該軟件自帶的卸載程序刪除,并生成一個(gè)與原自帶的卸載程 序同名的新卸載程序,所述新卸載程序啟動(dòng)后并不執(zhí)行卸載動(dòng)作即退出;
搜索單元502,用于在執(zhí)行該新卸載程序后,根據(jù)所述對(duì)應(yīng)的安裝信息,搜索可能 涉及的安裝軟件的目錄和/或注冊(cè)表項(xiàng);
執(zhí)行單元503,用于當(dāng)搜索到與所述安裝信息相匹配的內(nèi)容時(shí),對(duì)其執(zhí)行刪除或恢Μ. ο
所述卸載模塊在執(zhí)行刪除時(shí),可以在存儲(chǔ)所述欲刪除的文件內(nèi)容的數(shù)據(jù)區(qū)填充入 無(wú)用數(shù)據(jù),以覆蓋原數(shù)據(jù),并在目錄區(qū)將該文件狀態(tài)標(biāo)志設(shè)置為“刪除”,由此可以達(dá)到徹底 刪除的效果;而在執(zhí)行注冊(cè)表修改時(shí),可以首先對(duì)注冊(cè)表的操作權(quán)限進(jìn)行變更,以獲得完全 控制權(quán)。
本發(fā)明所述的強(qiáng)力卸載系統(tǒng)其他部分的具體運(yùn)作,與所述強(qiáng)力卸載方法的實(shí)施例 中介紹的實(shí)現(xiàn)細(xì)節(jié)相類似,在此不再贅述。
權(quán)利要求
1.一種強(qiáng)力卸載軟件的方法,其特征在于,包括如下步驟在客戶端檢測(cè)本機(jī)已安裝的軟件,包括軟件名稱及版本信息,為每款已安裝軟件提供 對(duì)應(yīng)的卸載提示;當(dāng)偵測(cè)到用戶根據(jù)所述卸載提示選擇了某款軟件的卸載操作后,根據(jù)該軟件的名稱和 版本,從數(shù)據(jù)文件中獲得預(yù)置的與該軟件對(duì)應(yīng)的安裝信息,所述安裝信息包括該軟件在安 裝過(guò)程中添加的文件,以及對(duì)注冊(cè)表和/或系統(tǒng)文件的修改;根據(jù)所述對(duì)應(yīng)的安裝信息,將該軟件在安裝過(guò)程中添加的文件以及對(duì)注冊(cè)表和/或系 統(tǒng)文件的修改進(jìn)行刪除或恢復(fù)。
2.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)文件位于客戶端本機(jī)或遠(yuǎn)程服務(wù)器。
3.如權(quán)利要求1所述的方法,其特征在于,在執(zhí)行所述刪除步驟之前,進(jìn)一步包括判斷該軟件文件是否正在被某個(gè)程序所占用;如果是,則解除該欲卸載軟件與該占用程序的鎖定。
4.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)該對(duì)應(yīng)的安裝信息,將該軟件添加 的文件及對(duì)注冊(cè)表和/或系統(tǒng)文件的修改進(jìn)行刪除或恢復(fù)的步驟,包括執(zhí)行該軟件自帶的卸載程序,執(zhí)行常規(guī)卸載;常規(guī)卸載完成后,根據(jù)所述對(duì)應(yīng)的安裝信息查詢是否存在殘余文件或注冊(cè)表項(xiàng),如果 存在,則對(duì)應(yīng)刪除。
5.如權(quán)利要求1所述的方法,其特征在于,所述安裝信息進(jìn)一步包括可能的安裝文件目錄信息。
6.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)該對(duì)應(yīng)的安裝信息,將該軟件添加 的文件及對(duì)注冊(cè)表和/或系統(tǒng)文件的修改進(jìn)行刪除或恢復(fù)的步驟,包括根據(jù)所述對(duì)應(yīng)的安裝信息,搜索可能涉及的安裝軟件的目錄和/或注冊(cè)表項(xiàng);如果搜索到與所述安裝信息相匹配的內(nèi)容,則直接刪除或恢復(fù)。
7.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)該對(duì)應(yīng)的安裝信息,將該軟件添加 的文件及對(duì)注冊(cè)表和/或系統(tǒng)文件的修改進(jìn)行刪除或恢復(fù)的步驟,包括將該軟件自帶的卸載程序刪除,并生成一個(gè)與原自帶的卸載程序同名的新卸載程序, 所述新卸載程序啟動(dòng)后并不執(zhí)行卸載動(dòng)作即退出;執(zhí)行該新卸載程序后,根據(jù)所述對(duì)應(yīng)的安裝信息,搜索可能涉及的安裝軟件的目錄和/ 或注冊(cè)表項(xiàng);如果搜索到與所述安裝信息相匹配的內(nèi)容,則直接刪除或恢復(fù)。
8.如權(quán)利要求1所述的方法,其特征在于,所述對(duì)文件進(jìn)行刪除的步驟,包括在存儲(chǔ)所述欲刪除的文件內(nèi)容的數(shù)據(jù)區(qū)填充入無(wú)用數(shù)據(jù),以覆蓋原數(shù)據(jù),并在目錄區(qū) 將該文件狀態(tài)標(biāo)志設(shè)置為“刪除”。
9.如權(quán)利要求1所述的方法,其特征在于,所述對(duì)注冊(cè)表的修改進(jìn)行刪除或恢復(fù)的步 驟,包括首先自動(dòng)對(duì)注冊(cè)表的操作權(quán)限進(jìn)行變更的步驟,以獲得完全控制權(quán)。
10.一種強(qiáng)力卸載軟件的系統(tǒng),其特征在于,包括數(shù)據(jù)模塊,用于存儲(chǔ)不同軟件的安裝信息,所述安裝信息包括軟件名稱及版本,添加的 文件,以及對(duì)注冊(cè)表和/或系統(tǒng)文件的修改;檢測(cè)模塊,用于在客戶端檢測(cè)本機(jī)已安裝的軟件,包括軟件名稱和版本信息,為每款已 安裝軟件提供對(duì)應(yīng)的卸載提示;偵測(cè)模塊,用于偵測(cè)用戶是否根據(jù)所述卸載提示選擇了某款軟件的卸載操作;信息獲取模塊,用于當(dāng)偵測(cè)到用戶根據(jù)所述卸載提示選擇了某款軟件的卸載操作后, 根據(jù)該軟件的名稱和版本,從數(shù)據(jù)模塊中獲得與該軟件對(duì)應(yīng)的安裝信息;卸載模塊,用于根據(jù)該對(duì)應(yīng)的安裝信息,將該軟件在安裝過(guò)程中添加的文件以及對(duì)注 冊(cè)表和/或系統(tǒng)文件的修改進(jìn)行刪除或恢復(fù)。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述數(shù)據(jù)模塊位于客戶端本機(jī)或遠(yuǎn)程服 務(wù)器。
12.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述卸載模塊,在執(zhí)行刪除前,首先判斷 該軟件文件是否正在被某個(gè)程序所占用,如果是,則解除該欲卸載軟件與該占用程序的鎖定。
13.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述卸載模塊,包括常規(guī)卸載單元,用于執(zhí)行該軟件自帶的卸載程序,進(jìn)行常規(guī)卸載;殘余刪除單元,用于在常規(guī)卸載完成后,根據(jù)所述對(duì)應(yīng)的安裝信息查詢是否存在殘余 文件或注冊(cè)表項(xiàng),如果存在,則對(duì)應(yīng)刪除。
14.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述安裝信息進(jìn)一步包括可能的安裝文 件目錄信息。
15.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述卸載模塊,包括搜索單元,用于根據(jù)所述對(duì)應(yīng)的安裝信息,搜索可能涉及的安裝軟件的目錄和/或注 冊(cè)表項(xiàng);執(zhí)行單元,用于當(dāng)搜索到與所述安裝信息相匹配的內(nèi)容后,執(zhí)行刪除或恢復(fù)。
16.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述卸載模塊,包括替換單元,用于將該軟件自帶的卸載程序刪除,并生成一個(gè)與原自帶的卸載程序同名 的新卸載程序,所述新卸載程序啟動(dòng)后并不執(zhí)行卸載動(dòng)作即退出;搜索單元,用于在執(zhí)行該新卸載程序后,根據(jù)所述對(duì)應(yīng)的安裝信息,搜索可能涉及的安 裝軟件的目錄和/或注冊(cè)表項(xiàng);執(zhí)行單元,用于當(dāng)搜索到與所述安裝信息相匹配的內(nèi)容時(shí),對(duì)其執(zhí)行刪除或恢復(fù)。
17.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述卸載模塊在執(zhí)行刪除時(shí),在存儲(chǔ)所述 欲刪除的文件內(nèi)容的數(shù)據(jù)區(qū)填充入無(wú)用數(shù)據(jù),以覆蓋原數(shù)據(jù),并在目錄區(qū)將該文件狀態(tài)標(biāo) 志設(shè)置為“刪除”。
全文摘要
本發(fā)明提供一種強(qiáng)力卸載軟件的方法及系統(tǒng),所述方法包括如下步驟在客戶端檢測(cè)本機(jī)已安裝的軟件,包括軟件名稱及版本信息,為每款已安裝軟件提供對(duì)應(yīng)的卸載提示;當(dāng)偵測(cè)到用戶根據(jù)所述卸載提示選擇了某款軟件的卸載操作后,根據(jù)該軟件的名稱和版本,從數(shù)據(jù)文件中獲得預(yù)置的與該軟件對(duì)應(yīng)的安裝信息,所述安裝信息包括該軟件在安裝過(guò)程中添加的文件,以及對(duì)注冊(cè)表和/或系統(tǒng)文件的修改;根據(jù)所述對(duì)應(yīng)的安裝信息,將該軟件在安裝過(guò)程中添加的文件以及對(duì)注冊(cè)表和/或系統(tǒng)文件的修改進(jìn)行刪除或恢復(fù)。本發(fā)明為用戶提供了一種簡(jiǎn)便、統(tǒng)一而且徹底的軟件卸載機(jī)制。
文檔編號(hào)G06F9/445GK102043655SQ201110005069
公開(kāi)日2011年5月4日 申請(qǐng)日期2011年1月4日 優(yōu)先權(quán)日2011年1月4日
發(fā)明者萬(wàn)立新, 卞松山, 歐勝, 黃禮強(qiáng) 申請(qǐng)人:奇智軟件(北京)有限公司