亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種UKey安裝包自動快速生成系統(tǒng)及其方法

文檔序號:8258117閱讀:953來源:國知局
一種UKey安裝包自動快速生成系統(tǒng)及其方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件編譯技術(shù),具體涉及自動編譯打包技術(shù)。
【背景技術(shù)】
[0002]USB Key (以下簡稱UKey)是一種USB接口的硬件設(shè)備。它內(nèi)置單片機或智能卡芯片,有一定的存儲空間,可以存儲用戶的私鑰以及數(shù)字證書,利用USB Key內(nèi)置的公鑰算法實現(xiàn)對用戶身份的認證。由于用戶私鑰保存在密碼鎖中,理論上使用任何方式都無法讀取,因此保證了用戶認證的安全性。
[0003]目前UKey安裝包的主要任務(wù)是壓縮程序文件到資源中,并在安裝時釋放到客戶機上,現(xiàn)階段的集成開發(fā)環(huán)境與安裝包制作工具的沒有統(tǒng)一的接口工具,需要手動編譯鏈接后生成依賴庫文件,經(jīng)過簽名,時間戳,復(fù)制到相應(yīng)的資源文件目錄下,通過打包腳本NSIS,按照一定規(guī)則生成可執(zhí)行文件安裝包,并通過ISO工具生成鏡像文件。
[0004]這樣繁瑣的操作流程,需要花費開發(fā)人員大量的時間,大大影響開發(fā)人員的工作效率。

【發(fā)明內(nèi)容】

[0005]針對現(xiàn)有UKey安裝包生成時操作流程復(fù)雜,影響開發(fā)人員工作效率的問題,本發(fā)明的目的之一在于提供一種提高開發(fā)人員工作效率的自動快速生成UKey安裝包的系統(tǒng)。
[0006]本發(fā)明的目的之二提供一種UKey安裝包自動快速生成的方法。
[0007]為了達到上述目的,本發(fā)明采用如下的技術(shù)方案:
[0008]一種UKey安裝包自動快速生成系統(tǒng),所示系統(tǒng)包括:
[0009]下載項目工程模塊,所述下載項目工程模塊包含下載項目工程文件腳本文件,該模塊從服務(wù)器上自動下載項目工程文件,并生成一系列源代碼文件和工程配置文件;
[0010]代碼編譯鏈接模塊,所述代碼編譯鏈接模塊與下載項目工程模塊數(shù)據(jù)相接,并對下載項目功能模塊執(zhí)行所生成的一系列源代碼文件和工程配置文件進行處理生成對應(yīng)的可執(zhí)行文件和動態(tài)庫文件;
[0011]文件打包模塊,所述文件打包模塊與代碼編譯鏈接模塊數(shù)據(jù)相接,并對代碼編譯鏈接模塊生成的可執(zhí)行文件和動態(tài)庫文件進行處理生成一個作為中間安裝包的可執(zhí)行文件;
[0012]文件簽名模塊,所述文件簽名模塊分別與文件打包模塊以及代碼編譯模塊的數(shù)據(jù)相接,該文件簽名模塊對代碼編譯模塊生成的可執(zhí)行文件和動態(tài)庫文件進行數(shù)字簽名操作,并附上時間戳,并將簽名后的可執(zhí)行文件和動態(tài)庫文件作為文件打包模塊的輸入數(shù)據(jù);同時對文件打包模塊打包處理生成的可執(zhí)行文件進行數(shù)字簽名操作,產(chǎn)生一個帶有數(shù)字簽名的可執(zhí)行文件,即最后生成的安裝包;
[0013]環(huán)境參數(shù)配置模塊,所述環(huán)境參數(shù)配置模塊提供對下載項目工程模塊,代碼編譯模塊,文件打包模塊,文件簽名模塊的參數(shù)配置功能;
[0014]臨時文件處理模塊,所述臨時文件處理模塊提供對下載項目工程模塊,代碼編譯模塊,文件打包模塊,文件簽名模塊運行產(chǎn)生的臨時文件的清理功能。在該系統(tǒng)的優(yōu)選方案中,所述下載項目工程模塊中包含SVN模塊,在SVN模塊中設(shè)置源代碼服務(wù)器URL、登陸賬號、密碼,以及本地項目工程文件夾。進一步的,所述代碼編譯鏈接模塊中包含代碼編譯工具visual stud1,該工具根據(jù)環(huán)境參數(shù)配置模塊據(jù)配置的編譯參數(shù)對下載項目工程模塊生成的源代碼文件和工程配置文件進行編譯處理。
[0015]進一步的,所述文件打包模塊中包含NSIS腳本文件以及NSIS安裝包制作模塊。
[0016]進一步的,所述文件簽名模塊中包含數(shù)字簽名工具SignTool、簽名腳本文件以及簽名所用到的Pfx證書。
[0017]進一步的,所述環(huán)境參數(shù)配置模塊對簽名工具SignTool的路徑、項目工程文件的路徑、NSIS腳本文件的路徑、以及visual stud1的附加參數(shù)的定義和配置。
[0018]進一步的,所述臨時文件處理模塊包含刪除、創(chuàng)建文件和文件夾的邏輯操作。
[0019]本發(fā)明的第二目的,一種UKey安裝包自動快速生成的方法,所述方法包括以下幾步:
[0020](I)配置集成開發(fā)環(huán)境目錄、SVN路徑、NSIS路徑以及本地目錄;
[0021](2)刪除本地目錄下的原工程文件夾,創(chuàng)建本地工程目錄,執(zhí)行下載項目工程腳本文件后,將源代碼文件從SVN服務(wù)器上下載到本地工程目錄下;
[0022](3)對代碼編譯腳本文件執(zhí)行自動編譯腳本,生成一系列庫文件;
[0023](4)對生成的庫文件做簽名時間戳;
[0024](5)對簽名后的庫文件執(zhí)行NSIS打包腳本,生成安裝包可執(zhí)行文件。
[0025]在上述方案的優(yōu)選方案中,所述步驟(I)中使用visual build工具設(shè)置SVN下載項目工程路徑和參數(shù)、編譯腳本路徑和參數(shù)、簽名工具SignTool路徑和參數(shù)、NSIS打包腳本路徑和參數(shù)。
[0026]進一步的,所述步驟(3)中使用集成編譯工具visual stud1對下載到本地工程目錄下的源代碼文件進行編譯鏈接,生成一系列庫文件。
[0027]進一步的,所述步驟(5)中使用NSIS安裝包制作工具對USBKey安裝包腳本執(zhí)行打包命令,將簽名后的庫文件以及軟件資源文件封裝成一個可執(zhí)行程序。
[0028]通過本發(fā)明提供的方案能夠?qū)崿F(xiàn)UKEY安裝包的自動、快速的生成,極大的簡化安裝包制作流程,有效的提高開發(fā)人員的工作效率。
【附圖說明】
[0029]以下結(jié)合附圖和【具體實施方式】來進一步說明本發(fā)明。
[0030]圖1為本發(fā)明中UKey安裝包自動快速生成系統(tǒng)的原理框圖;
[0031]圖2為本發(fā)明中UKey安裝包自動快速生成系統(tǒng)實施原理圖;
[0032]圖3為本發(fā)明中UKey安裝包自動快速生成的流程圖。
【具體實施方式】
[0033]為了使本發(fā)明實現(xiàn)的技術(shù)手段、創(chuàng)作特征、達成目的與功效易于明白了解,下面結(jié)合具體圖示,進一步闡述本發(fā)明。
[0034]參見圖1,其所示為本發(fā)明提供的UKey安裝包自動快速生成系統(tǒng)的原理框圖。由圖可知,整個生成系統(tǒng)10主要由下載項目工程模塊11、代碼編譯鏈接模塊12、文件打包模塊13、文件簽名模塊14、環(huán)境參數(shù)配置模塊15以及臨時文件處理模塊16配合組成。
[0035]其中,下載項目工程模塊11的主要功能是刪除原項目工程目錄,使用TortoiseSVN軟件從環(huán)境參數(shù)配置模塊中設(shè)置的SVN路徑將項目工程文件下載到用戶的本地計算機中。SVN軟件是提供從遠程代碼服務(wù)器中下載代碼的開源軟件,通過安裝到用戶的本地計算機中,并通過執(zhí)行checkout命令,在用戶的本地計算機中就生成項目工程目錄文件。
[0036]代碼編譯鏈接模塊12,其與下載項目工程模塊11數(shù)據(jù)相接,下載項目工程模塊11產(chǎn)生一系列項目工程目錄文件,并將這些文件數(shù)據(jù)作為代碼編譯模塊的輸入數(shù)據(jù),通過代碼編譯鏈接模塊的處理生成一些可執(zhí)行文件和動態(tài)庫文件。具體的,該代碼編譯鏈接模塊12使用visual stud1集成編譯工具打開項目工程文件(通常是.以dsp為后綴的文件),執(zhí)行/useenv命令后,根據(jù)環(huán)境參數(shù)配置模塊15中配置的生成庫文件的目錄,編譯鏈接后的一系列庫文件被復(fù)制到該目錄下。
[0037]文件打包模塊13,其與代碼編譯鏈接模塊數(shù)據(jù)相接,該文件打包模塊以代碼編譯鏈接模塊生成的可執(zhí)行文件和動態(tài)庫文件作為輸入數(shù)據(jù),并對該輸入數(shù)據(jù)進行打包處理,生成一個可執(zhí)行文件,這個文件就是生成的中間安裝包文件。具體的,該文件打包模塊13使用NSIS打包工具(即NullSoft腳本安裝系統(tǒng))對安裝包腳本文件(通常是以.nsh為后綴的文件)執(zhí)行編譯命令,根據(jù)環(huán)境參數(shù)配置模塊15中配置的安裝包生成的目錄,生成后的安裝包文件被復(fù)制到該目錄下。
[0038]文件簽名模塊14,其與文件打包模塊數(shù)據(jù)相接,以及與代碼編譯模塊的數(shù)據(jù)相接。其中代碼編譯模塊12生成的可執(zhí)行文件和動態(tài)庫文件作為文件簽名模塊的輸入數(shù)據(jù),文件簽名模塊14對可執(zhí)行文件和動態(tài)庫文件進行數(shù)字簽名操作,并附上時間戳,并將這些簽名后的文件作為文件打包模塊的輸入數(shù)據(jù),輸入至文件打包模塊13 ;文件打包模塊13對輸入的、經(jīng)過簽名的數(shù)據(jù)進行打包處理,生成一個可執(zhí)行文件,并將該可執(zhí)行文件同時作為文件簽名模塊的輸入數(shù)據(jù)輸入至文件簽名模塊14,再經(jīng)過文件簽名模塊14的簽名處理,產(chǎn)生一個帶有數(shù)字簽名的可執(zhí)行文件,即最后生成的安裝包。具體的,文件簽名模塊14使用簽名工具signTool執(zhí)行簽名批處理腳本后,根據(jù)參數(shù)配置模塊15中配置的簽名文件生成的目錄,生成簽名后的可執(zhí)行文件和動態(tài)庫文件被復(fù)制到該目錄下。
[0039]環(huán)境參數(shù)配置模塊15,其分別與下載項目工程模塊11、代碼編譯鏈接模塊12、文件打包模塊13、文件簽名模塊14數(shù)據(jù)相接,提供其它模塊的參數(shù)配置。該模塊使用visualbuild工具設(shè)置項目工程目錄、SVN路徑、NSIS路徑以及本地項目工程路徑、visual stud1工具編譯鏈接參數(shù)、NSIS編譯參數(shù)。
[0040]臨時文件處理模塊16,其分別與下載項目工程模塊11、代碼編譯鏈接模塊12、文件打包模塊13、文件簽名模塊14數(shù)據(jù)相接,提供其它模塊的文件操作。該模塊使用visualbuild工具可以執(zhí)行創(chuàng)建文件和文件夾、刪除文件和文件夾、復(fù)制文件和文件夾、移動文件和文件夾操作。其他模塊產(chǎn)生的臨時文件都經(jīng)過此模塊的處理后,最后執(zhí)行刪除操作。
[0041]由此構(gòu)成的UKey安裝包自動快速生成系統(tǒng),其在生產(chǎn)Ukey安裝包時,首先通過環(huán)境參數(shù)配置模塊設(shè)置其他模塊的內(nèi)部處理參數(shù)配置,下載項目工程模塊負責(zé)從遠程下載項目工程到本地終端上,下載后的項目工程文件通過代碼編譯鏈接模塊的處理,生成一系列可執(zhí)行文件和動態(tài)庫文件,中間處理邏輯涉及到臨時文件處理模塊,負責(zé)各個模塊內(nèi)部產(chǎn)生的臨時文件的創(chuàng)建、修改、刪除等處理邏輯,文件打包模塊負責(zé)將代碼編譯鏈接模塊產(chǎn)生的文件通過內(nèi)部處理生成一個可執(zhí)行文件,再經(jīng)過文件簽名模塊的處理輸出一個帶有數(shù)字簽名的可執(zhí)行文件,即最后生成的安裝包。
[0042]參見圖2,其所示為上述UKey安裝包自動快速生成系統(tǒng),在具體實施時的原理圖。
[0043]由圖可可知,整個系統(tǒng)中主要利用Visual build工具、SignTool簽名工具、NSIS工具、V
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1