專利名稱:給多個客戶端快速部署軟件的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機系統(tǒng)維護領(lǐng)域,特別是涉及一種給多個客戶端快速部署軟件的方法。
背景技術(shù):
在傳統(tǒng)軟件的安裝過程中,需要一步一步來配置安裝選項,若客戶端的機器數(shù)量較多,給客戶端每臺機器上安裝同樣的軟件時,需要安裝人員到每臺機器上去重復(fù)同樣的安裝過程,不僅耗費人力和時間,而且配置項容易出錯。
發(fā)明內(nèi)容
本發(fā)明的目的是為了克服上述背景技術(shù)的不足,提供一種給多個客戶端快速部署軟件的方法,能夠?qū)崿F(xiàn)在無人工干預(yù)的情況下給多個客戶端快速部署軟件,節(jié)省人力和時間,由于安裝時省去了人為選擇配置項,配置項不會出錯,而且容易實施。本發(fā)明提供的給多個客戶端快速部署軟件的方法,包括以下步驟SI、在樣機上安裝并啟動文件和注冊表虛擬化驅(qū)動程序;S2、運行軟件安裝程序,監(jiān)控并記錄安裝過程中的文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù),安裝結(jié)束后停止文件和注冊表虛擬化驅(qū)動程序;S3、對記錄的文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù)進行打包,并將打包生成的文件發(fā)送到服務(wù)器上;S4、 服務(wù)器將打包生成的文件分別發(fā)送到多個客戶端,各客戶端自動執(zhí)行文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù)的導(dǎo)入,完成多個客戶端上的軟件部署。在上述技術(shù)方案中,所述文件和注冊表虛擬化驅(qū)動程序?qū)惭b過程中所有的文件創(chuàng)建、修改數(shù)據(jù)和注冊表創(chuàng)建、修改數(shù)據(jù)重定向到固定位置。在上述技術(shù)方案中,所述打包生成的文件為至少一個文件。在上述技術(shù)方案中,步驟S2中所述監(jiān)控并記錄安裝過程中的文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù)的過程如下為待部署軟件生成一個全局唯一 ID,在系統(tǒng)盤根目錄下創(chuàng)建一個以該ID命名的目錄,在注冊表HKEY_LOCAL_MACHINE\SOFTWARE下創(chuàng)建一個以該ID命名的子鍵項;待部署軟件的安裝程序運行時,將軟件安裝過程中文件的創(chuàng)建、修改數(shù)據(jù)重定向到以該ID命名的目錄中,將軟件安裝過程中注冊表的創(chuàng)建、修改數(shù)據(jù)重定向到以該ID命名的子鍵項中。在上述技術(shù)方案中,步驟S3中的打包過程如下軟件安裝結(jié)束后,將監(jiān)控到的注冊表創(chuàng)建、修改數(shù)據(jù)導(dǎo)出,生成注冊表文件regF,再將注冊表文件regF和監(jiān)控到的文件創(chuàng)建、修改數(shù)據(jù)打包成一個文件。在上述技術(shù)方案中,步驟S4中客戶端自動執(zhí)行文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù)的導(dǎo)入之前還包括步驟根據(jù)打包生成的文件中的ID標(biāo)志,檢測該軟件是否已經(jīng)安裝。在上述技術(shù)方案中,步驟S2中停止文件和注冊表虛擬化驅(qū)動程序后,對文件監(jiān)控結(jié)果中的特殊目錄進行轉(zhuǎn)換,以特定名稱標(biāo)明路徑。在上述技術(shù)方案中,所述特殊目錄包括“我的文檔”、“我的音樂”、“我的開始菜單”、“我的收藏夾”、“用戶程序數(shù)據(jù)目錄”、“本地設(shè)置程序數(shù)據(jù)目錄”、“開始菜單目錄”、“桌面目錄”、“操作系統(tǒng)目錄”和“默認(rèn)軟件安裝目錄”。在上述技術(shù)方案中,步驟S4中客戶端自動執(zhí)行文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù)的導(dǎo)入時,根據(jù)該客戶端系統(tǒng)信息,將以特定名稱標(biāo)記的路徑進行文件路徑名轉(zhuǎn)換后,再執(zhí)行文件拷貝操作,并將拷貝的文件名記錄在一個log文件中;根據(jù)所述注冊表文件regF的信息,導(dǎo)入注冊表鍵值,并將被修改的原始注冊表信息保存在固定位置。在上述技術(shù)方案中,卸載軟件時,根據(jù)所述log文件的條目,刪除相應(yīng)的文件;根據(jù)保存在固定位置的注冊表信息,清除該軟件產(chǎn)生的注冊表。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點如下本發(fā)明能夠?qū)崿F(xiàn)在無人工干預(yù)的情況下給多個客戶端快速部署軟件,節(jié)省人力和時間,由于安裝時省去了人為選擇配置項,配置項不會出錯,而且容易實施。
圖I是本發(fā)明實施例中給多個客戶端快速部署軟件的方法的流程圖。
具體實施例方式下面結(jié)合附圖及實施例對本發(fā)明作進一步的詳細(xì)描述。參見圖I所示,本發(fā)明實施例提供的給多個客戶端快速部署軟件的方法,包括以下步驟SI、在樣機上安裝并啟動文件和注冊表虛擬化驅(qū)動程序。S2、運行軟件安裝程序,監(jiān)控并記錄安裝過程中的文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù),即文件和注冊表虛擬化驅(qū)動程序?qū)惭b過程中所有的文件創(chuàng)建、修改數(shù)據(jù)和注冊表創(chuàng)建、修改數(shù)據(jù)重定向到固定位置為待部署軟件生成一個全局唯一 ID,在系統(tǒng)盤根目錄下創(chuàng)建一個以該ID命名的目錄,在注冊表HKEY_LOCAL_MACHINE\SOFTWARE下創(chuàng)建一個以該ID 命名的子鍵項;軟件安裝程序運行時,將軟件安裝過程中文件的創(chuàng)建、修改數(shù)據(jù)重定向到以該ID命名的目錄中,將軟件安裝過程中注冊表的創(chuàng)建、修改數(shù)據(jù)重定向到以該ID命名的子鍵項中。安裝結(jié)束后停止文件和注冊表虛擬化驅(qū)動程序。對文件監(jiān)控結(jié)果中的“我的文檔”、“我的音樂”、“我的開始菜單”、“我的收藏夾”、“用戶程序數(shù)據(jù)目錄”、“本地設(shè)置程序數(shù)據(jù)目錄”、“開始菜單目錄”、“桌面目錄”、“操作系統(tǒng)目錄”和“默認(rèn)軟件安裝目錄”等特殊目錄進行轉(zhuǎn)換,以特定名稱標(biāo)明路徑。S3、軟件安裝結(jié)束后,將監(jiān)控到的注冊表創(chuàng)建、修改數(shù)據(jù)導(dǎo)出,生成注冊表文件 regF,再將注冊表文件regF和監(jiān)控到的文件創(chuàng)建、修改數(shù)據(jù)打包成至少一個文件,并將打包生成的文件發(fā)送到服務(wù)器上。S4、服務(wù)器將打包生成的文件分別發(fā)送到多個客戶端,根據(jù)打包生成的文件中的 ID標(biāo)志,檢測該軟件是否已經(jīng)安裝,如果沒有安裝,則各客戶端自動執(zhí)行文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù)的導(dǎo)入,完成多個客戶端上的軟件部署根據(jù)該客戶端系統(tǒng)信息,將以特定名稱標(biāo)記的路徑進行文件路徑名轉(zhuǎn)換后,再執(zhí)行文件拷貝操作,并將拷貝的文件名記錄在一個log文件中;根據(jù)注冊表文件regF的信息,導(dǎo)入注冊表鍵值,并將被修改的原始注冊表信息保存在固定位置。卸載軟件時,根據(jù)log文件的條目,刪除相應(yīng)的文件;根據(jù)保存在固定位置的注冊表信息,清除該軟件產(chǎn)生的注冊表。本發(fā)明實施例的原理詳細(xì)闡述如下Windows操作系統(tǒng)上軟件的安裝過程就是文件和注冊表的安裝過程,在樣機上面監(jiān)控軟件安裝過程,軟件配置項也是作為文件或者注冊表存在的,把監(jiān)控到的文件和注冊表,打包到一個文件中。將打包后的文件發(fā)送到客戶端上,在客戶端上執(zhí)行文件和注冊表的導(dǎo)入過程,這樣可以實現(xiàn)在無人工干預(yù)的情況下在多個客戶端同時部署軟件。軟件由文件和注冊表組成,軟件的虛擬化實現(xiàn)包括文件虛擬化和注冊表虛擬化, 文件虛擬化采用windows系統(tǒng)自帶的文件重定向技術(shù)實現(xiàn)對文件操作的重定向當(dāng)打開文件A時候,被重定向到對文件B的打開,以后對文件A的任何操作實際上都是對文件B的操作。注冊表虛擬化采用攔截windows系統(tǒng)的注冊表的操作函數(shù),實現(xiàn)對注冊表操作的重定向當(dāng)打開注冊表regO的時候,被重定向到對注冊表regR的打開,以后對注冊表regO的任何操作實際上都是對注冊表regR的操作。本發(fā)明實施例對軟件的監(jiān)控和打包步驟如下(I)為需要被打包的軟件生成一個全局唯一 ID ;(2)在系統(tǒng)盤根目錄下面創(chuàng)建一個以該ID命名的目錄;(3)在注冊表HKEY_L0CAL_MACHINE\S0FTWARE下創(chuàng)建一個以該ID命名的子鍵項;(4)運行軟件安裝程序;(5)將軟件安裝過程中產(chǎn)生的文件和注冊表分別重定向到以該ID命名的目錄和子鍵項中;(6)軟件安裝過程結(jié)束;(7)處理監(jiān)控到的文件和注冊表數(shù)據(jù);對監(jiān)控到的文件處理由于windows系統(tǒng)中某些目錄,在不同機器的系統(tǒng)上,路徑也不相同,例如,“我的文檔”、“我的音樂”、“我的開始菜單”、“我的收藏夾”等等,這里需要對特殊目錄進行轉(zhuǎn)換,以特定名稱來標(biāo)明這些路徑;(8)將監(jiān)控到的注冊表信息導(dǎo)出為一個注冊表文件regF ;(9)將注冊表文件regF和監(jiān)控到的文件修改數(shù)據(jù),打包為一個單一文件或者多個文件。軟件包在客戶端的安裝過程如下(I)根據(jù)軟件包中的ID標(biāo)志,檢測該軟件是否已經(jīng)安裝,如果沒有安裝,執(zhí)行下一
I K
少;(2)將以特定名稱標(biāo)記的路徑,根據(jù)本機系統(tǒng)信息進行文件路徑名轉(zhuǎn)換,執(zhí)行文件拷貝過程;將拷貝的文件名記錄在一個log文件中;在軟件卸載的時候,根據(jù)該log文件條目,刪除相應(yīng)的文件;(3)根據(jù)注冊表文件信息,導(dǎo)入注冊表鍵值;將被修改的原始注冊表信息保存在一個固定位置;在軟件卸載的時候,根據(jù)該位置的注冊表信息,執(zhí)行該軟件產(chǎn)生的注冊表信息清除工作。下面以騰訊的QQ聊天軟件為例,說明本發(fā)明實施例的方法。僅需要在任一臺樣機上點擊幾次下一步之后,將QQ聊天軟件制作成可以自動安裝的軟件包,就能自動(無人工干預(yù))進行軟件的安裝,其步驟如下(I)啟動文件和注冊表虛擬化驅(qū)動,開始記錄系統(tǒng)中的文件和注冊表的修改信息。
(2)運行QQ聊天軟件安裝包,執(zhí)行安裝過程,直到安裝結(jié)束。(3)停止文件和注冊表虛擬化驅(qū)動。(4)將監(jiān)控到的文件和注冊表修改信息,打包為單個文件a. pack,并發(fā)到服務(wù)器上。(5)服務(wù)器將a. pack文件發(fā)送到客戶端上,由客戶端的導(dǎo)入程序執(zhí)行文件和注冊表的安裝,即可完成QQ聊天軟件的安裝過程,該過程無需人工干預(yù)。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。
權(quán)利要求
1.一種給多個客戶端快速部署軟件的方法,其特征在于包括以下步驟51、在樣機上安裝并啟動文件和注冊表虛擬化驅(qū)動程序;52、運行軟件安裝程序,監(jiān)控并記錄安裝過程中的文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù),安裝結(jié)束后停止文件和注冊表虛擬化驅(qū)動程序;53、對記錄的文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù)進行打包,并將打包生成的文件發(fā)送到服務(wù)器上;54、服務(wù)器將打包生成的文件分別發(fā)送到多個客戶端,各客戶端自動執(zhí)行文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù)的導(dǎo)入,完成多個客戶端上的軟件部署。
2.如權(quán)利要求I所述的給多個客戶端快速部署軟件的方法,其特征在于所述文件和注冊表虛擬化驅(qū)動程序?qū)惭b過程中所有的文件創(chuàng)建、修改數(shù)據(jù)和注冊表創(chuàng)建、修改數(shù)據(jù)重定向到固定位置。
3.如權(quán)利要求I所述的給多個客戶端快速部署軟件的方法,其特征在于所述打包生成的文件為至少一個文件。
4.如權(quán)利要求I或2或3所述的給多個客戶端快速部署軟件的方法,其特征在于步驟S2中所述監(jiān)控并記錄安裝過程中的文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù)的過程如下為待部署軟件生成一個全局唯一 ID,在系統(tǒng)盤根目錄下創(chuàng)建一個以該ID命名的目錄,在注冊表 HKEY_LOCAL_MACHINE\SOFTWARE下創(chuàng)建一個以該ID命名的子鍵項;待部署軟件的安裝程序運行時,將軟件安裝過程中文件的創(chuàng)建、修改數(shù)據(jù)重定向到以該ID命名的目錄中,將軟件安裝過程中注冊表的創(chuàng)建、修改數(shù)據(jù)重定向到以該ID命名的子鍵項中。
5.如權(quán)利要求4所述的給多個客戶端快速部署軟件的方法,其特征在于步驟S3中的打包過程如下軟件安裝結(jié)束后,將監(jiān)控到的注冊表創(chuàng)建、修改數(shù)據(jù)導(dǎo)出,生成注冊表文件 regF,再將注冊表文件regF和監(jiān)控到的文件創(chuàng)建、修改數(shù)據(jù)打包成一個文件。
6.如權(quán)利要求4所述的給多個客戶端快速部署軟件的方法,其特征在于步驟S4中客戶端自動執(zhí)行文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù)的導(dǎo)入之前還包括步驟根據(jù)打包生成的文件中的ID標(biāo)志,檢測該軟件是否已經(jīng)安裝。
7.如權(quán)利要求4所述的給多個客戶端快速部署軟件的方法,其特征在于步驟S2中停止文件和注冊表虛擬化驅(qū)動程序后,對文件監(jiān)控結(jié)果中的特殊目錄進行轉(zhuǎn)換,以特定名稱標(biāo)明路徑。
8.如權(quán)利要求7所述的給多個客戶端快速部署軟件的方法,其特征在于所述特殊目錄包括“我的文檔”、“我的音樂”、“我的開始菜單”、“我的收藏夾”、“用戶程序數(shù)據(jù)目錄”、“本地設(shè)置程序數(shù)據(jù)目錄”、“開始菜單目錄”、“桌面目錄”、“操作系統(tǒng)目錄”和“默認(rèn)軟件安裝目錄”。
9.如權(quán)利要求7所述的給多個客戶端快速部署軟件的方法,其特征在于步驟S4中客戶端自動執(zhí)行文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù)的導(dǎo)入時,根據(jù)該客戶端系統(tǒng)信息,將以特定名稱標(biāo)記的路徑進行文件路徑名轉(zhuǎn)換后,再執(zhí)行文件拷貝操作,并將拷貝的文件名記錄在一個log文件中;根據(jù)所述注冊表文件regF的信息,導(dǎo)入注冊表鍵值,并將被修改的原始注冊表信息保存在固定位置。
10.如權(quán)利要求9所述的給多個客戶端快速部署軟件的方法,其特征在于卸載軟件時,根據(jù)所述log文件的條目,刪除相應(yīng)的文件;根據(jù)保存在固定位置的注冊表信息,清除該軟件產(chǎn)生的注冊表。
全文摘要
本發(fā)明公開了一種給多個客戶端快速部署軟件的方法,涉及計算機系統(tǒng)維護領(lǐng)域,方法包括步驟在樣機上安裝并啟動文件和注冊表虛擬化驅(qū)動程序;運行軟件安裝程序,監(jiān)控并記錄安裝過程中的文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù),安裝結(jié)束后停止文件和注冊表虛擬化驅(qū)動程序;對記錄的文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù)進行打包,并將打包生成的文件發(fā)送到服務(wù)器上;服務(wù)器將打包生成的文件分別發(fā)送到多個客戶端,各客戶端自動執(zhí)行文件修改數(shù)據(jù)和注冊表修改數(shù)據(jù)的導(dǎo)入,完成多個客戶端上的軟件部署。本發(fā)明能夠?qū)崿F(xiàn)在無人工干預(yù)的情況下給多個客戶端快速部署軟件,節(jié)省人力和時間,由于安裝時省去了人為選擇配置項,配置項不會出錯,而且容易實施。
文檔編號G06F9/445GK102609301SQ201210009509
公開日2012年7月25日 申請日期2012年1月13日 優(yōu)先權(quán)日2012年1月13日
發(fā)明者王陳 申請人:武漢噢易科技有限公司