專利名稱:一種驅(qū)動安裝的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機硬件設(shè)備安裝的技術(shù)領(lǐng)域,具體涉及一種驅(qū)動安裝的方法和一種驅(qū)動安裝的裝置。
背景技術(shù):
驅(qū)動程序是一種可以使計算機和硬件設(shè)備通信的特殊程序,其運行在操作系統(tǒng)的內(nèi)核,相當(dāng)于操作系統(tǒng)到硬件設(shè)備的接口,把硬件設(shè)備功能告訴操作系統(tǒng),并且也將操作系統(tǒng)的指令傳達(dá)給硬件設(shè)備。驅(qū)動程序是硬件設(shè)備的一部分,凡是安裝一個原本不屬于計算機中的硬件設(shè)備(如主板、顯卡、聲卡、網(wǎng)卡等等)時,都需要安裝正確的驅(qū)動程序,操作系 統(tǒng)通過驅(qū)動程序這個接口可以控制硬件設(shè)備的工作,假如某硬件設(shè)備的驅(qū)動程序未能正確安裝,便不能正常工作。因此,保證驅(qū)動程序能成功安裝,是硬件設(shè)備能正常工作和提高工作效率的重要因素。在現(xiàn)有的技術(shù)中,驅(qū)動安裝是直接運行驅(qū)動程序安裝程序,由驅(qū)動程序完成硬件設(shè)備驅(qū)動的安裝,由于驅(qū)動程序的設(shè)計缺失等原因,會降低驅(qū)動程序安裝的成功率。因此,目前需要本領(lǐng)域技術(shù)人員解決的一個技術(shù)問題在于提供一種驅(qū)動安裝的機制,用以提高驅(qū)動程序安裝的成功率。
發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種驅(qū)動安裝的方法和相應(yīng)的一種驅(qū)動安裝的裝置。依據(jù)本發(fā)明的一個方面,提供了一種驅(qū)動安裝的方法,包括針對硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行檢測;當(dāng)檢測出異常時,對所述硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行相應(yīng)修復(fù);在完成修復(fù)的安裝環(huán)境中進(jìn)行硬件設(shè)備驅(qū)動程序的安裝??蛇x地,所述針對硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行檢測的步驟包括檢測硬件設(shè)備所依賴的系統(tǒng)文件是否缺失;和/ 或,檢測硬件設(shè)備所依賴的系統(tǒng)服務(wù)是否正常工作;和/ 或,檢測操作系統(tǒng)中是否有在先安裝過的驅(qū)動程序;和/ 或,檢測硬件設(shè)備所依賴的注冊表項是否錯誤??蛇x地,所述當(dāng)檢測出異常時,對所述硬件設(shè)備的驅(qū)動程序安裝環(huán)境進(jìn)行相應(yīng)修復(fù)的步驟包括當(dāng)檢測出硬件設(shè)備所依賴的系統(tǒng)文件缺失時,從服務(wù)器獲取所述硬件設(shè)備所依賴的系統(tǒng)文件并在本地進(jìn)行安裝;
和/ 或,當(dāng)檢測出硬件設(shè)備所依賴的系統(tǒng)服務(wù)未正常工作時,開啟相應(yīng)的系統(tǒng)服務(wù);和/ 或,當(dāng)檢測出有在先安裝過的驅(qū)動程序時,清除所述在先安裝過的驅(qū)動程序的所有文件;和/ 或,當(dāng)檢測出硬件設(shè)備所依賴的注冊表項存在錯誤時,修復(fù)相應(yīng)的注冊表項??蛇x地,所述針對硬件設(shè)備的驅(qū)動程序安裝環(huán)境進(jìn)行檢測的步驟在用戶觸發(fā)硬件設(shè)備驅(qū)動程序的安裝時執(zhí)行。根據(jù)本發(fā)明的另一方面,提供了一種驅(qū)動安裝的裝置,包括驅(qū)動程序安裝環(huán)境檢測模塊,適于針對硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行檢測;驅(qū)動程序安裝環(huán)境修復(fù)模塊,適于在檢測出異常時,對所述硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行相應(yīng)修復(fù);驅(qū)動程序安裝模塊,適于在完成修復(fù)的安裝環(huán)境中進(jìn)行硬件設(shè)備驅(qū)動程序的安裝。 可選地,所述驅(qū)動程序安裝環(huán)境檢測模塊包括系統(tǒng)文件檢測子模塊,適于檢測硬件設(shè)備所依賴的系統(tǒng)文件是否缺失;系統(tǒng)服務(wù)檢測子模塊,適于檢測硬件設(shè)備所依賴的系統(tǒng)服務(wù)是否正常工作;舊驅(qū)動程序檢測子模塊,適于檢測所述操作系統(tǒng)中是否在先安裝過的驅(qū)動程序;注冊表項錯誤檢測子模塊,適于檢測所述硬件設(shè)備所依賴的注冊表項是否錯誤??蛇x地,所述驅(qū)動程序安裝環(huán)境修復(fù)模塊包括系統(tǒng)文件下載子模塊,適于在檢測出硬件設(shè)備所依賴的系統(tǒng)文件缺失時,從服務(wù)器獲取所述硬件設(shè)備所依賴的系統(tǒng)文件并在本地進(jìn)行安裝;系統(tǒng)服務(wù)開啟子模塊,適于在檢測出硬件設(shè)備所依賴的系統(tǒng)服務(wù)未正常工作時,開啟相應(yīng)的系統(tǒng)服務(wù);舊驅(qū)動程序卸載子模塊,適于在檢測出有在先安裝過的驅(qū)動程序時,清除所述在先安裝過的驅(qū)動程序的所有文件;注冊表項錯誤修復(fù)子模塊,適于在檢測出硬件設(shè)備所依賴的注冊表項存在錯誤時,修復(fù)相應(yīng)的注冊表項??蛇x地,所述的裝置還包括驅(qū)動程序安裝觸發(fā)模塊,與所述驅(qū)動程序安裝環(huán)境檢測模塊相連,適于觸發(fā)硬件設(shè)備驅(qū)動程序的安裝。根據(jù)本發(fā)明的一種驅(qū)動安裝的方法和裝置,可以通過在驅(qū)動程序安裝到操作系統(tǒng)之前,對硬件設(shè)備的驅(qū)動程序安裝環(huán)境進(jìn)行檢測,將可能導(dǎo)致驅(qū)動程序安裝失敗的驅(qū)動程序安裝環(huán)境進(jìn)行相應(yīng)修復(fù),然后在修復(fù)的硬件設(shè)備的驅(qū)動程序安裝環(huán)境中進(jìn)行驅(qū)動程序的安裝,從而達(dá)到了提高驅(qū)動程序安裝的成功率的有益效果。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式
。
通過閱讀下文優(yōu)選實施方式的詳細(xì)描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中圖I示出了根據(jù)本發(fā)明一個實施例的一種驅(qū)動安裝的方法實施例的流程圖;圖2示出了根據(jù)本發(fā)明一個實施例的一種驅(qū)動安裝的裝置實施例的結(jié)構(gòu)框圖。
具體實施例方式下面將參照附圖更詳細(xì)地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。 驅(qū)動程序是各硬件設(shè)備廠商針對己方產(chǎn)品根據(jù)操作系統(tǒng)編寫的配置文件,各品牌產(chǎn)品對應(yīng)的驅(qū)動程序不同,同一品牌產(chǎn)品針對不同的操作系統(tǒng)適配的驅(qū)動程序也不同,各個硬件設(shè)備廠商為了保證硬件設(shè)備的兼容性及增強設(shè)備的功能會不斷地升級驅(qū)動程序。驅(qū)動程序的安裝是將一小塊代碼添加到操作系統(tǒng)中,其中包含有關(guān)設(shè)備信息等等信息數(shù)據(jù)。有了這些信息,操作系統(tǒng)就可以與硬件設(shè)備進(jìn)行通信。一般來說,硬件設(shè)備在第一次使用時完成驅(qū)動程序的安裝后,之后的使用不再需要安裝驅(qū)動程序,這就造成了電腦在使用一段時間后,其上為各硬件設(shè)備所安裝的驅(qū)動程序并不是最新的。而舊的驅(qū)動程序有可能無法解決該產(chǎn)品某些不兼容的問題而給用戶使用造成不便。例如,對于BIOS和顯卡的驅(qū)動程序來說,廠商所更新的驅(qū)動程序有可能立竿見影地提高硬件設(shè)備的性能,最大限度地發(fā)揮電腦的潛能,而硬件設(shè)備的驅(qū)動程序長期沒有更新則會使用戶無法享受到提高系統(tǒng)性能的好處?,F(xiàn)有技術(shù)中,在安裝硬件設(shè)備驅(qū)動程序的時候,通常都是直接運行驅(qū)動程序,由驅(qū)動程序完成硬件設(shè)備驅(qū)動程序安裝過程,但是由于驅(qū)動程序存在諸如系統(tǒng)文件缺失、注冊表錯誤等問題,從而極易導(dǎo)致出現(xiàn)驅(qū)動程序安裝失敗的問題。針對上述技術(shù)問題,提出本發(fā)明實施例的核心構(gòu)思之一在于,在驅(qū)動程序安裝之前,對計算機的安裝環(huán)境進(jìn)行檢測,例如,對是否缺失關(guān)鍵的系統(tǒng)文件、是否有殘留的舊驅(qū)動、是否有注冊表項錯誤、系統(tǒng)服務(wù)是否未正常工作等情況進(jìn)行檢測;若存在異常則進(jìn)行修復(fù)處理,然后在完成修復(fù)的安裝環(huán)境中進(jìn)行硬件設(shè)備驅(qū)動程序的安裝,從而達(dá)到提高驅(qū)動程序安裝的成功率的目的。參照圖1,示出了本發(fā)明一種驅(qū)動安裝的方法實施例的流程圖,具體可以包括以下步驟步驟101、針對硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行檢測;步驟102、當(dāng)檢測出異常時,對所述硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行相應(yīng)修復(fù);步驟103、在完成修復(fù)的安裝環(huán)境中進(jìn)行硬件設(shè)備驅(qū)動程序的安裝。在實際中,凡是安裝一個原本不屬于計算機中的硬件設(shè)備時,操作系統(tǒng)都需要安裝正確的驅(qū)動程序。在本發(fā)明實施例中,所述操作系統(tǒng)可以是Windows、Unix、Linux、Netware、Xenix等操作系統(tǒng),除了應(yīng)用在計算機上的操作系統(tǒng)外,本發(fā)明實施例中的操作系統(tǒng)還可以應(yīng)用在移動終端上的操作系統(tǒng),例如PalmOS、Symbian、Windows mobile、和Android、iPhoneOS、黑莓等操作系統(tǒng)。所述硬件設(shè)備可以包括打印機、網(wǎng)卡、調(diào)制解調(diào)器、U盤等外接的硬件設(shè)備,還可以包括光驅(qū)、顯卡、聲卡等內(nèi)部的硬件設(shè)備,本發(fā)明尤其適用于外接硬件設(shè)備驅(qū)動程序安裝的應(yīng)用。例如,在計算機中安裝Windows操作系統(tǒng)后,需要逐個驅(qū)動光盤安裝主板、光驅(qū)、顯卡、聲卡等硬件設(shè)備的的驅(qū)動程序,驅(qū)動光盤中一般帶有驅(qū)動程序安裝包。如果需要外接別的硬件設(shè)備,則還要安裝相應(yīng)的驅(qū)動程序,例如,外接游戲硬件需要安裝手柄、方向盤、搖桿、跳舞毯等硬件設(shè)備的驅(qū)動程序,外接打印機需要安裝打印機的驅(qū)動程序,上網(wǎng)要安裝網(wǎng)卡、調(diào)制解調(diào)器等硬件設(shè)備的驅(qū)動程序,等等。 在具體實現(xiàn)中,可以依據(jù)設(shè)備信息識別出當(dāng)前為哪個硬件設(shè)備。以插入設(shè)備為例,插入設(shè)備的設(shè)備描述符都會攜帶設(shè)備信息,設(shè)備信息中包括設(shè)備類型、廠商信息和產(chǎn)品信息(型號系列以及性能參數(shù))等,根據(jù)所述設(shè)備信息就可以確認(rèn)是哪個插入設(shè)備,從而也就可以得到插入設(shè)備的驅(qū)動程序。作為本發(fā)明實施例具體應(yīng)用的一種示例,可以通過以下幾方面對硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行檢測I)檢測硬件設(shè)備所依賴的系統(tǒng)文件是否缺失;系統(tǒng)文件指的是存放操作系統(tǒng)主要文件的文件夾,一般在安裝操作系統(tǒng)過程中自動創(chuàng)建并將相關(guān)文件放在對應(yīng)的文件夾中,這里面的文件直接影響系統(tǒng)的正常運行。以Windows操作系統(tǒng)為例,硬件設(shè)備所依賴的系統(tǒng)文件通常包括設(shè)備信息文件(INF, Device INFormation File),是微軟公司為硬件設(shè)備制造商發(fā)布其驅(qū)動程序推出的一種文件格式,INF文件中包含硬件設(shè)備的信息或腳本以控制硬件操作。在INF文件中指明了硬件驅(qū)動該如何安裝到系統(tǒng)中,源文件在哪里(要拷貝的文件)、安裝到哪一個文件夾中(拷貝到的目標(biāo)路徑)、怎樣在注冊表中加入自身相關(guān)信息(要添加到注冊表中的信息)、要安裝的設(shè)備類型、生產(chǎn)廠商、型號等。通過讀取和解釋這些文字,Windows便知道應(yīng)該如何安裝驅(qū)動程序。在實際中,不同的硬件設(shè)備所依賴的系統(tǒng)文件是不一樣的,例如,打印機所依賴的系統(tǒng)文件是usbprint. inf文件,通過安裝在\windows\inf目錄下。應(yīng)用本發(fā)明實施例,在\windows\inf目錄下檢測是否存在usbprint. inf文件,如果不存在則視為缺失。在缺失該文件的情況下,可以從指定的服務(wù)器上下載該usbprint. inf文件并寫入\windows\inf目錄下。2)檢測硬件設(shè)備所依賴的系統(tǒng)服務(wù)是否正常工作;系統(tǒng)服務(wù)是一種應(yīng)用程序類型,它在后臺運行。服務(wù)應(yīng)用程序通??梢栽诒镜睾屯ㄟ^網(wǎng)絡(luò)為用戶提供一些功能,在Windows 2000/XP/2003系統(tǒng)中,系統(tǒng)服務(wù)是指執(zhí)行指定系統(tǒng)功能的程序、例程或進(jìn)程,以便支持其他程序,尤其是低層(接近硬件)程序。以打印機驅(qū)動程序的安裝為例,由于打印機驅(qū)動程序的成功安裝依賴于系統(tǒng)的Printing Spooler服務(wù)(打印后臺服務(wù)),如果該服務(wù)未開啟則驅(qū)動程序安裝會失敗。應(yīng)用本發(fā)明實施例,會在安裝打印機驅(qū)動程序之前對系統(tǒng)的Printing Spooler服務(wù)進(jìn)行檢測(通過查詢服務(wù)狀態(tài)即可判斷該服務(wù)是否開啟),如果該服務(wù)未開啟,則使用開啟服務(wù)的命令開啟 Printing Spooler 服務(wù)。3)檢測操作系統(tǒng)中是否有在先安裝過的驅(qū)動程序;驅(qū)動程序運行在操作系統(tǒng)的內(nèi)核,驅(qū)動程序的安裝是將一小塊代碼添加到操作系統(tǒng)中,其中包含有關(guān)設(shè)備信息等等信息數(shù)據(jù)。某臺計算機在先安裝過驅(qū)動程序的話,通常會有一些殘留的信息,例如,在卸載在先安裝的驅(qū)動程序失敗時,就會有部分文件無法完全卸載干凈,或者,在先安裝的驅(qū)動程序被破壞,導(dǎo)致該驅(qū)動程序無效,但其大部分文件仍殘留在計算機中。在這種情況下,運用本發(fā)明實施例,即可把在先安裝的驅(qū)動程序完全卸載干凈,清除所有的殘留文件,可以提升新的驅(qū)動程序安裝的成功率。4)檢測硬件設(shè)備所依賴的注冊表項是否錯誤。注冊表是Windows操作系統(tǒng)中的一個重要的數(shù)據(jù)庫,用于存儲系統(tǒng)和應(yīng)用程序的設(shè)置信息。一般而言,在系統(tǒng)中注冊表是一個記錄32位驅(qū)動的設(shè)置和位置的數(shù)據(jù)庫。當(dāng)操作系統(tǒng)需要存取硬件設(shè)備,它使用驅(qū)動程序,甚至設(shè)備是一個BIOS支持的設(shè)備。無BIOS支持設(shè)備安裝時必須需要驅(qū)動,這個驅(qū)動是獨立于操作系統(tǒng)的,但是操作系統(tǒng)需要知道從哪里找到它們,文件名、版本號、其他設(shè)置和信息,沒有注冊表對設(shè)備的記錄,它們就不能被使用。硬件設(shè)備所依賴的注冊表項主要涉及一些注冊表鍵值,由于注冊表存儲在一個層次結(jié)構(gòu)的格式中,存儲在其中的元素都基于一定的邏輯順序,則注冊表鍵值可以理解注冊表中組織的基本單元。當(dāng)在注冊表中存儲信息時,基于要存儲的信息的類型選擇適當(dāng)?shù)奈恢?。以攝像頭驅(qū)動程序的安裝為例,一般而言,攝像頭會被第三方的驅(qū)動掛載一個注冊表項UpperFilter,如果UpperFilter里面掛載了某第三方驅(qū)動文件,但是第三方驅(qū)動文件不存在了(比如被卸載或者被刪除),就會導(dǎo)致攝像頭不正常,安裝驅(qū)動程序也會失敗。應(yīng)用本發(fā)明實施例,可以針對注冊表項UpperFilter中掛載的第三方驅(qū)動進(jìn)行檢測,如果檢測不到對應(yīng)的文件則會對注冊表項UpperFilter的鍵值進(jìn)行修改。 在具體實現(xiàn)中,上述對硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行檢測的四個步驟可以由本領(lǐng)域技術(shù)人員依據(jù)實際需求選擇其一或其組合運行,例如,在安裝驅(qū)動程序時,預(yù)先檢測系統(tǒng)文件是否缺失和系統(tǒng)服務(wù)是否工作正常;或者,在安裝驅(qū)動程序時,預(yù)先檢測在先安裝的驅(qū)動程序是否卸載干凈等;上述檢測可由本領(lǐng)域技術(shù)人員任意設(shè)置同步或異步執(zhí)行,本發(fā)明對此無需加以限制。在本發(fā)明的一種優(yōu)選實施例中,所述步驟102可以包括如下子步驟子步驟S11、當(dāng)檢測出硬件設(shè)備所依賴的系統(tǒng)文件缺失時,從服務(wù)器獲取所述硬件設(shè)備所依賴的系統(tǒng)文件并在本地進(jìn)行安裝;子步驟S12、當(dāng)檢測出硬件設(shè)備所依賴的系統(tǒng)服務(wù)未正常工作時,開啟相應(yīng)的系統(tǒng)服務(wù);子步驟S13、當(dāng)檢測出有在先安裝過的驅(qū)動程序時,清除所述在先安裝過的驅(qū)動程序的所有文件;子步驟S24、當(dāng)檢測出硬件設(shè)備所依賴的注冊表項存在錯誤時,修復(fù)相應(yīng)的注冊表項。在具體實現(xiàn)中,若對硬件設(shè)備驅(qū)動程序的安裝環(huán)境未檢測出異常時,則可以直接進(jìn)行驅(qū)動程序的安裝。 為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,以下通過一個具體應(yīng)用本發(fā)明實施例的示例進(jìn)一步說明。I、用戶觸發(fā)硬件設(shè)備驅(qū)動程序的安裝;2、依據(jù)用戶的觸發(fā)對當(dāng)前硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行檢測,若檢測出異常則進(jìn)行修復(fù),具體包括I)檢測硬件設(shè)備所依賴的系統(tǒng)文件是否缺失,若是,則從指定服務(wù)器獲取所述硬件設(shè)備所依賴的系統(tǒng)文件并在本地進(jìn)行安裝;2)檢測硬件設(shè)備所依賴的系統(tǒng)服務(wù)是否正常工作,若是,則開啟相應(yīng)的系統(tǒng)服務(wù);3)檢測操作系統(tǒng)中是否有在先安裝過的驅(qū)動程序,若是,則清除所述在先安裝過的驅(qū)動程序的所有文件;4)檢測硬件設(shè)備所依賴的注冊表項是否存在錯誤,若是,則修復(fù)相應(yīng)的注冊表項。3、在修復(fù)完成的安裝環(huán)境中進(jìn)行硬件設(shè)備驅(qū)動程序的安裝。本發(fā)明實施例通過在驅(qū)動程序安裝到操作系統(tǒng)之前,對硬件設(shè)備的驅(qū)動程序安裝環(huán)境進(jìn)行檢測,將可能導(dǎo)致驅(qū)動程序安裝失敗的驅(qū)動程序安裝環(huán)境進(jìn)行相應(yīng)修復(fù),例如,對是否缺失關(guān)鍵的系統(tǒng)文件、是否有殘留的舊驅(qū)動、是否有注冊表項錯誤、系統(tǒng)服務(wù)是否未正常工作等情況進(jìn)行檢測;若存在異常則進(jìn)行相應(yīng)的安裝關(guān)鍵的系統(tǒng)文件,清除殘留的舊驅(qū)動,修復(fù)錯誤的注冊表項,開啟未正常工作的系統(tǒng)服務(wù)等,然后在修復(fù)的硬件設(shè)備的驅(qū)動程序安裝環(huán)境中進(jìn)行驅(qū)動程序的安裝,從而有效提高了驅(qū)動程序安裝的成功率。需要說明的是,對于方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。參考圖2,示出了本發(fā)明的一種驅(qū)動安裝的裝置實施例的結(jié)構(gòu)框圖,具體可以包括如下模塊驅(qū)動程序安裝環(huán)境檢測模塊201,適于針對硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行檢測;驅(qū)動程序安裝環(huán)境修復(fù)模塊202,適于在檢測出異常時,對所述硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行相應(yīng)修復(fù);驅(qū)動程序安裝模塊203,適于在完成修復(fù)的安裝環(huán)境中進(jìn)行硬件設(shè)備驅(qū)動程序的安裝。在本發(fā)明的一種優(yōu)選實施例中,所述驅(qū)動程序安裝環(huán)境檢測模塊201具體可以包括如下子模塊系統(tǒng)文件檢測子模塊,適于檢測硬件設(shè)備所依賴的系統(tǒng)文件是否缺失;系統(tǒng)服務(wù)檢測子模塊,適于檢測硬件設(shè)備所依賴的系統(tǒng)服務(wù)是否正常工作;舊驅(qū)動程序檢測子模塊,適于檢測所述操作系統(tǒng)中是否在先安裝過的驅(qū)動程序;注冊表項錯誤檢測子模塊,適于檢測所述硬件設(shè)備所依賴的注冊表項是否錯誤。在本發(fā)明的一種優(yōu)選實施例中,所述驅(qū)動程序安裝環(huán)境修復(fù)模塊202具體可以包括如下子模塊系統(tǒng)文件下載子模塊,適于在檢測出硬件設(shè)備所依賴的系統(tǒng)文件缺失時,從服務(wù)器獲取所述硬件設(shè)備所依賴的系統(tǒng)文件并在本地進(jìn)行安裝;系統(tǒng)服務(wù)開啟子模塊,適于在檢測出硬件設(shè)備所依賴的系統(tǒng)服務(wù)未正常工作時,開啟相應(yīng)的系統(tǒng)服務(wù);舊驅(qū)動程序卸載子模塊,適于在檢測出有在先安裝過的驅(qū)動程序時,清除所述在先安裝過的驅(qū)動程序的所有文件;注冊表項錯誤修復(fù)子模塊,適于在檢測出硬件設(shè)備所依賴的注冊表項存在錯誤時,修復(fù)相應(yīng)的注冊表項。在具體實現(xiàn)中,本實施例還可以包括如下模塊 驅(qū)動程序安裝觸發(fā)模塊,與所述驅(qū)動程序安裝環(huán)境檢測模塊201相連,適于觸發(fā)硬件設(shè)備驅(qū)動程序的安裝。本發(fā)明實施例通過在驅(qū)動程序安裝到操作系統(tǒng)之前,對硬件設(shè)備的驅(qū)動程序安裝環(huán)境進(jìn)行檢測,將可能導(dǎo)致驅(qū)動程序安裝失敗的驅(qū)動程序安裝環(huán)境進(jìn)行相應(yīng)修復(fù),然后在修復(fù)的硬件設(shè)備的驅(qū)動程序安裝環(huán)境中進(jìn)行驅(qū)動程序的安裝,從而有效提高了驅(qū)動程序安裝的成功率。對于裝置實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。本發(fā)明還示出了一種用于驅(qū)動安裝的系統(tǒng),所述系統(tǒng)包括客戶端和服務(wù)器,所述客戶端具體可以包括如下模塊驅(qū)動程序安裝環(huán)境檢測模塊,適于針對硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行檢測;驅(qū)動程序安裝環(huán)境修復(fù)模塊,適于在檢測出異常時,對所述硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行相應(yīng)修復(fù);驅(qū)動程序安裝模塊,適于在完成修復(fù)的安裝環(huán)境中進(jìn)行硬件設(shè)備驅(qū)動程序的安裝。在本發(fā)明的一種優(yōu)選實施例中,所述驅(qū)動程序安裝環(huán)境檢測模塊具體可以包括如下子模塊系統(tǒng)文件檢測子模塊,適于檢測硬件設(shè)備所依賴的系統(tǒng)文件是否缺失;系統(tǒng)服務(wù)檢測子模塊,適于檢測硬件設(shè)備所依賴的系統(tǒng)服務(wù)是否正常工作;舊驅(qū)動程序檢測子模塊,適于檢測所述操作系統(tǒng)中是否在先安裝過的驅(qū)動程序;注冊表項錯誤檢測子模塊,適于檢測所述硬件設(shè)備所依賴的注冊表項是否錯誤。所述服務(wù)器可以包括響應(yīng)操作模塊,用于響應(yīng)于系統(tǒng)文件獲取請求,執(zhí)行獲取相應(yīng)的系統(tǒng)文件并返回給客戶端的操作;在具體實現(xiàn)中,所述服務(wù)器中可以預(yù)置保存系統(tǒng)文件的數(shù)據(jù)庫,當(dāng)接收到客戶端發(fā)出的包括系統(tǒng)文件信息的系統(tǒng)文件獲取請求時,直接依據(jù)該系統(tǒng)文件信息從其數(shù)據(jù)庫中提取出相應(yīng)的系統(tǒng)文件再返回給客戶端即可。當(dāng)然,所述服務(wù)器也可以采用網(wǎng)上搜索或其它方式獲取當(dāng)前所需的系統(tǒng)文件,本發(fā)明對此不作限制。在這種情況下,所述驅(qū)動程序安裝環(huán)境修復(fù)模塊具體可以包括如下子模塊系統(tǒng)文件下載子模塊,適于在檢測出硬件設(shè)備所依賴的系統(tǒng)文件缺失時,向服務(wù)器發(fā)送系統(tǒng)文件獲取請求,以及,接收從服務(wù)器返回的所述硬件設(shè)備所依賴的系統(tǒng)文件并在本地進(jìn)行安裝;系統(tǒng)服務(wù)開啟子模塊,適于在檢測出硬件設(shè)備所依賴的系統(tǒng)服務(wù)未正常工作時,開啟相應(yīng)的系統(tǒng)服務(wù);舊驅(qū)動程序卸載子模塊,適于在檢測出有在先安裝過的驅(qū)動程序時,清除所述在先安裝過的驅(qū)動程序的所有文件;注冊表項錯誤修復(fù)子模塊,適于在檢測出硬件設(shè)備所依賴的注冊表項存在錯誤時,修復(fù)相應(yīng)的注冊表項。本說明書中的各個實施例均采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。 在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細(xì)節(jié)的情況下實踐。在一些實例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖即所要求保護(hù)的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式
的權(quán)利要求書由此明確地并入該具體實施方式
,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的日志數(shù)據(jù)傳輸設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者系統(tǒng)程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實施例對本發(fā)明進(jìn)行說明而不是對本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機來實現(xiàn)。在列舉了若干系統(tǒng)的單元權(quán)利要求中,這些系統(tǒng)中的若干個可以是通過同一個硬件 項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
權(quán)利要求
1.一種驅(qū)動安裝的方法,包括 針對硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行檢測; 當(dāng)檢測出異常時,對所述硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行相應(yīng)修復(fù); 在完成修復(fù)的安裝環(huán)境中進(jìn)行硬件設(shè)備驅(qū)動程序的安裝。
2.如權(quán)利要求I所述的方法,所述針對硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行檢測的步驟包括 檢測硬件設(shè)備所依賴的系統(tǒng)文件是否缺失; 和/或, 檢測硬件設(shè)備所依賴的系統(tǒng)服務(wù)是否正常工作; 和/或, 檢測操作系統(tǒng)中是否有在先安裝過的驅(qū)動程序; 和/或, 檢測硬件設(shè)備所依賴的注冊表項是否錯誤。
3.如權(quán)利要求I所述的方法,所述當(dāng)檢測出異常時,對所述硬件設(shè)備的驅(qū)動程序安裝環(huán)境進(jìn)行相應(yīng)修復(fù)的步驟包括 當(dāng)檢測出硬件設(shè)備所依賴的系統(tǒng)文件缺失時,從服務(wù)器獲取所述硬件設(shè)備所依賴的系統(tǒng)文件并在本地進(jìn)行安裝; 和/或, 當(dāng)檢測出硬件設(shè)備所依賴的系統(tǒng)服務(wù)未正常工作時,開啟相應(yīng)的系統(tǒng)服務(wù); 和/或, 當(dāng)檢測出有在先安裝過的驅(qū)動程序時,清除所述在先安裝過的驅(qū)動程序的所有文件; 和/或, 當(dāng)檢測出硬件設(shè)備所依賴的注冊表項存在錯誤時,修復(fù)相應(yīng)的注冊表項。
4.如權(quán)利要求I所述的方法,所述針對硬件設(shè)備的驅(qū)動程序安裝環(huán)境進(jìn)行檢測的步驟在用戶觸發(fā)硬件設(shè)備驅(qū)動程序的安裝時執(zhí)行。
5.一種驅(qū)動安裝的裝置,包括 驅(qū)動程序安裝環(huán)境檢測模塊,適于針對硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行檢測;驅(qū)動程序安裝環(huán)境修復(fù)模塊,適于在檢測出異常時,對所述硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行相應(yīng)修復(fù); 驅(qū)動程序安裝模塊,適于在完成修復(fù)的安裝環(huán)境中進(jìn)行硬件設(shè)備驅(qū)動程序的安裝。
6.如權(quán)利要求5所述的裝置,所述驅(qū)動程序安裝環(huán)境檢測模塊包括 系統(tǒng)文件檢測子模塊,適于檢測硬件設(shè)備所依賴的系統(tǒng)文件是否缺失; 系統(tǒng)服務(wù)檢測子模塊,適于檢測硬件設(shè)備所依賴的系統(tǒng)服務(wù)是否正常工作; 舊驅(qū)動程序檢測子模塊,適于檢測所述操作系統(tǒng)中是否在先安裝過的驅(qū)動程序; 注冊表項錯誤檢測子模塊,適于檢測所述硬件設(shè)備所依賴的注冊表項是否錯誤。
7.如權(quán)利要求5所述的裝置,所述驅(qū)動程序安裝環(huán)境修復(fù)模塊包括 系統(tǒng)文件下載子模塊,適于在檢測出硬件設(shè)備所依賴的系統(tǒng)文件缺失時,從服務(wù)器獲取所述硬件設(shè)備所依賴的系統(tǒng)文件并在本地進(jìn)行安裝; 系統(tǒng)服務(wù)開啟子模塊,適于在檢測出硬件設(shè)備所依賴的系統(tǒng)服務(wù)未正常工作時,開啟相應(yīng)的系統(tǒng)服務(wù); 舊驅(qū)動程序卸載子模塊,適于在檢測出有在先安裝過的驅(qū)動程序時,清除所述在先安裝過的驅(qū)動程序的所有文件; 注冊表項錯誤修復(fù)子模塊,適于在檢測出硬件設(shè)備所依賴的注冊表項存在錯誤時,修復(fù)相應(yīng)的注冊表項。
8.如權(quán)利要求7所述的裝置,還包括 驅(qū)動程序安裝觸發(fā)模塊,與所述驅(qū)動程序安裝環(huán)境檢測模塊相連,適于觸發(fā)硬件設(shè)備驅(qū)動程序的安裝。
全文摘要
本發(fā)明公開了一種驅(qū)動安裝的方法和裝置,其中,所述的方法包括針對硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行檢測;當(dāng)檢測出異常時,對所述硬件設(shè)備驅(qū)動程序的安裝環(huán)境進(jìn)行相應(yīng)修復(fù);在完成修復(fù)的安裝環(huán)境中進(jìn)行硬件設(shè)備驅(qū)動程序的安裝。本發(fā)明可以提高驅(qū)動程序安裝的成功率。
文檔編號G06F9/445GK102937902SQ20121039528
公開日2013年2月20日 申請日期2012年10月17日 優(yōu)先權(quán)日2012年10月17日
發(fā)明者孫卓, 朱洪 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司