本發(fā)明涉及計(jì)算機(jī)程序技術(shù),具體涉及應(yīng)用程序的升級(jí)技術(shù)。
背景技術(shù):
安裝包制作工具是專業(yè)用于制作安裝程序的打包類軟件,單純的使用腳本來(lái)編寫安裝程序?qū)τ诖蠖鄶?shù)人來(lái)說(shuō)不僅困難而且容易出錯(cuò),而使用安裝包制作工具具備初學(xué)者上手容易、制作的安裝程序功能完善等優(yōu)點(diǎn)。innosetup是一個(gè)免費(fèi)的安裝制作軟件,小巧、簡(jiǎn)便、精美是其最大特點(diǎn),支持pascal腳本,能快速制作出標(biāo)準(zhǔn)windows風(fēng)格的安裝界面,足以完成一般安裝任務(wù)。
使用innosetup創(chuàng)建應(yīng)用程序安裝包或者升級(jí)包,每一個(gè)應(yīng)用程序需要對(duì)應(yīng)一個(gè)唯一的標(biāo)識(shí)id(即appid),在進(jìn)行版本升級(jí)時(shí),一般一個(gè)升級(jí)包只能對(duì)應(yīng)一個(gè)應(yīng)用程序,而在某些情況下,需要使用一個(gè)通用更新包來(lái)對(duì)多個(gè)應(yīng)用程序進(jìn)行版本升級(jí)。
一般情況下,用innosetup工具創(chuàng)建的升級(jí)包,必須指定一個(gè)常量作為appid,而不同的應(yīng)用程序?qū)?yīng)的appid不同,這樣就造成每升級(jí)一個(gè)應(yīng)用程序,必須創(chuàng)建一個(gè)對(duì)應(yīng)的升級(jí)包,升級(jí)包與應(yīng)用程序唯一對(duì)應(yīng)。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的不足,本發(fā)明的目的之一在于提供一種應(yīng)用程序的升級(jí)方法,其能解決每升級(jí)一個(gè)應(yīng)用程序,必須創(chuàng)建一個(gè)對(duì)應(yīng)的升級(jí)包的問(wèn)題。
本發(fā)明的目的之二在于提供一種終端,其能解決每升級(jí)一個(gè)應(yīng)用程序,必須創(chuàng)建一個(gè)對(duì)應(yīng)的升級(jí)包的問(wèn)題。
為了實(shí)現(xiàn)上述目的之一,本發(fā)明所采用的技術(shù)方案如下:
一種應(yīng)用程序的升級(jí)方法,其包括以下步驟:
從服務(wù)端下載升級(jí)包;
運(yùn)行所述升級(jí)包,并將所述應(yīng)用程序的appid值賦值給所述升級(jí)包的appid參數(shù),以使所述升級(jí)包根據(jù)所述appid參數(shù)識(shí)別出對(duì)應(yīng)的應(yīng)用程序并完成升級(jí)操作。
優(yōu)選的,所述升級(jí)操作包括以下步驟:
退出所述應(yīng)用程序;
安裝所述升級(jí)包,并完成注冊(cè)表信息的更新,從而更新所述應(yīng)用程序在注冊(cè)表中的版本號(hào);
重啟所述應(yīng)用程序,完成升級(jí)操作。
優(yōu)選的,所述從服務(wù)端下載升級(jí)包具體包括以下步驟:當(dāng)檢查到服務(wù)端存在所述應(yīng)用程序的版本更新信息,則從服務(wù)端下載升級(jí)包至本地臨時(shí)目錄。
優(yōu)選的,在運(yùn)行所述升級(jí)包時(shí),判斷所述應(yīng)用程序是否有在本地安裝,若有,則將所述應(yīng)用程序的appid值賦值給所述升級(jí)包的appid參數(shù),否則退出升級(jí)操作。
為了實(shí)現(xiàn)上述目的之二,本發(fā)明所采用的技術(shù)方案如下:
一種終端,其包括存儲(chǔ)器和處理器;
所述存儲(chǔ)器,用于存儲(chǔ)程序指令;
所述處理器,用于運(yùn)行所述程序指令,以執(zhí)行以下步驟:
從服務(wù)端下載升級(jí)包;
運(yùn)行所述升級(jí)包,并將所述應(yīng)用程序的appid值賦值給所述升級(jí)包的appid參數(shù),以使所述升級(jí)包根據(jù)所述appid參數(shù)識(shí)別出對(duì)應(yīng)的應(yīng)用程序并完成升級(jí)操作。
優(yōu)選的,所述升級(jí)操作包括以下步驟:
退出所述應(yīng)用程序;
安裝所述升級(jí)包,并完成注冊(cè)表信息的更新,從而更新所述應(yīng)用程序在注冊(cè)表中的版本號(hào);
重啟所述應(yīng)用程序,完成升級(jí)操作。
優(yōu)選的,所述從服務(wù)端下載升級(jí)包具體包括以下步驟:當(dāng)檢查到服務(wù)端存在所述應(yīng)用程序的版本更新信息,則從服務(wù)端下載升級(jí)包至本地臨時(shí)目錄。
優(yōu)選的,在運(yùn)行所述升級(jí)包時(shí),判斷所述應(yīng)用程序是否有在本地安裝,若有,則將所述應(yīng)用程序的appid值賦值給所述升級(jí)包的appid參數(shù),否則退出升級(jí)操作。
相比現(xiàn)有技術(shù),本發(fā)明的有益效果在于:
在多個(gè)不同應(yīng)用程序更新內(nèi)容相同的情況下,本發(fā)明可以減少創(chuàng)建升級(jí)包時(shí)的工作量以及杜絕因升級(jí)配置不正確造成的升級(jí)包和應(yīng)用程序不匹配的情況。
附圖說(shuō)明
圖1為本發(fā)明較佳實(shí)施例的升級(jí)方法的流程圖;
圖2為本發(fā)明較佳實(shí)施例的終端的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面,結(jié)合附圖以及具體實(shí)施方式,對(duì)本發(fā)明做進(jìn)一步描述:
本實(shí)施例提出了一種應(yīng)用程序的升級(jí)方法。在實(shí)施該升級(jí)方法前,先創(chuàng)建升級(jí)包。創(chuàng)建升級(jí)包的流程如下:
步驟1:打開innosetup軟件,新建一個(gè)innosetup模板腳本,在模板腳本的起始處手動(dòng)輸入本次升級(jí)后的版本號(hào)、升級(jí)包中的發(fā)布信息以及升級(jí)包包含的更新文件等信息。
步驟2:在[code]段中手動(dòng)輸入獲取命令行參數(shù)appid的函數(shù)方法getappid相關(guān)代碼。
步驟3:在[setup]段中手動(dòng)修改appid參數(shù)值的獲取方式,改為由函數(shù)getappid獲取。這樣升級(jí)包的appid值將由命令行參數(shù)指定。
代碼示例:
appid={code:getappid}
步驟4:在initializesetup函數(shù)中,添加判斷應(yīng)用程序是否安裝的相關(guān)代碼。通過(guò)appid在注冊(cè)表的指定位置進(jìn)行查找,判斷系統(tǒng)中是否安裝過(guò)應(yīng)用程序。如果沒(méi)有安裝過(guò)對(duì)應(yīng)應(yīng)用程序,則在彈出錯(cuò)誤提示信息后退出升級(jí)操作。
步驟5:在curstepchanged函數(shù)中,添加更新注冊(cè)表中關(guān)于應(yīng)用版本號(hào)的相關(guān)代碼。通過(guò)更新注冊(cè)表信息,可以更新應(yīng)用程序在系統(tǒng)中的版本號(hào)等信息顯示。
步驟6:使用前一個(gè)步驟創(chuàng)建的模板腳本和相關(guān)文件,通過(guò)innosetup工具編譯生成此次的升級(jí)包。
步驟7:在服務(wù)端配置應(yīng)用程序的升級(jí)信息,這樣應(yīng)用程序在進(jìn)行版本檢查時(shí)將從遠(yuǎn)程服務(wù)端上收到版本更新相關(guān)數(shù)據(jù)。
在升級(jí)包創(chuàng)建后,應(yīng)用程序啟動(dòng)后,執(zhí)行如圖1所示的升級(jí)方法流程。
步驟s1、從服務(wù)端下載升級(jí)包。
具體為:當(dāng)檢查到服務(wù)端存在所述應(yīng)用程序的版本更新信息,則從服務(wù)端下載升級(jí)包至本地臨時(shí)目錄,然后通過(guò)命令行參數(shù)運(yùn)行所述升級(jí)包。
步驟s2、運(yùn)行所述升級(jí)包,判斷所述應(yīng)用程序是否有在本地安裝(由步驟4相關(guān)代碼實(shí)現(xiàn)),若有,則將所述應(yīng)用程序的appid值賦值給所述升級(jí)包的appid參數(shù),即將應(yīng)用程序的唯一appid傳給升級(jí)包(由步驟2、3的相關(guān)代碼實(shí)現(xiàn)),以使所述升級(jí)包根據(jù)所述appid參數(shù)識(shí)別出對(duì)應(yīng)的應(yīng)用程序并完成升級(jí)操作,否則退出升級(jí)操作。
也就是說(shuō),本實(shí)施例的升級(jí)包的appid參數(shù)是由應(yīng)用程序動(dòng)態(tài)傳入的,從而實(shí)現(xiàn)同一升級(jí)包對(duì)不同應(yīng)用程序的升級(jí)操作,即本實(shí)施例的升級(jí)包是通用升級(jí)包。需要說(shuō)明的是,現(xiàn)有技術(shù)中,普通升級(jí)包的appid是一個(gè)常量,無(wú)法升級(jí)不同的應(yīng)用程序。
具體的,所述升級(jí)操作包括以下步驟:
退出所述應(yīng)用程序;
安裝所述升級(jí)包,并完成注冊(cè)表信息的更新,從而更新所述應(yīng)用程序在注冊(cè)表中的版本號(hào)(由步驟5相關(guān)代碼實(shí)現(xiàn));
重啟所述應(yīng)用程序,完成升級(jí)操作。
如圖2所示,與上述方法對(duì)應(yīng)提出一種一種終端,其包括存儲(chǔ)器和處理器;
所述存儲(chǔ)器,用于存儲(chǔ)程序指令;
所述處理器,用于運(yùn)行所述程序指令,以執(zhí)行以下步驟:
從服務(wù)端下載升級(jí)包;
運(yùn)行所述升級(jí)包,并將所述應(yīng)用程序的appid值賦值給所述升級(jí)包的appid參數(shù),以使所述升級(jí)包根據(jù)所述appid參數(shù)識(shí)別出對(duì)應(yīng)的應(yīng)用程序并完成升級(jí)操作。
優(yōu)選的,所述升級(jí)操作包括以下步驟:
退出所述應(yīng)用程序;
安裝所述升級(jí)包,并完成注冊(cè)表信息的更新,從而更新所述應(yīng)用程序在注冊(cè)表中的版本號(hào);
重啟所述應(yīng)用程序,完成升級(jí)操作。
優(yōu)選的,所述從服務(wù)端下載升級(jí)包具體包括以下步驟:當(dāng)檢查到服務(wù)端存在所述應(yīng)用程序的版本更新信息,則從服務(wù)端下載升級(jí)包至本地臨時(shí)目錄。
優(yōu)選的,在運(yùn)行所述升級(jí)包時(shí),判斷所述應(yīng)用程序是否有在本地安裝,若有,則將所述應(yīng)用程序的appid值賦值給所述升級(jí)包的appid參數(shù),否則退出升級(jí)操作。
對(duì)本領(lǐng)域的技術(shù)人員來(lái)說(shuō),可根據(jù)以上描述的技術(shù)方案以及構(gòu)思,做出其它各種相應(yīng)的改變以及形變,而所有的這些改變以及形變都應(yīng)該屬于本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。