專利名稱::安裝軟件的方法和裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別涉及一種安裝軟件的方法和裝置。
背景技術(shù):
:隨著計(jì)算機(jī)及互聯(lián)網(wǎng)技術(shù)的發(fā)展,電腦在人們的工作、生活中承載著越來越重要的作用,各種各樣功能的軟件也越來越多,一般個(gè)人用戶的電腦中通常需要安裝幾十甚至上百款軟件。當(dāng)有眾多軟件需要安裝時(shí),安裝的過程繁瑣、并且耗時(shí)。針對(duì)這一問題,現(xiàn)有技術(shù)中一般有下述方法從安裝隊(duì)列中取出一個(gè)安裝任務(wù),以普通方式執(zhí)行安裝包,創(chuàng)建安裝進(jìn)程,在安裝該安裝包時(shí)用戶交互,安裝進(jìn)程退出后,取出下一個(gè)安裝任務(wù),重復(fù)以上安裝步驟。在對(duì)現(xiàn)有技術(shù)進(jìn)行分析后,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少具有如下缺點(diǎn)在執(zhí)行安裝包時(shí),是以普通方式調(diào)用安裝包,彈出安裝向?qū)?,等待用戶交互。而這里的用戶交互,通常只是簡(jiǎn)單地不斷地點(diǎn)擊"下一步"按鈕,比較繁瑣。特別是當(dāng)需要安裝的軟件很多時(shí),安裝效率低,用戶體驗(yàn)差。
發(fā)明內(nèi)容本發(fā)明實(shí)施例提供了一種安裝軟件的方法和裝置。所述技術(shù)方案如下—方面,一種安裝軟件的方法,當(dāng)有兩個(gè)或兩個(gè)以上待安裝的安裝任務(wù)時(shí),包括從安裝隊(duì)列中取出安裝任務(wù);如果所述安裝任務(wù)的類型已知,為所述安裝任務(wù)傳入與所述類型相應(yīng)的靜默安裝參數(shù),創(chuàng)建安裝進(jìn)程;根據(jù)所述安裝進(jìn)程,安裝所述安裝任務(wù),當(dāng)所述安裝任務(wù)完成時(shí),從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù)。從安裝隊(duì)列中取出安裝任務(wù)之前包括根據(jù)預(yù)設(shè)的排序方式,為待安裝的安裝任務(wù)建立安裝隊(duì)列。為所述安裝任務(wù)傳入與所述類型相應(yīng)的靜默安裝參數(shù)具體包括通過命令行參數(shù)為所述安裝任務(wù)傳入與所述類型相應(yīng)的靜默安裝參數(shù)。根據(jù)所述安裝進(jìn)程,安裝所述安裝任務(wù)具體包括判斷所述安裝任務(wù)是否支持進(jìn)度通知,如果是,則根據(jù)所述進(jìn)度通知,解析出安裝進(jìn)度值和結(jié)果碼,根據(jù)所述安裝進(jìn)度值和結(jié)果碼,安裝所述安裝任務(wù);如果否,則檢測(cè)所述安裝進(jìn)程,根據(jù)所述安裝進(jìn)程的狀態(tài),安裝所述安裝任務(wù)。當(dāng)所述安裝任務(wù)完成時(shí),從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù)具體包括如果安裝進(jìn)度值達(dá)到100%,且結(jié)果碼表示安裝正常,則所述安裝任務(wù)完成,從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù);如果所述結(jié)果碼表示安裝失敗,則所述安裝任務(wù)完成,從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù);如果檢測(cè)到已退出所述安裝進(jìn)程,則所述安裝任務(wù)完成,從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù)。檢測(cè)所述安裝進(jìn)程具體包括用檢測(cè)進(jìn)程句柄的方式檢測(cè)所述安裝進(jìn)程。所述方法還包括如果所述安裝任務(wù)的類型未知,則以普通方式安裝所述安裝任務(wù)。另一方面,一種安裝軟件的裝置,當(dāng)有兩個(gè)或兩個(gè)以上待安裝的安裝任務(wù)時(shí),其特征在于,包括取出模塊,用于從安裝隊(duì)列中取出安裝任務(wù);創(chuàng)建模塊,用于如果所述安裝任務(wù)的類型已知,為所述安裝任務(wù)傳入與所述類型相應(yīng)的靜默安裝參數(shù),創(chuàng)建安裝進(jìn)程;安裝模塊,用于根據(jù)所述安裝進(jìn)程,安裝所述安裝任務(wù),當(dāng)所述安裝任務(wù)完成時(shí),從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù)。所述裝置還包括隊(duì)列模塊,用于根據(jù)預(yù)設(shè)的排序方式,為待安裝的安裝任務(wù)建立安裝隊(duì)列。所述創(chuàng)建模塊包括參數(shù)傳入單元,用于通過命令行參數(shù)為所述安裝任務(wù)傳入與所述類型相應(yīng)的靜默安裝參數(shù)。所述安裝模塊具體包括判斷單元,用于判斷所述安裝任務(wù)是否支持進(jìn)度通知,第一安裝單元,用于當(dāng)所述安裝任務(wù)支持進(jìn)度通知時(shí),則根據(jù)所述進(jìn)度通知,解析出安裝進(jìn)度值和結(jié)果碼,根據(jù)所述安裝進(jìn)度值和結(jié)果碼,安裝所述安裝任務(wù);第二安裝單元,用于當(dāng)所述安裝任務(wù)不支持進(jìn)度通知時(shí),則檢測(cè)所述安裝進(jìn)程,根據(jù)所述安裝進(jìn)程的狀態(tài),安裝所述安裝任務(wù)。所述安裝模塊包括第一取出單元,用于如果安裝進(jìn)度值達(dá)到100%,結(jié)果碼表示安裝正常,則所述安裝任務(wù)完成,從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù);第二取出單元,用于如果所述結(jié)果碼表示安裝失敗,則所述安裝任務(wù)完成,從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù);第三取出單元,用于如果所述結(jié)果碼表示安裝失敗,則所述安裝任務(wù)完成,從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù)。所述第二安裝單元具體包括檢測(cè)子單元,用于用檢測(cè)進(jìn)程句柄的方式檢測(cè)所述安裝進(jìn)程。所述裝置還包括普通安裝模塊,用于如果所述安裝任務(wù)的類型未知,則以普通方式安裝所述安裝任務(wù)。本發(fā)明實(shí)施例提供的技術(shù)方案的有益效果是本發(fā)明通過當(dāng)有兩個(gè)或兩個(gè)以上待安裝的安裝任務(wù)時(shí),為安裝任務(wù)加入靜默安裝參數(shù),執(zhí)行靜默安裝,并根據(jù)安裝任務(wù)的進(jìn)度通知或進(jìn)程是否已退出,來判斷安裝任務(wù)是否完成,安裝任務(wù)完成后,繼續(xù)安裝下一個(gè)安裝任務(wù),該方法可以簡(jiǎn)單、快捷的安裝軟件,減少了用戶交互,提高了安裝的效率,有效的節(jié)約用戶時(shí)間。圖1是本發(fā)明實(shí)施例提供的一種安裝軟件的方法的流程圖;圖2是本發(fā)明實(shí)施例提供的另一種安裝軟件的方法的流程圖;圖3是本發(fā)明實(shí)施例提供的一種安裝軟件的裝置的結(jié)構(gòu)示意圖。具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。實(shí)施例1為了簡(jiǎn)化安裝多個(gè)軟件時(shí)的操作,提高用戶體驗(yàn),本發(fā)明實(shí)施例提供了一種安裝軟件的方法,當(dāng)有兩個(gè)或兩個(gè)以上待安裝的安裝任務(wù)時(shí),如圖1所示,該方法包括101:從安裝隊(duì)列中取出安裝任務(wù);102:如果該安裝任務(wù)的類型已知,為該安裝任務(wù)傳入與該類型相應(yīng)的靜默安裝參數(shù),創(chuàng)建安裝進(jìn)程;103:根據(jù)該安裝進(jìn)程,安裝該安裝任務(wù),當(dāng)該安裝任務(wù)完成時(shí),從該安裝隊(duì)列中取出下一個(gè)安裝任務(wù)。其中,上述步驟101中,從安裝隊(duì)列中取出安裝任務(wù)之前包括根據(jù)預(yù)設(shè)的排序方式,為待安裝的安裝任務(wù)建立安裝隊(duì)列。其中,上述步驟102中,為該安裝任務(wù)傳入與該類型相應(yīng)的靜默安裝參數(shù)具體包括通過命令行參數(shù)為該安裝任務(wù)傳入與該類型相應(yīng)的靜默安裝參數(shù)。其中,上述步驟103中,根據(jù)該安裝進(jìn)程,安裝該安裝任務(wù)具體包括判斷該安裝任務(wù)是否支持進(jìn)度通知,如果是,則根據(jù)該進(jìn)度通知,解析出安裝進(jìn)度值和結(jié)果碼,根據(jù)該安裝進(jìn)度值和結(jié)果碼,安裝該安裝任務(wù);如果否,則檢測(cè)該安裝進(jìn)程,根據(jù)該安裝進(jìn)程的狀態(tài),安裝該安裝任務(wù)。其中,上述步驟103中,當(dāng)該安裝任務(wù)完成時(shí),從該安裝隊(duì)列中取出下一個(gè)安裝任務(wù)具體包括如果安裝進(jìn)度值達(dá)到100%,且結(jié)果碼表示安裝正常,則該安裝任務(wù)完成,從該安裝隊(duì)列中取出下一個(gè)安裝任務(wù);如果該結(jié)果碼表示安裝失敗,則該安裝任務(wù)完成,從該安裝隊(duì)列中取出下一個(gè)安裝任務(wù);如果檢測(cè)到已退出該安裝進(jìn)程,則該安裝任務(wù)完成,從該安裝隊(duì)列中取出下一個(gè)安裝任務(wù)。其中,上述檢測(cè)該安裝進(jìn)程具體包括用檢測(cè)進(jìn)程句柄的方式檢測(cè)該安裝進(jìn)程。上述方法還包括如果該安裝任務(wù)的類型未知,則以普通方式安裝該安裝任務(wù)。本發(fā)明通過當(dāng)有兩個(gè)或兩個(gè)以上待安裝的安裝任務(wù)時(shí),為安裝任務(wù)加入靜默安裝參數(shù),執(zhí)行靜默安裝,并根據(jù)安裝任務(wù)的進(jìn)度通知或進(jìn)程是否已退出,來判斷安裝任務(wù)是否完成,安裝任務(wù)完成后,繼續(xù)安裝下一個(gè)安裝任務(wù),該方法可以簡(jiǎn)單、快捷的安裝軟件,減少了用戶交互,提高了安裝的效率,有效的節(jié)約用戶時(shí)間。實(shí)施例2為了簡(jiǎn)化安裝多個(gè)軟件時(shí)的操作,提高用戶體驗(yàn),本發(fā)明實(shí)施例提供了一種安裝軟件的方法,當(dāng)有兩個(gè)或兩個(gè)以上待安裝的安裝任務(wù)時(shí),如圖2所示,該方法包括201:根據(jù)預(yù)設(shè)的排序方式,為待安裝的安裝任務(wù)建立安裝隊(duì)列;其中,預(yù)設(shè)的排序方式可以是根據(jù)用戶的設(shè)定的優(yōu)先級(jí)來排序,也可以根據(jù)安裝包下載完成的順序排序,還可以根據(jù)插件的重要性排序,本發(fā)明實(shí)施例對(duì)此不做具體限定。其中,建立安裝隊(duì)列是為待安裝的安裝任務(wù)排序,以便按照順序安裝。需要說明的是,本發(fā)明實(shí)施例所指的待安裝的安裝任務(wù),可以是多個(gè)軟件安裝包,也可以是多個(gè)軟件升級(jí)包,本發(fā)明實(shí)施例對(duì)此不做具體限定。當(dāng)待安裝的安裝任務(wù)為軟件升級(jí)包時(shí),在步驟201之前包括但不限于以下過程啟動(dòng)軟件升級(jí),對(duì)本地已裝軟件列表進(jìn)行檢測(cè),該檢測(cè)包括對(duì)版本號(hào)等的檢測(cè);向服務(wù)器查詢需要升級(jí)的軟件列表及具體的配置信息,該具體的配置信息包括版本號(hào)、下載安裝包的URL、下載限速參數(shù)等;根據(jù)需要升級(jí)的軟件列表及具體的配置信息逐個(gè)從文件服務(wù)器下載安裝包;完成該批量下載的過程后,再進(jìn)行進(jìn)行步驟201及后續(xù)的步驟。需要說明的是,本領(lǐng)域技術(shù)人員可以獲知,上述對(duì)本地已裝軟件列表進(jìn)行檢測(cè)的方法可以有多種,本發(fā)明實(shí)施例不做具體限定。202:從安裝隊(duì)列中取出一個(gè)安裝任務(wù);其中,取出方式一般是從安裝隊(duì)列優(yōu)先級(jí)最高的安裝任務(wù)開始取,該優(yōu)先級(jí)指該安裝任務(wù)在安裝隊(duì)列中所處的位置,如果相對(duì)靠前,則優(yōu)先級(jí)較高,如果該安裝任務(wù)處于安裝隊(duì)列的第一位則稱其優(yōu)先級(jí)最高。需要說明的是,本領(lǐng)域技術(shù)人員可以獲知,當(dāng)取出一個(gè)安裝任務(wù)后,需要對(duì)安裝任務(wù)的類型進(jìn)行判斷,如果客戶端可以識(shí)別安裝任務(wù)的安裝包參數(shù),則該安裝任務(wù)的類型為已知,如果客戶端無法識(shí)別安裝任務(wù)的安裝包參數(shù),則該安裝任務(wù)的類型為未知。需要說明的是,每一個(gè)安裝任務(wù)的安裝包參數(shù)都是由后臺(tái)系統(tǒng)配置,配置的參數(shù)包括但不限于下載鏈接、版本號(hào)、靜默安裝命令行格式參數(shù)、是否支持進(jìn)度通知、進(jìn)度通知的格式參數(shù)等。這些參數(shù)配置通過服務(wù)器下發(fā)到客戶端,由客戶端具體解釋執(zhí)行。203:如果安裝任務(wù)的類型已知,為取出的安裝任務(wù)傳入與該類型相應(yīng)的相應(yīng)的靜默安裝參數(shù),創(chuàng)建安裝進(jìn)程;其中,本領(lǐng)域技術(shù)人員可以獲知,靜默安裝參數(shù)用于命令安裝包執(zhí)行靜默安裝,靜默安裝指的是安裝時(shí)無需任何用戶干預(yù),直接按默認(rèn)設(shè)置安裝,當(dāng)靜默安裝時(shí),用戶無需與計(jì)算機(jī)進(jìn)行交互。另外,不同的軟件安裝包的靜默安裝命令行參數(shù)可能不相同,因此客戶端需要兼容多種靜默安裝格式。對(duì)于類型已知的安裝任務(wù),可以根據(jù)其類型,為其傳入與其相對(duì)應(yīng)的靜默安裝參數(shù)。需要說明的是,每一款軟件的具體靜默安裝參數(shù)通過后臺(tái)配置系統(tǒng)人工配置,并通過服務(wù)器下發(fā)給客戶端。具體地,為取出的安裝任務(wù)傳入靜默安裝參數(shù)具體包括通過命令行參數(shù)為安裝任務(wù)傳入靜默安裝參數(shù),命令行參數(shù)為具體格式可以如下setup.exe##silence=l&handle="value"其中,silence的值固定為l,表示靜默安裝,即無界面安裝;handle標(biāo)識(shí)了界面程序的主窗口句柄,它的值一般為十進(jìn)制,用于通知安裝進(jìn)度及結(jié)果。例如,對(duì)于QQ安裝程序,可以有以下靜默參數(shù)QQ.exe##silence=l&handle=3721。進(jìn)一步地,如果安裝任務(wù)的類型未知,則以普通方式安裝該安裝任務(wù)。這里所說的普通方式是指一般安裝軟件的方式。204:判斷安裝任務(wù)是否支持進(jìn)度通知,如果是,執(zhí)行步驟205,如果否,執(zhí)行步驟206;其中,判斷安裝任務(wù)是否支持進(jìn)度通知的方法是查詢安裝任務(wù)的安裝包的配置參數(shù),根據(jù)參數(shù)判斷安裝任務(wù)是否支持進(jìn)度通知。205:根據(jù)進(jìn)度通知,解析出安裝進(jìn)度值和結(jié)果碼,根據(jù)所述安裝進(jìn)度值和結(jié)果碼完成界面顯示并安裝該安裝任務(wù),當(dāng)安裝進(jìn)度值達(dá)到100%,且結(jié)果碼表示安裝正常,則該安裝任務(wù)完成,執(zhí)行步驟207;其中,進(jìn)度通知是軟件安裝時(shí)發(fā)送給客戶端的用于通知安裝狀態(tài)的消息,結(jié)果碼是表示安裝是否正常及描述安裝失敗原因的參數(shù)。需要說明的是,進(jìn)度通知可以通過多種方式進(jìn)行,比如消息、管道、共享內(nèi)存等,本發(fā)明實(shí)施例對(duì)此不做限制,本發(fā)明實(shí)施例僅以通過消息通知方式接口為例進(jìn)行說明,示例如下通過WM_COPYDATA消息來通知,界面程序在該消息的響應(yīng)中更新界面安裝進(jìn)度。消息定義可以如下Message:WM_COPYDATAwParam:發(fā)送者窗口句柄1Param:指向COPYDATASTRUCT結(jié)構(gòu)COPYDATASTRUCT的參數(shù)含義具體見下表<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table>按照上述定義,各種安裝狀態(tài)的具體結(jié)果碼值可以有以下定義〃預(yù)定義宏#defineSETUP_NOTIFY10001#defineIRE—SUCCESS0#defineIRE—DISKFULL1#defineIRE—OSNOTSUPPORT2安裝狀態(tài)的結(jié)果碼通知格式可以有多種,本發(fā)明實(shí)施例僅以以下函數(shù)為例進(jìn)行說明例如當(dāng)結(jié)果碼通知格式為SendlnstallProgress(HWNDhWnd,DWORDdwProgress,DWORDdwResult),則有消息SendlnstallProgress(hWnd,30,IRE_SUCCESS);該消息的具體內(nèi)容為當(dāng)前安裝進(jìn)度為30%,安裝正常;消息SendInstallProgress(hWnd,100,IRE_SUCCESS);該消息的具體內(nèi)容為當(dāng)前安裝進(jìn)度為100%,安裝正常;消息SendlnstallProgress(hWnd,20,IRE_DISKFULL);該消息的具體內(nèi)容為當(dāng)前安裝進(jìn)度為20%,安裝失敗,因?yàn)榇疟P空間滿。進(jìn)一步地,如果結(jié)果碼表示安裝失敗,則該安裝任務(wù)完成,此時(shí)可以判斷安裝隊(duì)列中是否有安裝任務(wù),如果是,執(zhí)行步驟208,也可以根據(jù)消息的內(nèi)容,修正、改正錯(cuò)誤或重試安裝過程,直到成功后再進(jìn)行后續(xù)的步驟。需要說明的是,不同的軟件安裝包的進(jìn)度通知格式可能不相同,有些可能不支持進(jìn)度通知,因此客戶端需要兼容多種靜默安裝格式。每一款軟件的具體進(jìn)度通知格式參數(shù)通過后臺(tái)配置系統(tǒng)人工配置,并通過服務(wù)器下發(fā)給客戶端。后臺(tái)配置系統(tǒng)具體下發(fā)的配置信息可通過xml結(jié)構(gòu)表示,本發(fā)明實(shí)施例對(duì)此不做具體限定。206:檢測(cè)安裝進(jìn)程,根據(jù)安裝進(jìn)程的狀態(tài),安裝該安裝任務(wù),如果檢測(cè)到已退出安裝進(jìn)程,則安裝任務(wù)完成。具體地,檢測(cè)安裝進(jìn)程一般是通過檢測(cè)進(jìn)程句柄的方式進(jìn)行的,當(dāng)檢測(cè)到已退出該安裝進(jìn)程,則安裝任務(wù)完成。需要說明的是,上述步驟204-206中是先判斷安裝任務(wù)是否支持進(jìn)度通知,然后根據(jù)判斷的結(jié)果安裝,也可以在開始安裝的同時(shí)進(jìn)行是否支持進(jìn)度通知的判斷,然后再根據(jù)判斷的結(jié)果繼續(xù)安裝,還可以在開始安裝后進(jìn)行是否支持進(jìn)度通知的判斷,然后再根據(jù)判斷的結(jié)果繼續(xù)安裝,開始安裝和判斷的順序可以互換。207:當(dāng)安裝完畢時(shí),判斷安裝隊(duì)列中是否還有安裝任務(wù),如果是,執(zhí)行步驟208,如果否,執(zhí)行步驟209;208:從安裝隊(duì)列中取出下一個(gè)安裝任務(wù),執(zhí)行步驟203;需要說明的是,如果在安裝的同時(shí),還有新的軟件下載完畢,該新的軟件可以與安裝隊(duì)列中剩余的安裝任務(wù)重新排序,或直接排在安裝隊(duì)列的最后,視用戶的設(shè)置而定。209:結(jié)束。本發(fā)明通過當(dāng)有兩個(gè)或兩個(gè)以上待安裝的安裝任務(wù)時(shí),為安裝任務(wù)加入靜默安裝參數(shù),執(zhí)行靜默安裝,并根據(jù)安裝任務(wù)的進(jìn)度通知或進(jìn)程是否已退出,來判斷安裝任務(wù)是否完成,安裝任務(wù)完成后,繼續(xù)安裝下一個(gè)安裝任務(wù),該方法可以簡(jiǎn)單、快捷的安裝軟件,減少了用戶交互,提高了安裝的效率,有效的節(jié)約用戶時(shí)間。實(shí)施例3為了簡(jiǎn)化安裝多個(gè)軟件時(shí)的操作,提高用戶體驗(yàn),本發(fā)明實(shí)施例提供了一種安裝軟件的裝置,用于當(dāng)有兩個(gè)或兩個(gè)以上待安裝的安裝任務(wù)時(shí),如圖3所示,該裝置包括取出模塊301,用于從安裝隊(duì)列中取出安裝任務(wù);創(chuàng)建模塊302,用于如果該安裝任務(wù)的類型已知,為該安裝任務(wù)傳入與該類型相應(yīng)的靜默安裝參數(shù),創(chuàng)建安裝進(jìn)程;該創(chuàng)建模塊302包括參數(shù)傳入單元3021,用于通過命令行參數(shù)為該安裝任務(wù)傳入與該類型相應(yīng)的靜默安裝參數(shù)。安裝模塊303,用于根據(jù)該安裝進(jìn)程,安裝該安裝任務(wù),當(dāng)該安裝任務(wù)完成時(shí),從該安裝隊(duì)列中取出下一個(gè)安裝任務(wù)。該安裝模塊303具體包括判斷單元3031,用于判斷該安裝任務(wù)是否支持進(jìn)度通知,第一安裝單元3032,用于當(dāng)該安裝任務(wù)支持進(jìn)度通知時(shí),則根據(jù)該進(jìn)度通知,解析出安裝進(jìn)度值和結(jié)果碼,根據(jù)該安裝進(jìn)度值和結(jié)果碼,安裝該安裝任務(wù);第二安裝單元3033,用于當(dāng)該安裝任務(wù)不支持進(jìn)度通知時(shí),則檢測(cè)該安裝進(jìn)程,根據(jù)該安裝進(jìn)程的狀態(tài),安裝該安裝任務(wù)。該第二安裝單元3033具體包括檢測(cè)子單元30331,用于用檢測(cè)進(jìn)程句柄的方式檢測(cè)該安裝進(jìn)程。第一取出單元3034,用于如果安裝進(jìn)度值達(dá)到100%,結(jié)果碼表示安裝正常,則該安裝任務(wù)完成,從該安裝隊(duì)列中取出下一個(gè)安裝任務(wù);第二取出單元3035,用于如果該結(jié)果碼表示安裝失敗,則該安裝任務(wù)完成,從該安裝隊(duì)列中取出下一個(gè)安裝任務(wù);第三取出單元3036,用于如果該結(jié)果碼表示安裝失敗,則該安裝任務(wù)完成,從該安裝隊(duì)列中取出下一個(gè)安裝任務(wù)。該裝置還包括隊(duì)列模塊300,用于根據(jù)預(yù)設(shè)的排序方式,為待安裝的安裝任務(wù)建立安裝隊(duì)列。該裝置還包括普通安裝模塊304,用于如果該安裝任務(wù)的類型未知,則以普通方式安裝該安裝任務(wù)。本實(shí)施例提供的裝置,與方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,在此不再贅述。本發(fā)明通過當(dāng)有兩個(gè)或兩個(gè)以上待安裝的安裝任務(wù)時(shí),為安裝任務(wù)加入靜默安裝參數(shù),執(zhí)行靜默安裝,并根據(jù)安裝任務(wù)的進(jìn)度通知或進(jìn)程是否已退出,來判斷安裝任務(wù)是否完成,安裝任務(wù)完成后,繼續(xù)安裝下一個(gè)安裝任務(wù),該方法可以簡(jiǎn)單、快捷的安裝軟件,減少了用戶交互,提高了安裝的效率,有效的節(jié)約用戶時(shí)間。本發(fā)明實(shí)施例提供的上述技術(shù)方案的全部或部分可以通過程序指令相關(guān)的硬件來完成,所述程序可以存儲(chǔ)在可讀取的存儲(chǔ)介質(zhì)中,該存儲(chǔ)介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求一種安裝軟件的方法,當(dāng)有兩個(gè)或兩個(gè)以上待安裝的安裝任務(wù)時(shí),其特征在于,包括從安裝隊(duì)列中取出安裝任務(wù);如果所述安裝任務(wù)的類型已知,為所述安裝任務(wù)傳入與所述類型相應(yīng)的靜默安裝參數(shù),創(chuàng)建安裝進(jìn)程;根據(jù)所述安裝進(jìn)程,安裝所述安裝任務(wù),當(dāng)所述安裝任務(wù)完成時(shí),從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,從安裝隊(duì)列中取出安裝任務(wù)之前包括根據(jù)預(yù)設(shè)的排序方式,為待安裝的安裝任務(wù)建立安裝隊(duì)列。3.根據(jù)權(quán)利要求1或2任一項(xiàng)所述的方法,其特征在于,為所述安裝任務(wù)傳入與所述類型相應(yīng)的靜默安裝參數(shù)具體包括通過命令行參數(shù)為所述安裝任務(wù)傳入與所述類型相應(yīng)的靜默安裝參數(shù)。4.根據(jù)權(quán)利要求1或2任一項(xiàng)所述的方法,其特征在于,根據(jù)所述安裝進(jìn)程,安裝所述安裝任務(wù)具體包括判斷所述安裝任務(wù)是否支持進(jìn)度通知,如果是,則根據(jù)所述進(jìn)度通知,解析出安裝進(jìn)度值和結(jié)果碼,根據(jù)所述安裝進(jìn)度值和結(jié)果碼,安裝所述安裝任務(wù);如果否,則檢測(cè)所述安裝進(jìn)程,根據(jù)所述安裝進(jìn)程的狀態(tài),安裝所述安裝任務(wù)。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)所述安裝任務(wù)完成時(shí),從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù)具體包括如果安裝進(jìn)度值達(dá)到100%,且結(jié)果碼表示安裝正常,則所述安裝任務(wù)完成,從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù);如果所述結(jié)果碼表示安裝失敗,則所述安裝任務(wù)完成,從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù);如果檢測(cè)到已退出所述安裝進(jìn)程,則所述安裝任務(wù)完成,從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù)。6.根據(jù)權(quán)利要求4所述的方法,其特征在于,檢測(cè)所述安裝進(jìn)程具體包括用檢測(cè)進(jìn)程句柄的方式檢測(cè)所述安裝進(jìn)程。7.根據(jù)權(quán)利要求1、2、5、6任一項(xiàng)所述的方法,其特征在于,所述方法還包括如果所述安裝任務(wù)的類型未知,則以普通方式安裝所述安裝任務(wù)。8.—種安裝軟件的裝置,當(dāng)有兩個(gè)或兩個(gè)以上待安裝的安裝任務(wù)時(shí),其特征在于,包括取出模塊,用于從安裝隊(duì)列中取出安裝任務(wù);創(chuàng)建模塊,用于如果所述安裝任務(wù)的類型已知,為所述安裝任務(wù)傳入與所述類型相應(yīng)的靜默安裝參數(shù),創(chuàng)建安裝進(jìn)程;安裝模塊,用于根據(jù)所述安裝進(jìn)程,安裝所述安裝任務(wù),當(dāng)所述安裝任務(wù)完成時(shí),從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù)。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括隊(duì)列模塊,用于根據(jù)預(yù)設(shè)的排序方式,為待安裝的安裝任務(wù)建立安裝隊(duì)列。10.根據(jù)權(quán)利要求8或9任一項(xiàng)所述的裝置,其特征在于,所述創(chuàng)建模塊包括參數(shù)傳入單元,用于通過命令行參數(shù)為所述安裝任務(wù)傳入與所述類型相應(yīng)的靜默安裝參數(shù)。11.根據(jù)權(quán)利要求8或9任一項(xiàng)所述的裝置,其特征在于,所述安裝模塊具體包括判斷單元,用于判斷所述安裝任務(wù)是否支持進(jìn)度通知,第一安裝單元,用于當(dāng)所述安裝任務(wù)支持進(jìn)度通知時(shí),則根據(jù)所述進(jìn)度通知,解析出安裝進(jìn)度值和結(jié)果碼,根據(jù)所述安裝進(jìn)度值和結(jié)果碼,安裝所述安裝任務(wù);第二安裝單元,用于當(dāng)所述安裝任務(wù)不支持進(jìn)度通知時(shí),則檢測(cè)所述安裝進(jìn)程,根據(jù)所述安裝進(jìn)程的狀態(tài),安裝所述安裝任務(wù)。12.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述安裝模塊包括第一取出單元,用于如果安裝進(jìn)度值達(dá)到100%,結(jié)果碼表示安裝正常,則所述安裝任務(wù)完成,從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù);第二取出單元,用于如果所述結(jié)果碼表示安裝失敗,則所述安裝任務(wù)完成,從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù);第三取出單元,用于如果所述結(jié)果碼表示安裝失敗,則所述安裝任務(wù)完成,從所述安裝隊(duì)列中取出下一個(gè)安裝任務(wù)。13.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述第二安裝單元具體包括檢測(cè)子單元,用于用檢測(cè)進(jìn)程句柄的方式檢測(cè)所述安裝進(jìn)程。14.根據(jù)權(quán)利要求8、9、12、13任一項(xiàng)所述的裝置,其特征在于,所述裝置還包括普通安裝模塊,用于如果所述安裝任務(wù)的類型未知,則以普通方式安裝所述安裝任務(wù)。全文摘要本發(fā)明公開了一種安裝軟件的方法和裝置,屬于計(jì)算機(jī)領(lǐng)域。該方法包括從安裝隊(duì)列中取出安裝任務(wù);如果安裝任務(wù)的類型已知,為安裝任務(wù)傳入與類型相應(yīng)的靜默安裝參數(shù),創(chuàng)建安裝進(jìn)程;根據(jù)安裝進(jìn)程,安裝該安裝任務(wù),當(dāng)安裝任務(wù)完成時(shí),從安裝隊(duì)列中取出下一個(gè)安裝任務(wù)。還公開了一種安裝軟件的裝置,該裝置包括取出模塊,創(chuàng)建模塊和安裝模塊。本發(fā)明通過為安裝任務(wù)加入靜默安裝參數(shù),可以簡(jiǎn)單、快捷的安裝軟件,減少了用戶交互,提高了安裝的效率,有效的節(jié)約用戶時(shí)間。文檔編號(hào)G06F9/445GK101727344SQ20101000056公開日2010年6月9日申請(qǐng)日期2010年1月12日優(yōu)先權(quán)日2010年1月12日發(fā)明者王寶劍申請(qǐng)人:騰訊科技(深圳)有限公司