欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種軟件安裝的檢測方法和裝置的制作方法

文檔序號:7739547閱讀:118來源:國知局
專利名稱:一種軟件安裝的檢測方法和裝置的制作方法
技術領域
本發(fā)明涉及計算機技術領域,特別涉及一種軟件安裝的檢測方法和裝置。
背景技術
隨著計算機技術的發(fā)展,客戶端軟件越來越多,遍及即時通信、音視頻播放、資源 下載、網(wǎng)頁瀏覽、輸入法、系統(tǒng)輔助等各個門類。隨著互聯(lián)網(wǎng)的普及,客戶端軟件已經(jīng)從十年 前通過光盤分發(fā)為主的方式,轉變成通過網(wǎng)絡下載為主的方式,這大大方便了用戶獲取客 戶端軟件。同時,客戶端軟件的版本升級速度也從十年前的半年或者一年一次,變成了現(xiàn)如 今的每月一次甚至幾天一次??蛻舳塑浖母掳姹緯黾有鹿δ?,并解決舊版本中的缺 陷和漏洞,用戶使用最新版本可以體驗最新功能,并避免軟件的已知漏洞對電腦帶來的安 全威脅。因此,目前有軟件管理器相關的應用程序,可以讓用戶獲取已裝客戶端軟件的升級 版本。在軟件管理器中,一個基礎且核心的功能就是如何準確的檢測用戶機器上某一款軟 件是否安裝,并獲得其版本號,從而判斷該軟件是否需要升級等。
在現(xiàn)有技術中,軟件管理器可以利用如下技術進行軟件是否安裝的檢測例如圖 1所示的Windows的添加刪除程序中,各個已安裝的軟件及其版本信息都是從注冊表的
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ Uninstall HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall 下的鍵值掃描獲取的。參見圖2,掃描獲取到軟件名稱為QQ2009已安裝,且該軟件的版本為 1. 41. 1451. 0。 在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在以下缺點 由于現(xiàn)有技術中軟件安裝的檢測只會檢測注冊表的Uninstall節(jié)點下的軟件,對
于沒有正常注冊到系統(tǒng)中的軟件、或者注冊表信息被部分破壞、或者綠色軟件等都不能正
常的檢查;另外,注冊表Uninstall節(jié)點下軟件版本號的格式可能會不規(guī)范,不適合與軟件
升級版本的對比等,導致現(xiàn)有的軟件安裝的檢測技術方式單一、進而容易出現(xiàn)誤判、適應性
不好等問題。

發(fā)明內(nèi)容
為了準確地檢測出軟件是否已經(jīng)安裝到計算機中,本發(fā)明實施例提供了一種軟件 安裝的檢測方法和裝置。所述技術方案如下
—種軟件安裝的檢測方法,所述方法包括 在客戶端保存的檢測策略文件中獲得待檢測軟件及其對應的檢測策略,所述待檢 測軟件對應的檢測策略至少為一條; 根據(jù)所述待檢測軟件的檢測策略判定所述待檢測軟件是否已安裝。
所述檢測策略文件的獲得方法包括服務器為其搜集到的軟件分配的ID和配置
的檢測策略;將所述ID及其對應的檢測策略發(fā)送至所述客戶端;所述客戶端將接收到的ID
4
所述根據(jù)所述待檢測軟件的檢測策略判定所述待檢測軟件是否已安裝,具體包 括 根據(jù)所述待檢測軟件的檢測策略,檢測所述待檢測軟件的版本號;
如果檢測到所述待檢測軟件的版本號,則判定所述待檢測軟件已安裝;
如果未檢測到所述待檢測軟件的版本號,則判定所述待檢測軟件為未安裝。
所述檢測策略至少包括 獲得待檢測軟件的指定PE文件,從所述指定PE文件的屬性中獲得所述待檢測軟 件的版本號;
禾P/或 從注冊表中獲得所述待檢測軟件的版本號。
所述獲得待檢測軟件的指定PE文件,具體包括 通過注冊表獲取所述待檢測軟件的安裝路徑,并根據(jù)所述安裝路徑獲得所述待檢 測軟件的指定PE文件;
或 根據(jù)所述待檢測軟件的快捷方式獲得所述待檢測軟件的安裝路徑,并根據(jù)所述安 裝路徑獲得所述待檢測軟件的指定PE文件。 所述從注冊表中獲得所述待檢測軟件的版本號,具體包括 獲取注冊表中本地計算機和CurrentUser下的卸載節(jié)點的版本號的值。 當所述檢測策略為多條時,所述根據(jù)所述待檢測軟件的檢測策略,檢測所述待檢
測軟件的版本號,具體包括 在所述待檢測軟件的多條檢測策略中,獲得一條未被執(zhí)行過的檢測策略作為當前 檢測策略,并根據(jù)所述當前檢測策略檢測所述待檢測軟件的版本號; 如果無法獲得未被執(zhí)行過的檢測策略作為當前檢測策略,則檢測結果為未檢測到 所述待檢測軟件的版本號。 當判定所述待檢測軟件已安裝時,輸出所述版本號。
—種軟件安裝的檢測裝置,所述裝置包括 獲得模塊,用于在所述檢測裝置所在的客戶端保存的檢測策略文件中獲得待檢測
軟件及其對應的檢測策略,所述待檢測軟件對應的檢測策略至少為一條; 檢測模塊,用于根據(jù)所述獲得模塊獲得的所述待檢測軟件的檢測策略判定所述待
檢測軟件是否已安裝。 所述檢測裝置還包括 檢測策略文件獲得模塊,用于接收服務器下發(fā)的所述服務器為其搜集到的軟件分 配的ID和配置的檢測策略,并將其保存在檢測策略文件中。
所述檢測模塊具體包括 版本號檢測單元,用于根據(jù)所述獲得模塊獲得的所述待檢測軟件的檢測策略檢測 所述待檢測軟件的版本號; 判定單元,用于如果所述版本號檢測單元的檢測結果為檢測到所述待檢測軟件的 版本號,則判定所述待檢測軟件已安裝;如果所述版本號檢測單元的檢測結果為未檢測到所述待檢測軟件的版本號,則判定所述待檢測軟件為未安裝。
當所述檢測策略為多條時,所述版本號檢測單元包括 獲得子單元,用于在所述待檢測軟件的多條檢測策略中,獲得一條未被執(zhí)行過的 檢測策略作為當前檢測策略; 檢測子單元,用于根據(jù)所述獲得子單元獲得的當前檢測策略檢測所述待檢測軟件 的版本號; 判定子單元,用于如果所述獲得子單元無法獲得未被執(zhí)行過的檢測策略作為當前
檢測策略,則檢測結果為未檢測到所述待檢測軟件的版本號。 所述裝置還包括 輸出模塊,用于當所述判定單元判定所述待檢測軟件已安裝時,輸出所述檢測模 塊檢測到的版本號。 本發(fā)明實施例提供的技術方案帶來的有益效果是 通過服務器統(tǒng)一發(fā)送軟件及其對應的檢測策略給客戶端,并由客戶端保存在檢 測策略文件中,客戶端將檢測策略文件中記錄的每一個軟件作為待檢測軟件,按照檢測策 略文件中針對該待檢測軟件所提供的檢測策略進行檢測,用以判定該待檢測軟件是否已安 裝,可以提供準確、可靠的軟件安裝的檢測;同時,由服務器統(tǒng)一發(fā)送軟件及其對應的檢測 策略給客戶端,一個服務器可以為多個客戶端發(fā)送上述信息,省去了客戶端自行配置的時 間,提高了軟件安裝的檢測效率,避免了資源的浪費。


圖1是現(xiàn)有技術中Windows的添加刪除程序的示意圖; 圖2是現(xiàn)有技術中Windows的添加刪除程序的掃描位置的示意圖; 圖3是本發(fā)明實施例1中提供的軟件安裝的檢測方法的流程圖; 圖4是本發(fā)明實施例2中提供的軟件安裝的檢測方法的準備方法流程圖; 圖5是本發(fā)明實施例2中提供的軟件主EXE的屬性的示意圖; 圖6是本發(fā)明實施例2中提供的從注冊表中獲取軟件安裝路徑的示意圖; 圖7是本發(fā)明實施例2中提供的通過快捷方式獲取軟件的安裝路徑的示意圖; 圖8是本發(fā)明實施例2中提供的通過注冊表Uninstall節(jié)點中獲取軟件的版本號
的示意圖; 圖9是本發(fā)明實施例2中提供的從注冊表其他路徑中獲取軟件的版本號的示意 圖; 圖10是本發(fā)明實施例2中提供的軟件安裝的檢測方法的流程圖; 圖11是本發(fā)明實施例3中提供的軟件安裝的檢測裝置的結構示意圖。
具體實施例方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方
式作進一步地詳細描述。
實施例1 為了更加準確地檢測出已安裝的軟件及其版本信息,本發(fā)明實施例提供了 一種軟件安裝的檢測方法,參見圖3,該方案包括 301 :在客戶端保存的檢測策略文件中獲得待檢測軟件及其對應的檢測策略,其 中,待檢測軟件對應的檢測策略至少為一條; 其中,檢測策略文件的獲得方法包括服務器為其搜集到的軟件分配的ID和配置 的檢測策略;將上述ID及其對應的檢測策略發(fā)送至客戶端;客戶端將接收到的ID及其對 應的檢測策略保存為檢測策略文件。
302 :根據(jù)待檢測軟件的檢測策略,判定該待檢測軟件是否已安裝; 其中,步驟302具體可以為根據(jù)待檢測軟件的檢測策略,檢測待檢測軟件的版本
號; 如果檢測到待檢測軟件的版本號,則判定待檢測軟件已安裝;
如果未檢測到待檢測軟件的版本號,則判定待檢測軟件為未安裝。
其中,待檢測軟件的檢測策略至少可以包括 獲得待檢測軟件的指定PE文件,從指定PE文件的屬性中獲得該待檢測軟件的版 本號; 和/或,從注冊表中獲得待檢測軟件的版本號。
具體的,獲得待檢測軟件的指定PE文件,具體包括 通過注冊表獲取待檢測軟件的安裝路徑,并根據(jù)安裝路徑獲得待檢測軟件的指定 PE文件;或 獲得待檢測軟件的快捷方式,在快捷方式的屬性中獲得待檢測軟件的安裝路徑,
并根據(jù)安裝路徑獲得待檢測軟件的指定PE文件。
具體的,從注冊表中獲得待檢測軟件的版本號,具體包括 獲取注冊表中LocalMachine(本地計算機)和CurrentUser(當前用戶)下的 Uninstall(卸載)節(jié)點的DisplayVersion(版本號)的值。
需要說明的是,當檢測策略為多條時,步驟302具體包括 在待檢測軟件的多條檢測策略中,獲得一條未被執(zhí)行過的檢測策略作為當前檢測 策略,并根據(jù)當前檢測策略檢測待檢測軟件的版本號; 如果無法獲得未被執(zhí)行過的檢測策略作為當前檢測策略,則檢測結果為未檢測到 待檢測軟件的版本號。 其中,當判定待檢測軟件已安裝時,輸出所述版本號。 本發(fā)明實施例提供了一種軟件安裝的檢測方法,通過服務器統(tǒng)一發(fā)送軟件及其對
應的檢測策略給客戶端,并由客戶端保存在檢測策略文件中,客戶端將檢測策略文件中記
錄的每一個軟件作為待檢測軟件,按照檢測策略文件中針對該待檢測軟件所提供的檢測策
略進行檢測,用以判定該待檢測軟件是否已安裝,可以提供準確、可靠的軟件安裝的檢測;
同時,由服務器統(tǒng)一發(fā)送軟件及其對應的檢測策略給客戶端,一個服務器可以為多個客戶
端發(fā)送上述信息,省去了客戶端自行配置的時間,提高了軟件安裝的檢測效率,避免了資源
的浪費;并且,對于每一個待檢測軟件都提供了至少一種的檢測策略,豐富了軟件管理器對
于軟件安裝的檢測選擇。 實施例2 為了更加準確地檢測出已安裝的軟件及其版本信息,本發(fā)明實施例提供了一種軟件安裝的檢測方法,以常用的軟件管理器作為執(zhí)行主體為例進行說明,但并不用以限制本
發(fā)明的保護范圍。具體的,該方法可以包括準備工作部分和方法實體部分。
參見圖4,首先介紹準備工作部分 401 :軟件管理器服務器搜集各類軟件的相關信息; 其中,搜集過程可以通過網(wǎng)絡渠道進行、也可以通過各個服務器之間相互交換信 息等方式進行。 進一步的,服務器的搜集過程可以是定時的或者事件觸發(fā)的,這樣做的好處在于,
一旦某一軟件發(fā)布了一個新的版本,或者軟件新版本的注冊表位置與老版本的不同,或者
新出了一種軟件或者消失了一種軟件等軟件的檢測策略就有可能發(fā)生變化,而服務器就可
以及時地搜集到上述信息。例如,設定服務器每隔一天(或者其他)的某一固定時間搜集
上述信息、或者服務器的操作人員觸發(fā)搜集軟件功能等。
402 :服務器為每一個搜集到的軟件分配ID號并保存; 為每一個搜集到的軟件所分配的ID號碼在服務器(或服務器系統(tǒng))中是可以唯 一標識一個軟件。分配的ID號碼可以是數(shù)字、字母、符號、或者上述一種或幾種的組合等。
服務器分配ID號的過程可以是人工操作、也可以是服務器自動執(zhí)行的。
需要說明的是,步驟402和步驟403的執(zhí)行順序可以進行交換,或同時進行。
403 :為每一個搜集到的軟件提供其相應的檢測策略; 需要說明的是,對于軟件安裝的檢測,實際是為了檢測計算機上所安裝的軟件及 其版本號,所以,提供軟件相應的檢測策略即可以認為是提供如何檢測出計算機上所安裝 的軟件,并提供如何檢測出軟件的版本號。由于在本發(fā)明實施例中,如何檢測出計算機上所 安裝的軟件是由軟件管理器所在的客戶端去完成的,因此,在本步驟403中,提供軟件相應 的檢測策略即為提供如何檢測軟件的版本號。 具體的檢測策略可以依據(jù)不同的軟件進行提供,這里以幾種簡便的檢測策略為例 進行說明,但不用以限制本發(fā)明的保護范圍。 1、參見圖5,可以通過軟件的指定PE文件獲得軟件的版本號
其中,對于指定PE文件需要說明的是,PE文件指的是軟件的EXE (可執(zhí)行)文件或 DLL(動態(tài)鏈接庫)文件等文件。指定的PE文件適用于一個軟件包含多個EXE文件或DLL 文件的情況,服務器會在下發(fā)的檢測策略中對獲得軟件的版本號的PE文件進行指定。
其中,一般軟件的PE文件的屬性中都會有一項為此款軟件的版本,因此,可以通 過獲得軟件的指定PE文件的存儲路徑,并從指定PE文件的屬性中獲得軟件的版本號。
具體的,獲取軟件的指定PE文件(以軟件的主EXE為例)的存儲路徑可以包括
(1)通過注冊表獲取主EXE的存儲路徑 由于注冊表中可能含有軟件的安裝路徑,如圖6所示,如果能夠在注冊表中獲取 到軟件的安裝路徑,則可以根據(jù)安裝路徑獲得軟件的主EXE文件的存儲路徑。 [OO"] (2)通過快捷方式獲取 由于可以通過快捷方式的屬性定位到軟件的主EXE路徑,如圖7所示,所以可以直 接通過快捷方式獲取軟件的主EXE的存儲路徑。 其中,需要說明的是,軟件的主EXE的快捷方式的位置,包括但不限于如下幾個
a)開始-程序菜單快捷方式,當前用戶下
b)開始-程序菜單快捷方式,所有用戶下
c)桌面快捷方式,當前用戶下
d)桌面快捷方式,所有用戶下
e)快速啟動欄快捷方式,當前用戶下
f)快速啟動欄快捷方式,所有用戶下 當然,通過快捷方式獲得軟件的主EXE存儲路徑還可以支持相對快捷方式文件 相對路徑合成。 2、可以通過注冊表獲得軟件的版本號 (1)如圖8所示,獲取注冊表中LocalMachine禾口 CurrentUser下的Uninstall節(jié) 點的DisplayVersion的值,注冊表路徑為HKEY_LOCAL_MACHINE\Software\Microsoft\WindoWs\CurrentVersion\ Uninstall HKEY_CURRENT_USER\Software\Microsoft\Windows\CuirentVersion\Uninstall
(2)如圖9所示,根據(jù)不同軟件的不同設置,獲取注冊表的其他路徑中包含的軟件 版本號的信息,例如 HKEY_LOCAL_MACHINE\SOFTWARE\TENCENT\QQDownload\\Version
即注冊表路徑為 HKEY_LOCAL_MACHINE\SOFTWARE\TENCENT\QQDownload下鍵名為Version中獲取 軟件版本號的信息。 3、根據(jù)軟件的不同,可以在軟件的安裝目錄下的某數(shù)據(jù)文件中,獲取軟件的版本
號 404 :服務器將軟件ID號及其對應的檢測策略下發(fā)給各個軟件管理器所在的客戶
丄山
順; 其中,首次下發(fā)時,可以利用通知消息或其它常用的消息體將上述信息發(fā)送給各 個軟件管理器所在的客戶端;非首次下發(fā)時,可以通過更新消息或其它常用的消息體將上 述信息下發(fā)給各個軟件管理器所在客戶端。在非首次下發(fā)時,需要說明的是,可以選擇采用 全量更新或者增量更新的方式下發(fā)上述信息。 例如,在非首次下發(fā)的情況下,服務器默認客戶端已經(jīng)具有其最近一次下發(fā)時的
數(shù)據(jù),則,服務器可以采用增量更新的方式,將最近一次下發(fā)的數(shù)據(jù)中沒有包括的數(shù)據(jù)、或
者發(fā)生變化的數(shù)據(jù)下發(fā)給客戶端,而未發(fā)生變化的數(shù)據(jù)不下發(fā)給客戶端;或者,服務器可以
采用全量更新的方式,將全部(包括發(fā)生變化的和未發(fā)生變化的)數(shù)據(jù)下發(fā)給客戶端。 數(shù)據(jù)的下發(fā)時間可以是定時的,也可以是即時的。定時的情況可以是每隔一天
(或者其他)的固定時間將上述數(shù)據(jù)進行下發(fā),即時的情況可以是在服務器每搜集到新的
軟件、或軟件的新版本版本、或軟件的任何變化而導致的檢測策略的配置發(fā)生變化時,即開
始進行數(shù)據(jù)的下發(fā)。下發(fā)的數(shù)據(jù)可以被客戶端解釋并執(zhí)行。 其中,服務器下發(fā)給客戶端的數(shù)據(jù)可以通過xml結構進行表示。 405 :客戶端接收到服務器下發(fā)的軟件ID及其檢測策略,對其進行解釋和保存。 需要說明的是,客戶端接收到服務器下發(fā)的軟件ID號及其對應的檢測策略,使用
一個數(shù)據(jù)文件來保存上述數(shù)據(jù),本實施例中將該數(shù)據(jù)文件稱之為檢測策略文件(或者,特
9征庫文件)。之所以使用數(shù)據(jù)文件保存軟件ID號及其對應的檢測策略,而不是硬編碼在軟
件管理器的程序代碼中,是因為軟件的檢測策略可能會是實時更新的,如果硬編碼在程序
代碼中,就需要修改軟件管理器的程序代碼,而數(shù)據(jù)文件修改起來非常方便快捷、而且可以
保存多種軟件的多種檢測策略??蛻舳吮4娴臋z測策略文件的基本結構可以如表1所示,
其中,需要說明的是,檢測策略文件中,依次描述針對每一款軟件進行配置的檢測策略,每
一款軟件的檢測策略可以包括一種或多種。 表l
軟件ID1 :
策略1 策略2
策略3
軟件ID2 :
策略1
策略2 策略3 以客戶端接收到服務器下發(fā)的數(shù)據(jù),解析出軟件ID及檢測策略,并保存在檢測策 略文件中為例,可以參考表2所示的檢測策略文件,僅供說明方便之用,不用以做實際文件
的參考。
表2
軟件ID1 (QQ2009):
策略1 :到注冊表的路徑為
HKEY_LOCAL_MACHINE\S oftware\Microsoft\Windows\CurrentVersion\Uninstal 1\ {052CFB79-9D62-42E3-8A15-DE66C2C97C3E}文件夾下獲得鍵名為 InstallLocation對應的值,該值對應著QQ2009的安裝路徑,到QQ2009安裝路徑 的文件夾bin下獲得QQ2009的指定PE文件QQ. exe,并從QQ. exe的屬性中獲得軟 件的版本號;
策略2 :找到騰訊軟件\QQ2009\騰訊QQ2009. Ink的快捷方式,并根據(jù)快捷方式中 的屬性獲得軟件的安裝路徑,并根據(jù)安裝路徑獲得指定的PE文件QQ. exe,并從 QQ. exe的屬性中獲得軟件的版本號。 軟件ID2 (QQ影音): 策略1 :到注冊表的路徑
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall 下的文件夾QQPlayer獲得鍵名為Displaylcon對應的值,該值對應著QQ影音的安 裝路徑,到QQ影音的安裝路徑下獲得軟件的指定PE文件QQ影音.exe,并從QQ 影音.exe的屬性中獲得軟件的版本號;
策略2 :找到騰訊軟件\QQ影音\QQ影音.Ink的快捷方式,并根據(jù)快捷方式中的屬 性獲得軟件的安裝路徑,并根據(jù)安裝路徑獲得指定的PE文件QQ影音.exe,并從 QQ影音.exe的屬性中獲得軟件的版本號;
策略3 :找到TencentXQQPlayeiAQQPlayer. Ink的快捷方式,并根據(jù)快捷方式中的屬 性獲得軟件的安裝路徑,并根據(jù)安裝路徑獲得指定的PE文件QQPlayer. exe,并從
QQPlayer. exe的屬性中獲得軟件的版本號;
策略4 :到注冊表的路徑為HKEY_LOCAL_MACHINE的文件夾SOFTWARE下的 文件夾TENCENT下的文件夾QQPlayer下獲得鍵名為Version的值,該鍵值對應著 QQ影音的版本號。 在步驟401至步驟405作為本方法的準備工作部分的前提下,本發(fā)明實施例提供 的軟件檢測的方法的根本目的即為為其檢測策略文件中的每一個軟件檢測出軟件名稱及 其版本號。由于在流程上每一個軟件的檢測方法均是類似的,故在本實施例中,以檢測策略 文件中的任一個軟件的檢測為例進行本方法的說明。參見圖io,本實施例提供的軟件安裝
的檢測方法具體可以包括 1001 :客戶端的軟件管理器接收到軟件檢測的觸發(fā)信號; 其中,軟件檢測的觸發(fā)信號可以但不限于包括軟件管理器檢測到軟件啟動運行、 用戶啟動軟件檢測功能、軟件管理器檢測到定時檢測軟件的時間到、檢測策略文件中的某 一個(非最后一個)軟件執(zhí)行完檢測等。 1002 :軟件管理器在檢測策略文件中獲得待檢測軟件ID所對應的未被執(zhí)行的一 條檢測策略,并根據(jù)獲得的檢測策略對該待檢測軟件是否已安裝進行檢測;
例如,以步驟405中給出的表2為例,將軟件ID2所代表的QQ影音軟件作為待檢 測軟件為例,軟件管理器獲得ID2所對應的未被執(zhí)行的檢測策略,如策略l,根據(jù)策略l,到 注冊表中路徑為 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall 下的文件夾QQPlayer下獲取鍵名為Displaylcon的值,通過該鍵值獲得ID2軟件的主exe, 并從主exe的屬性中獲得軟件的版本號。 其中,需要說明的是,未被執(zhí)行的檢測策略可以是軟件管理器按照檢測策略文件 的保存順序逐個獲得,也可以是軟件管理器從中隨機獲取的。
1003 :判斷是否檢測到該待檢測軟件的版本號;
如果是,則執(zhí)行步驟1006 ;
如果否,則執(zhí)行步驟1004。
1004 :判斷檢測策略文件中該待檢測軟件是否還有檢測策略沒有被執(zhí)行;
如果是,則執(zhí)行步驟1002 ;
如果否,則執(zhí)行步驟1005。
1005 :檢測完畢,判定該待檢測軟件為未安裝軟件; 1006 :檢測完畢,判定該待檢測軟件為已安裝軟件,版本號為步驟1002中獲得的 版本號。 需要說明的是,軟件管理器可以對于檢測策略文件中保存的每一個軟件執(zhí)行上述
步驟1001至步驟1006所示的方法,本發(fā)明不做贅述。 還需要說明的是,步驟1005和步驟1006均存在一個特例。 其中,步驟1005的特例即為軟件管理器沒有檢測到軟件的版本號,但軟件確實 已經(jīng)安裝到了客戶端,為了克服上述特例的問題,本實施例的步驟1005可以表示為
判斷該待檢測軟件的指定PE文件是否存在; 如果存在,則檢測完畢,判定該待檢測軟件為已安裝軟件,版本號采用自定義的形 式,如0. 0. 0. 0等等; 如果不存在,則檢測完畢,判定該待檢測軟件為未安裝軟件。 步驟1006中存在一個特例,即軟件管理器檢測到軟件的版本號,但該版本號可能 是由于某些特殊操作(如刪除軟件時發(fā)生錯誤)而遺留下的版本號,為了克服上述特例的 問題,本實施例的步驟1006可以表示為
判斷該待檢測軟件的指定PE文件是否存在; 如果存在,則檢測完畢,判定該待檢測軟件為已安裝軟件,版本號為步驟1002中 獲得的版本號; 如果不存在,則檢測完畢,判定該待檢測軟件為未安裝軟件。 本發(fā)明實施例提供了一種軟件安裝的檢測方法,通過服務器統(tǒng)一發(fā)送軟件及其對 應的檢測策略給客戶端,并由客戶端保存在檢測策略文件中,客戶端將檢測策略文件中記 錄的每一個軟件作為待檢測軟件,按照檢測策略文件中針對該待檢測軟件所提供的檢測策 略進行檢測,用以判定該待檢測軟件是否已安裝,可以提供準確、可靠的軟件安裝的檢測; 同時,由服務器統(tǒng)一發(fā)送軟件及其對應的檢測策略給客戶端,一個服務器可以為多個客戶 端發(fā)送上述信息,省去了客戶端自行配置的時間,提高了軟件安裝的檢測效率,避免了資源
12的浪費;并且,對于每一個待檢測軟件都提供了至少一種的檢測策略,豐富了軟件管理器對
于軟件安裝的檢測選擇。 實施例3 參見圖ll,本發(fā)明實施例提供了一種軟件安裝的檢測裝置,需要說明的是,該檢測 裝置的工作方法可以參見實施例1和實施例2中提供的方法部分,此處不做贅述。該裝置 包括 獲得模塊1101,用于在檢測裝置所在的客戶端保存的檢測策略文件中獲得待檢測
軟件及其對應的檢測策略,其中,待檢測軟件對應的檢測策略至少為一條; 檢測模塊1102,用于根據(jù)獲得模塊1101獲得的待檢測軟件的檢測策略,判斷待檢
測軟件是否已安裝。 進一步的,檢測裝置還包括 檢測策略文件獲得模塊,用于接收服務器下發(fā)的服務器為其搜集到的軟件分配的 ID和配置的檢測策略,并將其保存在檢測策略文件中。
其中,檢測模塊1102具體包括 版本號檢測單元,用于根據(jù)獲得模塊1101獲得的待檢測軟件的檢測策略檢測待 檢測軟件的版本號; 判定單元,用于如果版本號檢測單元的檢測結果為檢測到待檢測軟件的版本號, 則判定待檢測軟件已安裝;如果版本號檢測單元的檢測結果為未檢測到待檢測軟件的版本 號,則判定待檢測軟件為未安裝。 其中,當檢測策略為多條時,版本號檢測單元包括 獲得子單元,用于在待檢測軟件的多條檢測策略中,獲得一條未被執(zhí)行過的檢測 策略作為當前檢測策略; 檢測子單元,用于根據(jù)獲得子單元獲得的當前檢測策略檢測待檢測軟件的版本 號; 判定子單元,用于如果獲得子單元無法獲得未被執(zhí)行過的檢測策略作為當前檢測
策略,則檢測結果為未檢測到待檢測軟件的版本號。
進一步的,檢測裝置還包括 輸出模塊,用于當判定單元判定待檢測軟件已安裝時,輸出版本號檢測單元檢測 到的版本號。 本發(fā)明實施例提供了一種軟件安裝的檢測裝置,通過服務器統(tǒng)一發(fā)送軟件及其對 應的檢測策略給客戶端,并由客戶端保存在檢測策略文件中,客戶端將檢測策略文件中記 錄的每一個軟件作為待檢測軟件,按照檢測策略文件中針對該待檢測軟件所提供的檢測策 略進行檢測,用以判定該待檢測軟件是否已安裝,可以提供準確、可靠的軟件安裝的檢測; 同時,由服務器統(tǒng)一發(fā)送軟件及其對應的檢測策略給客戶端,一個服務器可以為多個客戶 端發(fā)送上述信息,省去了客戶端自行配置的時間,提高了軟件安裝的檢測效率,避免了資源 的浪費;并且,對于每一個待檢測軟件都提供了至少一種的檢測策略,豐富了軟件管理器對 于軟件安裝的檢測選擇。 以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和 原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
1權利要求
一種軟件安裝的檢測方法,其特征在于,所述方法包括在客戶端保存的檢測策略文件中獲得待檢測軟件及其對應的檢測策略,所述待檢測軟件對應的檢測策略至少為一條;根據(jù)所述待檢測軟件的檢測策略判定所述待檢測軟件是否已安裝。
2. 如權利要求1所述的軟件安裝的檢測方法,其特征在于,所述檢測策略文件的獲得 方法包括服務器為其搜集到的軟件分配的ID和配置的檢測策略;將所述ID及其對應的檢測策 略發(fā)送至所述客戶端;所述客戶端將接收到的ID及其對應的檢測策略保存在檢測策略文 件中。
3. 如權利要求1或2所述的軟件安裝的檢測方法,其特征在于,所述根據(jù)所述待檢測軟 件的檢測策略判定所述待檢測軟件是否已安裝,具體包括根據(jù)所述待檢測軟件的檢測策略,檢測所述待檢測軟件的版本號; 如果檢測到所述待檢測軟件的版本號,則判定所述待檢測軟件已安裝; 如果未檢測到所述待檢測軟件的版本號,則判定所述待檢測軟件為未安裝。
4. 如權利要求3所述的軟件安裝的檢測方法,其特征在于,所述檢測策略至少包括 獲得待檢測軟件的指定PE文件,從所述指定PE文件的屬性中獲得所述待檢測軟件的版本號; 和/或從注冊表中獲得所述待檢測軟件的版本號。
5. 如權利要求4所述的軟件安裝的檢測方法,其特征在于,所述獲得待檢測軟件的指 定PE文件,具體包括通過注冊表獲取所述待檢測軟件的安裝路徑,并根據(jù)所述安裝路徑獲得所述待檢測軟 件的指定PE文件; 或根據(jù)所述待檢測軟件的快捷方式獲得所述待檢測軟件的安裝路徑,并根據(jù)所述安裝路 徑獲得所述待檢測軟件的指定PE文件。
6. 如權利要求4所述的軟件安裝的檢測方法,其特征在于,所述從注冊表中獲得所述 待檢測軟件的版本號,具體包括獲取注冊表中本地計算機和CurrentUser下的卸載節(jié)點的版本號的值。
7. 如權利要求3所述的軟件安裝的檢測方法,其特征在于,當所述檢測策略為多條時, 所述根據(jù)所述待檢測軟件的檢測策略,檢測所述待檢測軟件的版本號,具體包括在所述待檢測軟件的多條檢測策略中,獲得一條未被執(zhí)行過的檢測策略作為當前檢測 策略,并根據(jù)所述當前檢測策略檢測所述待檢測軟件的版本號;如果無法獲得未被執(zhí)行過的檢測策略作為當前檢測策略,則檢測結果為未檢測到所述 待檢測軟件的版本號。
8. 如權利要求3所述的軟件安裝的檢測方法,其特征在于,所述方法還包括 當判定所述待檢測軟件已安裝時,輸出所述版本號。
9. 一種軟件安裝的檢測裝置,其特征在于,所述裝置包括獲得模塊,用于在所述檢測裝置所在客戶端保存的檢測策略文件中獲得待檢測軟件及其對應的檢測策略,所述待檢測軟件對應的檢測策略至少為一條;檢測模塊,用于根據(jù)所述獲得模塊獲得的所述待檢測軟件的檢測策略判定所述待檢測 軟件是否已安裝。
10. 如權利要求9所述的軟件安裝的檢測裝置,其特征在于,所述檢測裝置還包括 檢測策略文件獲得模塊,用于接收服務器下發(fā)的所述服務器為其搜集到的軟件分配的ID和配置的檢測策略,并將其保存在檢測策略文件中。
11. 如權利要求9所述的軟件安裝的檢測裝置,其特征在于,所述檢測模塊具體包括 版本號檢測單元,用于根據(jù)所述獲得模塊獲得的所述待檢測軟件的檢測策略檢測所述待檢測軟件的版本號;判定單元,用于如果所述版本號檢測單元的檢測結果為檢測到所述待檢測軟件的版本 號,則判定所述待檢測軟件已安裝;如果所述版本號檢測單元的檢測結果為未檢測到所述 待檢測軟件的版本號,則判定所述待檢測軟件為未安裝。
12. 如權利要求11所述的軟件安裝的檢測裝置,其特征在于,當所述檢測策略為多條 時,所述版本號檢測單元包括獲得子單元,用于在所述待檢測軟件的多條檢測策略中,獲得一條未被執(zhí)行過的檢測 策略作為當前檢測策略;檢測子單元,用于根據(jù)所述獲得子單元獲得的當前檢測策略檢測所述待檢測軟件的版 本號;判定子單元,用于如果所述獲得子單元無法獲得未被執(zhí)行過的檢測策略作為當前檢測 策略,則檢測結果為未檢測到所述待檢測軟件的版本號。
13. 如權利要求11所述的軟件安裝的檢測裝置,其特征在于,所述裝置還包括 輸出模塊,用于當所述判定單元判定所述待檢測軟件已安裝時,輸出所述版本號檢測單元檢測到的版本號。
全文摘要
本發(fā)明公開了一種軟件安裝的檢測方法和裝置,屬于計算機技術領域。所述方法包括在客戶端保存的檢測策略文件中獲得待檢測軟件及其對應的檢測策略,所述待檢測軟件對應的檢測策略至少為一條;根據(jù)所述待檢測軟件的檢測策略,判定所述待檢測軟件是否安裝。所述裝置包括獲得模塊和檢測模塊。通過客戶端保存的檢測策略文件中記錄的每一個軟件作為待檢測軟件,按照檢測策略文件中針對該待檢測軟件所提供的檢測策略進行檢測,用以判定該待檢測軟件是否已安裝,可以提供提加準確的軟件安裝的檢測。
文檔編號H04L12/26GK101789888SQ20101000056
公開日2010年7月28日 申請日期2010年1月12日 優(yōu)先權日2010年1月12日
發(fā)明者王寶劍 申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
桂林市| 乐亭县| 咸阳市| 宁津县| 内乡县| 象山县| 鄯善县| 毕节市| 镇原县| 旬阳县| 临夏市| 社旗县| 阿坝| 江口县| 浏阳市| 杭锦后旗| 观塘区| 新龙县| 郁南县| 同江市| 浮梁县| 格尔木市| 米泉市| 盐城市| 新乡县| 邳州市| 抚松县| 大洼县| 西吉县| 南雄市| 潜江市| 磐石市| 南江县| 亳州市| 浮山县| 防城港市| 蕉岭县| 兴山县| 华安县| 原平市| 徐汇区|