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

一種軟件安裝及升級方法和裝置的制作方法

文檔序號:6431301閱讀:197來源:國知局

專利名稱::一種軟件安裝及升級方法和裝置的制作方法
技術領域
:本發(fā)明涉及數(shù)據(jù)處理設備的軟件
技術領域
,尤其涉及一種軟件安裝及升級的方法和裝置。
背景技術
:計算機軟件經(jīng)過了幾十年的發(fā)展,慢慢地與互聯(lián)網(wǎng)融合為一體。開放與合作已經(jīng)成為互聯(lián)網(wǎng)技術發(fā)展的必然趨勢,未來的互聯(lián)網(wǎng)可以“更多的融入”,也能更多地分享和收獲。打造一個更加開發(fā)平臺將使整個互聯(lián)網(wǎng)的用戶有一個全新的體驗。同時用戶的使用習慣不斷在變化,軟件的更新頻率不斷縮短,新的功能迭代速度很快,這就要求軟件本身的升級足夠強大,以便更好的滿足用戶需求?,F(xiàn)有的計算機桌面軟件安裝及升級方法通常是在安裝時,將主程序文件,即可執(zhí)·行主程序(.exe格式)文件與資源文件比如所需要加載的.dll文件放在同級目錄下,這樣的好處是Windows操作系統(tǒng)會默認首先加載.exe文件同級的目錄,方便快速找到相應的資源如dll文件。在進行軟件升級時,通常都需要當前主程序(.exe)先退出,然后完成升級軟件包的下載和安裝過程,接下來需要用戶再次啟動軟件才可以看到升級后的功能?,F(xiàn)有的這種軟件安裝及升級方法的缺點是升級時必須首先人工退出當前主程序,才能完整升級軟件的安裝,不但導致需要用戶進行過多的人機交互操作,而且嚴重干擾了用戶使用當前軟件,用戶體驗不好。同時,現(xiàn)有的大多數(shù)桌面軟件需要用戶手工觸發(fā)軟件升級,而實際上通過用戶操作的數(shù)據(jù)來看,用戶手動點擊軟件升級的比率并不大,給用戶的使用帶來了不必要的門檻。因此,現(xiàn)有技術無法做到在主程序運行的過程中完成整個軟件的靜默升級。所謂軟件靜默升級是指在正常使用軟件的過程中,該軟件可以做到自動升級,而用戶在前端使用時完全沒有感知該升級過程,升級完成后,用戶下次啟動軟件,就能直接使用更新后的軟件。
發(fā)明內容有鑒于此,本發(fā)明的主要目的在于提供一種軟件安裝及升級方法和裝置,以實現(xiàn)軟件的靜默升級,減少升級過程中的人機交互次數(shù),方便用戶使用軟件。本發(fā)明的技術方案是這樣實現(xiàn)的一種軟件安裝及升級方法,包括創(chuàng)建當前版本號的版本目錄,將該版本目錄放置在與軟件的主程序文件同級的目錄下,將當前版本軟件的資源文件放置在該版本目錄中;軟件主程序開始運行時,搜索與主程序文件同級目錄下版本號最新的版本目錄,并加載該版本目錄;在軟件主程序運行時啟動升級進程下載并安裝升級軟件,在安裝升級軟件時,創(chuàng)建當前升級軟件的新版本號對應的版本目錄,將該新版本號的版本目錄放置在與所述舊版本目錄同級的目錄下,將新版本軟件的資源文件放置在該新版本號的版本目錄中。一種軟件安裝及升級裝置,包括初始安裝模塊,用于軟件的初始安裝,在初始安裝時,創(chuàng)建當前版本號的版本目錄,將該版本目錄放置在與軟件的主程序文件同級的目錄下,將當前版本軟件的資源文件放置在該版本目錄中;主程序文件,用于啟動運行軟件主程序,并在開始運行時,搜索同級目錄下版本號最新的版本目錄,并加載該版本目錄;升級進程模塊,用于在軟件運行時啟動,啟動后下載并安裝升級軟件,在安裝升級軟件時,創(chuàng)建當前升級軟件的新版本號對應的版本目錄,將該新版本號的版本目錄放置在與所述舊版本目錄同級的目錄下,將新版本軟件的資源文件放置在該新版本號的版本目錄中。與現(xiàn)有技術相比,本發(fā)明所提供的方案采用每個版本軟件的資源文件放置在對應的版本目錄中,所有版本目錄放置在與軟件的可執(zhí)行文件同級的目錄下,并且軟件的所述可執(zhí)行文件在開始執(zhí)行時,搜索同級目錄下版本號最新的版本目錄,并加載該版本目錄。因此,本發(fā)明可以實現(xiàn)在正常使用軟件的過程中,不用退出軟件,就可以做到自動升級安裝,而用戶在前端使用時完全感知不到該升級過程,升級完成后,用戶下次啟動軟件,就能直接使用更新后的軟件,從而實現(xiàn)軟件的靜默升級,減少升級過程中的人機交互次數(shù),方便用戶操作,提升用戶的使用體驗。圖I為本發(fā)明所述軟件安裝及升級方法的流程圖;圖2為本發(fā)明所述軟件初始安裝時的目錄結構示意圖;圖3為本發(fā)明所述軟件升級安裝后的目錄結構示意圖;圖4為本發(fā)明所述升級過程的一種詳細實施流程圖;圖5為本發(fā)明所述的軟件安裝及升級裝置的一種實施示意圖;圖6為本發(fā)明所述的軟件安裝及升級裝置的另一種實施示意圖;圖7為本發(fā)明所述升級進程模塊的一種具體組成示意圖。具體實施例方式下面結合附圖及具體實施例對本發(fā)明再作進一步詳細的說明。本發(fā)明不但適用于計算機,還可以適用于各種數(shù)據(jù)處理設備(如智能手機、平板電腦等)。圖I為本發(fā)明所述軟件安裝及升級方法的流程圖。參見圖1,該方法包括步驟101、創(chuàng)建當前版本號的版本目錄,將該版本目錄放置在與軟件的主程序文件同級的目錄下,將當前版本軟件的資源文件放置在該版本目錄中。在優(yōu)選實施方式中,本步驟可以在初始安裝軟件時執(zhí)行,當然在其他實施方式中也可以在其它時機如服務器指定的時機執(zhí)行。步驟102、軟件主程序(即主exe程序)開始運行時,搜索與主程序文件同級目錄下版本號最新的版本目錄,并加載該版本目錄。步驟103、在軟件主程序啟動運行后,啟動升級進程,由升級進程下載并安裝升級軟件,在安裝升級軟件時,創(chuàng)建當前升級軟件的新版本號對應的版本目錄,將該新版本號的版本目錄放置在與所述舊版本目錄同級的目錄下,將新版本軟件的資源文件放置在該新版本號的版本目錄中。所述升級進程在完成升級軟件的下載和安裝后,會自動退出,對主程序的進程完全沒有影響。當主程序下次啟動時,主程序會搜索與主程序文件同級目錄下版本號最新的版本目錄,并加載該版本目錄,從而完成運行升級版本目錄的過程,使用戶可以看到更新后的軟件功能,而整個升級過程對用戶來說是完全透明的,用戶察覺不到升級過程的發(fā)生。圖2為本發(fā)明所述軟件初始安裝時的目錄結構示意圖。參見圖2,本發(fā)明與現(xiàn)有技術的軟件安裝目錄不同,現(xiàn)有技術通常是將主程序exe文件與資源文件比如所需要加載的.dll放在同級目錄下,而本發(fā)明將主程序exe文件外提到更外層目錄,如圖2所示的主程序exe文件201,設置在了軟件的根目錄下,而軟件運行時需要加載的資源文件如.dll文件都放置在當前版本號的版本目錄202中,該版本目錄202放置在與所述主程序exe文件201同級的目錄下,例如此處為根目錄下。所述主程序exe文件201實際上只是個空殼,它的作用只是搜索同級目錄下版本號更新的版本目錄,并加載該版本目錄。圖3為本發(fā)明所述軟件升級安裝后的目錄結構示意圖。參見圖3,利用本發(fā)明對升級軟件進行下載并安裝升級后,升級軟件(通常為升級包)實際上會在安裝目錄下解壓,所有資源文件都放置在當前升級軟件的新版本號對應的版本目錄301中,而舊版本目錄202和主程序exe文件201的位置不變,因此在升級時,對當前運行的主程序完全沒有影響,待用戶下次啟動時,自動加載更新的版本目錄,即可運行新版本的軟件。本發(fā)明在改變了主程序文件的放置目錄后,操作系統(tǒng)會按自身的目錄搜索順序查找文件,Windows提供了一個應用程序編程接口(API)可以設置應用程序加載.dll資源文件的搜索順序,該API為BOOLWINAPISetDllDirectory(LPCTSTRIpPathName)軟件主程序利用該API,可以使得主程序文件外提后,操作系統(tǒng)搜索.dll的目錄順序不變,從而可以順利加載資源文件。本發(fā)明中,由于軟件本身的靜默升級的需要,當軟件多次升級后,實際上在用戶安裝目錄會有多個版本目錄文件夾,如果按照現(xiàn)有的桌面軟件的安裝、卸載的過程則通常需要一一配對,例如使用Microsoft軟件安裝(MSI)工具制作的安裝包,在卸載軟件的時候只能卸載與該版本匹配的安裝目錄文件,而并不能達到整個軟件不留痕跡的徹底清除。因此本發(fā)明可以利用Nullsoft腳本安裝系統(tǒng)(NSIS,NullsoftScriptableInstallSystem)腳本重新編寫卸載程序來控制軟件的卸載行為,如圖3所示的卸載程序302,用于完全卸載軟件。所述NSIS為Windows下支持腳本的安裝程序,完全免費,開放源代碼,支持腳本,可以通過編寫腳本來控制安裝過程的任何細節(jié)。所述利用NSIS生成的卸載程序302可打包進主安裝包中,在該卸載程序302啟動后即可實施對軟件的卸載,卸載的實質操作就是將與所述主程序文件201同級目錄下的所有文件和文件夾全部刪除,即刪除QPlus.exe根目錄下的所有文件以及文件夾,因此可以將整個軟件(包括各個版本的軟件)不留痕跡地徹底清除,同時該卸載程序在以后的軟件升級中無需變化,其維護成本可降低為零。圖4為本發(fā)明所述升級過程的一種詳細實施流程圖。參見圖4,該流程包括步驟401、啟動主程序,開始運行。步驟402、主程序啟動升級進程。此處,由于整個升級過程涉及到與升級服務器的多次交互過程,為了盡可能的減少客戶端對于服務器的請求量,要對查詢的頻率有一定的控制。因此在另一種實施例中,在啟動升級進程之前即步驟402之前,可以進一步包括查詢當前系統(tǒng)內是否運行有一個以上所述軟件主程序的實例,如果是則利用第一個運行的主程序實例啟動所述升級進程;否則直接利用所述軟件主程序實例啟動所述升級進程。利用這種方式,可以控制升級查詢的頻率,減少客戶端對服務器的請求量。步驟403、啟動升級進程后,升級進程首先會完成一次升級進程自升級的查詢過程,即升級進程與服務器交互判斷是否要自升級,即判斷服務器是否有比本地更新版本的升級程序文件,如果是則下載新版本的升級程序exe文件,并退出升級進程;否則執(zhí)行步驟404。當然本步驟403為可選步驟,也可以跳過本步驟,直接執(zhí)行步驟404。·步驟404、升級進程與服務器交互判斷是否需要升級軟件,即判斷服務器是否有更新版本的升級軟件,如果是則執(zhí)行步驟405,否則退出升級進程。步驟405、下載新版本的升級軟件,例如升級軟件通常是以升級包的形式,因此可以下載新版本的升級包。步驟406、安裝升級包,創(chuàng)建當前升級軟件的新版本號對應的版本目錄,將該新版本號的版本目錄放置在與所述舊版本目錄同級的目錄下,將新版本軟件的資源文件放置在該新版本號的版本目錄中,之后退出升級進程。由于升級包屬于敏感數(shù)據(jù),因此在另一種實施例中,在下載得到升級軟件后、安裝升級軟件之前,即步驟405和406之間,進一步包括對所述下載得到的升級包做MD5值匹配,如果匹配則執(zhí)行步驟B進行軟件升級安裝,如果不匹配則判定本次下載失敗,刪除所述下載的軟件升級包,重復下載所述軟件升級包,若下載失敗的次數(shù)達到指定次數(shù)(如最多3次),則結束下載流程,退出升級進程。與上述方法對應,本發(fā)明還公開了一種軟件安裝及升級裝置。圖5為本發(fā)明所述的軟件安裝及升級裝置的一種實施示意圖。參見圖5,該裝置500包括初始安裝模塊501,用于軟件的初始安裝,在初始安裝時,創(chuàng)建當前版本號的版本目錄,將該版本目錄放置在與軟件的主程序文件502同級的目錄下,將當前版本軟件的資源文件放置在該版本目錄中;如圖2所示。主程序文件502,用于啟動運行軟件主程序,并在開始運行時,搜索同級目錄下版本號最新的版本目錄,并加載該版本目錄。升級進程模塊503,用于在軟件運行時啟動,啟動后下載并安裝升級軟件,在安裝升級軟件時,創(chuàng)建當前升級軟件的新版本號對應的版本目錄,將該新版本號的版本目錄放置在與所述舊版本目錄同級的目錄下,將新版本軟件的資源文件放置在該新版本號的版本目錄中,如圖3所示。圖6為本發(fā)明所述的軟件安裝及升級裝置的另一種實施示意圖。參見圖6,為了將整個軟件(包括各個版本的軟件)不留痕跡地徹底清除,該裝置進一步包括卸載模塊504,用于將與所述主程序文件同級目錄下的所有文件和文件夾全部刪除。為了降低客戶端與服務器的請求量,該裝置還可以進一步包括查詢模塊505,用于查詢當前系統(tǒng)內是否運行有一個以上所述軟件主程序的實例,如果是則利用第一個運行的主程序實例啟動所述升級進程模塊503;否則直接利用所述軟件主程序實例啟動所述升級進程模塊503。圖7為本發(fā)明所述升級進程模塊的一種具體組成示意圖。參見圖7,所述升級進程豐吳塊中包括升級進程自升級模塊701,用于在下載升級軟件之前,首先與服務器交互判斷是否要自升級,如果是則下載新版本的升級程序文件,并退出升級進程;否則再觸發(fā)升級進程模塊下載并安裝所述升級軟件。版本升級模塊702,用于在下載升級軟件之前與服務器交互判斷是否需要升級軟件,如果是則觸發(fā)下載并安裝新版本的升級軟件;否則退出升級過程。升級軟件下載模塊703,用于從服務器下載新版本的升級軟件包。校驗模塊704,用于在下載得到升級軟件包后、安裝升級軟件包之前,對所述下載得到的升級軟件做MD5值匹配,如果匹配則觸發(fā)升級軟件安裝模塊安裝升級軟件,如果不匹配則判定本次下載失敗,刪除所述下載的升級軟件,并觸發(fā)所述升級軟件下載模塊重新下載所述升級軟件包,若下載失敗的次數(shù)達到指定次數(shù)(如最多3次),則退出升級過程。升級軟件安裝模塊705,用于安裝所下載的升級軟件包,在安裝時,創(chuàng)建當前升級軟件的新版本號對應的版本目錄,將該新版本號的版本目錄放置在與所述舊版本目錄同級的目錄下,將新版本軟件的資源文件放置在該新版本號的版本目錄中。當然,所述升級進程自升級模塊701和所述校驗模塊704是可選模塊,在其他實施例中可以自由選擇。本發(fā)明通過軟件安裝包中特殊的文件布局以及升級進程的控制,可以有效的降低后期對于軟件升級的運營和維護成本,并且具有升級進程自升級等強有力的能力。本發(fā)明尤其可以適用于桌面開放軟件,桌面開放軟件除了具有普通軟件安裝,卸載的通常功能外,還需結合軟件自身特點實現(xiàn)快速靜默升級,可以更好的滿足用戶對于軟件安裝以及卸載的基本要求。用戶在使用軟件的過程中,希望可以體驗到軟件最新的功能,而操作軟件升級本身有是一件相對繁瑣的事情,而本發(fā)明可以提供靜默升級的功能,可以有效降低用戶對桌面開放軟件的使用門檻。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內。權利要求1.一種軟件安裝及升級方法,其特征在于,包括創(chuàng)建當前版本號的版本目錄,將該版本目錄放置在與軟件的主程序文件同級的目錄下,將當前版本軟件的資源文件放置在該版本目錄中;軟件主程序開始運行時,搜索與主程序文件同級目錄下版本號最新的版本目錄,并加載該版本目錄;在軟件主程序運行時啟動升級進程下載并安裝升級軟件,在安裝升級軟件時,創(chuàng)建當前升級軟件的新版本號對應的版本目錄,將該新版本號的版本目錄放置在與所述舊版本目錄同級的目錄下,將新版本軟件的資源文件放置在該新版本號的版本目錄中。2.根據(jù)權利要求I所述的方法,其特征在于,該方法進一步包括在卸載軟件時,將與所述主程序文件同級目錄下的所有文件和文件夾全部刪除。3.根據(jù)權利要求I所述的方法,其特征在于,在啟動升級進程之前,進一步包括查詢當前系統(tǒng)內是否運行有一個以上所述軟件主程序的實例,如果是則利用第一個運行的主程序實例啟動所述升級進程;否則直接利用所述軟件主程序實例啟動所述升級進程。4.根據(jù)權利要求I所述的方法,其特征在于,所述升級進程在啟動之后、下載升級軟件之前,首先與服務器交互判斷是否要自升級,如果是則下載新版本的升級程序文件,并退出升級進程;否則再下載并安裝所述升級軟件。5.根據(jù)權利要求I所述的方法,其特征在于,該方法在下載升級軟件之前,進一步包括與服務器交互判斷是否需要升級軟件,如果是則下載并安裝新版本的升級軟件;否則退出升級進程。6.根據(jù)權利要求I所述的方法,其特征在于,在下載得到升級軟件后、安裝升級軟件之前,進一步包括對所述下載得到的升級軟件做MD5值匹配,如果匹配則安裝升級軟件,如果不匹配則判定本次下載失敗,刪除所述下載的升級軟件,并重新下載所述升級軟件,若下載失敗的次數(shù)達到指定次數(shù),則結束下載流程。7.一種軟件安裝及升級裝置,其特征在于,包括初始安裝模塊,用于軟件的初始安裝,在初始安裝時,創(chuàng)建當前版本號的版本目錄,將該版本目錄放置在與軟件的主程序文件同級的目錄下,將當前版本軟件的資源文件放置在該版本目錄中;主程序文件,用于啟動運行軟件主程序,并在開始運行時,搜索同級目錄下版本號最新的版本目錄,并加載該版本目錄;升級進程模塊,用于在軟件運行時啟動,啟動后下載并安裝升級軟件,在安裝升級軟件時,創(chuàng)建當前升級軟件的新版本號對應的版本目錄,將該新版本號的版本目錄放置在與所述舊版本目錄同級的目錄下,將新版本軟件的資源文件放置在該新版本號的版本目錄中。8.根據(jù)權利要求7所述的裝置,其特征在于,該裝置進一步包括卸載模塊,用于將與所述主程序文件同級目錄下的所有文件和文件夾全部刪除。9.根據(jù)權利要求7所述的裝置,其特征在于,該裝置進一步包括查詢模塊,用于查詢當前系統(tǒng)內是否運行有一個以上所述軟件主程序的實例,如果是則利用第一個運行的主程序實例啟動所述升級進程模塊;否則直接利用所述軟件主程序實例啟動所述升級進程模塊。10.根據(jù)權利要求7所述的裝置,其特征在于,所述升級進程模塊中包括升級進程自升級模塊,用于在下載升級軟件之前,首先與服務器交互判斷是否要自升級,如果是則下載新版本的升級程序文件,并退出升級進程;否則再觸發(fā)升級進程模塊下載并安裝所述升級軟件。11.根據(jù)權利要求7所述的裝置,其特征在于,所述升級進程模塊中包括版本升級模塊,用于在下載升級軟件之前與服務器交互判斷是否需要升級軟件,如果是則觸發(fā)下載并安裝新版本的升級軟件;否則退出升級過程。12.根據(jù)權利要求7所述的裝置,其特征在于,所述升級進程模塊中包括校驗模塊,用于在下載得到升級軟件后、安裝升級軟件之前,對所述下載得到的升級軟件做MD5值匹配,如果匹配則觸發(fā)所述升級進程模塊安裝升級軟件,如果不匹配則判定本次下載失敗,刪除所述下載的升級軟件,并觸發(fā)升級進程模塊重新下載所述升級軟件,若下載失敗的次數(shù)達到指定次數(shù),則退出升級過程。全文摘要本發(fā)明公開了一種軟件安裝及升級方法和裝置,方法包括創(chuàng)建當前版本號的版本目錄,將該版本目錄放置在與軟件的主程序文件同級的目錄下,將當前版本軟件的資源文件放置在該版本目錄中;軟件主程序開始運行時,搜索與主程序文件同級目錄下版本號最新的版本目錄,并加載該版本目錄;在軟件運行時下載并安裝升級軟件,創(chuàng)建新版本號對應的版本目錄,將該新版本號的版本目錄放置在與所述舊版本目錄同級的目錄下,將新版本軟件的資源文件放置在該新版本號的版本目錄中。所述裝置包括初始安裝模塊、主程序文件和升級進程模塊。利用本發(fā)明,可以實現(xiàn)軟件的靜默升級,減少升級過程中的人機交互次數(shù),方便用戶使用軟件。文檔編號G06F9/445GK102955702SQ201110243128公開日2013年3月6日申請日期2011年8月23日優(yōu)先權日2011年8月23日發(fā)明者庫宇,魏亞民申請人:騰訊科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
建瓯市| 玛曲县| 凤阳县| 临夏县| 赣榆县| 龙海市| 义乌市| 连云港市| 遵义县| 北川| 凤台县| 潼南县| 台州市| 三明市| 广平县| 仪陇县| 云南省| 沁源县| 岐山县| 芦溪县| 怀集县| 喀喇沁旗| 潮安县| 奉化市| 东乡县| 如皋市| 尼勒克县| 常熟市| 昆明市| 江阴市| 航空| 昭平县| 枞阳县| 封开县| 汶川县| 灵山县| 西乌珠穆沁旗| 黔南| 溧水县| 栾城县| 犍为县|