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

軟件安裝方法及計(jì)算設(shè)備的制作方法

文檔序號(hào):6623794閱讀:311來(lái)源:國(guó)知局
軟件安裝方法及計(jì)算設(shè)備的制作方法
【專利摘要】本申請(qǐng)?zhí)峁┝艘环N軟件安裝方法及裝置,其中,軟件安裝方法包括:將待安裝軟件中的所有文件劃分為核心文件和非核心文件,所述核心文件為用于實(shí)現(xiàn)主動(dòng)觸發(fā)功能的文件,所述非核心文件為用于實(shí)現(xiàn)被動(dòng)觸發(fā)功能的文件;生成所述核心文件的子安裝包和所述非核心文件的子安裝包;當(dāng)安裝所述待安裝軟件時(shí),使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件,使所述待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。通過(guò)本申請(qǐng),達(dá)到了縮短用戶等待軟件安裝的時(shí)間,提高了用戶使用體驗(yàn)的效果。
【專利說(shuō)明】軟件安裝方法及計(jì)算設(shè)備
[0001]本發(fā)明專利申請(qǐng)是申請(qǐng)日為2011年12月12日、申請(qǐng)?zhí)枮?01110412482.8、名稱為“軟件安裝方法及裝置”的中國(guó)發(fā)明專利申請(qǐng)的分案申請(qǐng)。

【技術(shù)領(lǐng)域】
[0002]本申請(qǐng)涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,特別是涉及一種軟件安裝方法及裝置。

【背景技術(shù)】
[0003]隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,人們?cè)谑褂糜?jì)算機(jī)時(shí),越來(lái)越多地依賴應(yīng)用程序進(jìn)行各種工作和活動(dòng),由此,人們對(duì)應(yīng)用程序的要求也越來(lái)越高。而要想使用應(yīng)用程序,則首先需要進(jìn)行應(yīng)用程序的安裝,也可以稱為軟件安裝。
[0004]軟件安裝泛指將一組有聯(lián)系、互相配合完成工作的軟件文件合理地放置到系統(tǒng)中,并且和系統(tǒng)完成銜接,讓軟件正常運(yùn)行的過(guò)程。
[0005]傳統(tǒng)的安裝軟件集合了所有軟件運(yùn)行文件和所有軟件運(yùn)行設(shè)置,將所有的運(yùn)行文件和運(yùn)行設(shè)置都打包到一個(gè)安裝程序內(nèi),在安裝時(shí),需要解壓文件、解壓設(shè)置并且執(zhí)行設(shè)置,等將包內(nèi)文件全部安裝完畢后才能開(kāi)始運(yùn)行,使得安裝時(shí)間長(zhǎng),不能滿足某些用戶的使用需求,如對(duì)使用體驗(yàn)要求高,而且缺乏耐心的用戶。例如,國(guó)內(nèi)一種MIS軟件,安裝包大小為400M,整個(gè)安裝過(guò)程需要耗時(shí)5分鐘以上。
[0006]此外,現(xiàn)有的安裝軟件在開(kāi)發(fā)時(shí)還可能存在需要借助Nsis等類似第三方安裝包廠商的支持,可自定義性差;非必要的選擇、確認(rèn)等交互過(guò)程太多,而用戶并不明白這些選擇、交互等等問(wèn)題。這些問(wèn)題均會(huì)導(dǎo)致軟件安裝時(shí)間冗長(zhǎng),過(guò)度消耗用戶的等待時(shí)間,從而無(wú)法為用戶帶來(lái)滿意的使用體驗(yàn)。
[0007]目前,這種傳統(tǒng)的軟件安裝過(guò)程冗長(zhǎng)、示意含糊,用戶只能等待漫長(zhǎng)的安裝過(guò)程完成后才能使用軟件,已嚴(yán)重影響了用戶使用體驗(yàn)。
[0008]總之,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問(wèn)題是:軟件安裝過(guò)程中,如何有效縮短用戶等待時(shí)間,提升用戶使用體驗(yàn)。


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

[0009]本申請(qǐng)所要解決的技術(shù)問(wèn)題是提供一種軟件安裝方法及裝置,以解決現(xiàn)有軟件安裝過(guò)程中,需要全部文件安裝完畢才能正常使用軟件導(dǎo)致用戶等待時(shí)間長(zhǎng),使用體驗(yàn)低的問(wèn)題。
[0010]為了解決上述問(wèn)題,本申請(qǐng)公開(kāi)了一種軟件安裝方法,包括:將待安裝軟件中的所有文件劃分為核心文件和非核心文件,所述核心文件為用于實(shí)現(xiàn)主動(dòng)觸發(fā)功能的文件,所述非核心文件為用于實(shí)現(xiàn)被動(dòng)觸發(fā)功能的文件;生成所述核心文件的子安裝包和所述非核心文件的子安裝包;當(dāng)安裝所述待安裝軟件時(shí),使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件,使所述待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。
[0011]優(yōu)選地,所述當(dāng)安裝所述待安裝軟件時(shí),使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件,使所述待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行的步驟包括:當(dāng)開(kāi)始安裝所述待安裝軟件時(shí),僅使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件,使所述待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。
[0012]優(yōu)選地,軟件安裝方法還包括:當(dāng)所述核心文件安裝后開(kāi)始運(yùn)行時(shí),使用所述非核心文件的子安裝包安裝所述非核心文件。
[0013]優(yōu)選地,軟件安裝方法還包括:當(dāng)所述核心文件安裝完成后,接收到輸入的安裝所述非核心文件的指令,使用所述非核心文件的子安裝包安裝所述非核心文件。
[0014]優(yōu)選地,所述使用所述核心文件的子安裝包安裝所述核心文件的步驟包括:使用所述核心文件的子安裝包,利用多個(gè)線程安裝所述核心文件,所述多個(gè)線程包括主線程和邏輯線程,所述主線程用于所述核心文件的安裝初始化操作,所述邏輯線程用于執(zhí)行所述核心文件的安裝過(guò)程。
[0015]優(yōu)選地,所述多個(gè)線程還包括界面線程,所述界面線程用于所述核心文件的安裝界面展現(xiàn)。
[0016]優(yōu)選地,所述使用所述核心文件的子安裝包,利用多個(gè)線程安裝所述核心文件的步驟包括:所述邏輯線程啟動(dòng)所述主線程,在所述主線程啟動(dòng)的過(guò)程中,發(fā)送消息通知所述界面線程設(shè)置定時(shí)器并開(kāi)始展現(xiàn)安裝界面;所述界面線程使用所述定時(shí)器控制所述安裝界面中安裝進(jìn)度的顯示;在所述安裝進(jìn)度顯示安裝完成時(shí),所述界面線程向所述邏輯線程發(fā)送消息,通知所述邏輯線程所述核心文件安裝完成。
[0017]優(yōu)選地,所述運(yùn)行所述核心文件的步驟包括:動(dòng)態(tài)加載所述核心文件中的動(dòng)態(tài)鏈接庫(kù)DLL文件,運(yùn)行所述核心文件。
[0018]優(yōu)選地,在所述當(dāng)安裝所述待安裝軟件時(shí),使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件的步驟之前,還包括:設(shè)定所述待安裝軟件的安裝環(huán)境和安裝路徑;所述當(dāng)安裝所述待安裝軟件時(shí),使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件的步驟包括:當(dāng)安裝所述待安裝軟件時(shí),在所述安裝環(huán)境和安裝路徑下,使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件。
[0019]優(yōu)選地,所述安裝路徑包括默認(rèn)安裝路徑和備用安裝路徑;所述當(dāng)安裝所述待安裝軟件時(shí),在所述安裝環(huán)境和安裝路徑下,使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件的步驟包括:當(dāng)安裝所述待安裝軟件時(shí),在所述安裝環(huán)境和所述默認(rèn)安裝路徑下,使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件;若在所述安裝環(huán)境和所述默認(rèn)安裝路徑下,安裝所述核心文件失敗,則在所述安裝環(huán)境和所述備用安裝路徑下,使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件。
[0020]優(yōu)選地,軟件安裝方法還包括:在安裝所述待安裝軟件的過(guò)程中,接收輸入的安裝路徑,撤銷在所述設(shè)定的安裝環(huán)境和安裝路徑下已安裝的核心文件,在所述輸入的安裝路徑下,使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件。
[0021]優(yōu)選地,所述用于實(shí)現(xiàn)主動(dòng)觸發(fā)功能的核心文件為所述待安裝軟件安裝并運(yùn)行后,不需要除所述待安裝軟件啟動(dòng)運(yùn)行以外的因素即運(yùn)行的文件;所述實(shí)現(xiàn)被動(dòng)觸發(fā)功能的非核心文件為所述待安裝軟件安裝并運(yùn)行后,需要除所述待安裝軟件啟動(dòng)運(yùn)行以外的因素運(yùn)行的文件。
[0022]為了解決上述問(wèn)題,本申請(qǐng)還公開(kāi)了一種軟件安裝裝置,包括:劃分模塊,用于將待安裝軟件中的所有文件劃分為核心文件和非核心文件,所述核心文件為用于實(shí)現(xiàn)主動(dòng)觸發(fā)功能的文件,所述非核心文件為用于實(shí)現(xiàn)被動(dòng)觸發(fā)功能的文件;生成模塊,用于生成所述核心文件的子安裝包和所述非核心文件的子安裝包;安裝模塊,用于當(dāng)安裝所述待安裝軟件時(shí),使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件,使所述待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。
[0023]優(yōu)選地,所述安裝模塊,用于當(dāng)所述開(kāi)始安裝所述待安裝軟件時(shí),僅使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件,使所述待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。
[0024]優(yōu)選地,軟件安裝裝置還包括:繼續(xù)安裝模塊,用于當(dāng)所述核心文件安裝后開(kāi)始運(yùn)行時(shí),使用所述非核心文件的子安裝包安裝所述非核心文件;或者,用于當(dāng)所述核心文件安裝完成后,接收到輸入的安裝所述非核心文件的指令,使用所述非核心文件的子安裝包安裝所述非核心文件。
[0025]優(yōu)選地,所述安裝模塊,用于當(dāng)安裝所述待安裝軟件時(shí),使用所述核心文件的子安裝包,利用多個(gè)線程安裝所述核心文件,使所述待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行,其中,所述多個(gè)線程包括主線程和邏輯線程,所述主線程用于所述核心文件的安裝初始化操作,所述邏輯線程用于執(zhí)行所述核心文件的安裝過(guò)程。
[0026]優(yōu)選地,所述多個(gè)線程還包括界面線程,所述界面線程用于所述核心文件的安裝界面展現(xiàn)。
[0027]優(yōu)選地,所述安裝模塊在使用所述核心文件的子安裝包,利用多個(gè)線程安裝所述核心文件時(shí),由所述邏輯線程啟動(dòng)所述主線程,在所述主線程啟動(dòng)的過(guò)程中,發(fā)送消息通知所述界面線程設(shè)置定時(shí)器并開(kāi)始展現(xiàn)安裝界面;所述界面線程使用所述定時(shí)器控制所述安裝界面中安裝進(jìn)度的顯示;在所述安裝進(jìn)度顯示安裝完成時(shí),所述界面線程向所述邏輯線程發(fā)送消息,通知所述邏輯線程所述核心文件安裝完成。
[0028]優(yōu)選地,所述安裝模塊在運(yùn)行所述核心文件時(shí),通過(guò)動(dòng)態(tài)加載所述核心文件中的動(dòng)態(tài)鏈接庫(kù)DLL文件,運(yùn)行所述核心文件。
[0029]優(yōu)選地,軟件安裝裝置還包括:設(shè)定模塊,用于在所述安裝模塊使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件之前,設(shè)定所述待安裝軟件的安裝環(huán)境和安裝路徑;所述安裝模塊用于當(dāng)安裝所述待安裝軟件時(shí),在所述安裝環(huán)境和安裝路徑下,使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件,使所述待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。
[0030]優(yōu)選地,所述安裝路徑包括默認(rèn)安裝路徑和備用安裝路徑;所述安裝模塊,用于當(dāng)安裝所述待安裝軟件時(shí),在所述安裝環(huán)境和所述默認(rèn)安裝路徑下,使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件;若在所述安裝環(huán)境和所述默認(rèn)安裝路徑下,安裝所述核心文件失敗,則在所述安裝環(huán)境和所述備用安裝路徑下,使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件,使所述待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。
[0031]優(yōu)選地,軟件安裝裝置還包括:接收模塊,用于在所述安裝模塊安裝所述待安裝軟件的過(guò)程中,接收輸入的安裝路徑,撤銷在所述設(shè)定的安裝環(huán)境和安裝路徑下已安裝的核心文件,并將所述輸入的安裝路徑發(fā)送給所述安裝模塊,由所述安裝模塊在所述輸入的安裝路徑下,使用所述核心文件的子安裝包安裝所述核心文件并運(yùn)行所述核心文件,使所述待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。
[0032]優(yōu)選地,所述用于實(shí)現(xiàn)主動(dòng)觸發(fā)功能的核心文件為所述待安裝軟件安裝并運(yùn)行后,不需要除所述待安裝軟件啟動(dòng)運(yùn)行以外的因素即運(yùn)行的文件;所述實(shí)現(xiàn)被動(dòng)觸發(fā)功能的非核心文件為所述待安裝軟件安裝并運(yùn)行后,需要除所述待安裝軟件啟動(dòng)運(yùn)行以外的因素運(yùn)行的文件。
[0033]與現(xiàn)有技術(shù)相比,本申請(qǐng)具有以下優(yōu)點(diǎn):
[0034]本申請(qǐng)的軟件安裝方案通過(guò)對(duì)被安裝軟件中的文件按照主、被動(dòng)觸發(fā)功能進(jìn)行劃分,明確核心文件和非核心文件,在安裝時(shí),安裝核心文件并運(yùn)行,將軟件運(yùn)行時(shí)所需的必要文件減小到最小。這樣,用戶在安裝了核心文件的情況下即可正常運(yùn)行軟件,與軟件進(jìn)行交互,使用其基本功能,而在這一過(guò)程中,再在系統(tǒng)后臺(tái)繼續(xù)安裝非核心文件或在用戶需要時(shí)發(fā)出指令安裝非核心文件。因?yàn)楹诵奈募谡麄€(gè)軟件中比例較小,安裝快速,從而有效減少了用戶等待軟件安裝的時(shí)間;在安裝非核心文件時(shí),用戶已經(jīng)可以使用核心文件運(yùn)行軟件,而不必焦急等待所有文件安裝完畢,大大提高了用戶使用體驗(yàn)。例如,在安裝360瀏覽器時(shí),將實(shí)現(xiàn)360瀏覽器的主動(dòng)觸發(fā)功能的文件,如完成網(wǎng)頁(yè)加載和顯示功能的360瀏覽器的主程序文件360se.exe文件等作為核心文件首先安裝,安裝后,用戶即可使用360瀏覽器的主界面與設(shè)定的地址通信等,而在該主界面顯示供用戶使用的同時(shí),在系統(tǒng)后臺(tái)繼續(xù)安裝360瀏覽器的非核心文件,如實(shí)現(xiàn)更新功能的文件等,但這一過(guò)程可能不被用戶感知,使用戶主觀上感覺(jué)軟件安裝速度加快了。
[0035]通過(guò)本申請(qǐng)的技術(shù)方案,有效解決了現(xiàn)有軟件安裝過(guò)程中,需要全部文件安裝完畢才能正常使用軟件導(dǎo)致用戶等待時(shí)間長(zhǎng),使用體驗(yàn)低的問(wèn)題,達(dá)到了縮短用戶等待軟件安裝的時(shí)間,提高了用戶使用體驗(yàn)的效果。

【專利附圖】

【附圖說(shuō)明】
[0036]圖1是根據(jù)本申請(qǐng)實(shí)施例一的一種軟件安裝方法的步驟流程圖;
[0037]圖2是根據(jù)本申請(qǐng)實(shí)施例二的一種軟件安裝方法的步驟流程圖;
[0038]圖3是根據(jù)本申請(qǐng)實(shí)施例三的一種軟件安裝方法的步驟流程圖;
[0039]圖4是根據(jù)本申請(qǐng)實(shí)施例四的一種軟件安裝裝置的結(jié)構(gòu)框圖。

【具體實(shí)施方式】
[0040]為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說(shuō)明。
[0041]實(shí)施例一
[0042]參照?qǐng)D1,示出了根據(jù)本申請(qǐng)實(shí)施例一的一種軟件安裝方法的步驟流程圖。
[0043]本實(shí)施例的軟件安裝方法包括以下步驟:
[0044]步驟S102:將待安裝軟件中的所有文件劃分為核心文件和非核心文件。
[0045]其中,核心文件為用于實(shí)現(xiàn)主動(dòng)觸發(fā)功能的文件,例如,這些文件可以為待安裝軟件安裝并運(yùn)行后,不需要除待安裝軟件啟動(dòng)運(yùn)行以外的因素即運(yùn)行的文件,如在軟件安裝后不需要任何用戶輸入即可開(kāi)始執(zhí)行的文件,以360瀏覽器為例,其核心文件可以包括完成網(wǎng)頁(yè)加載和顯示功能的360瀏覽器的主程序文件360se.exe文件;非核心文件為用于實(shí)現(xiàn)被動(dòng)觸發(fā)功能的文件,例如,這些文件可以為待安裝軟件安裝并運(yùn)行后,需要除待安裝軟件啟動(dòng)運(yùn)行以外的因素運(yùn)行的文件,如在軟件安裝后,需要用戶進(jìn)一步的輸入或確定才能執(zhí)行,可以是一般瀏覽器或軟件的執(zhí)行下載功能或升級(jí)功能的文件等。
[0046]步驟S104:生成核心文件的子安裝包和非核心文件的子安裝包。
[0047]在劃分了核心文件和非核心文件后,將兩部分文件分別生成不同的安裝包,即核心文件的子安裝包和非核心文件的子安裝包,兩個(gè)子安裝包組成了整個(gè)待安裝軟件的安裝包。其中,非核心文件的子安裝包也可以根據(jù)一定的規(guī)則和需要進(jìn)一步劃分為多個(gè)。
[0048]步驟S106:當(dāng)安裝待安裝軟件時(shí),使用核心文件的子安裝包安裝核心文件并運(yùn)行核心文件,使待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。
[0049]優(yōu)選地,當(dāng)開(kāi)始安裝待安裝軟件時(shí),僅使用核心文件的子安裝包安裝核心文件并運(yùn)行核心文件,使待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。
[0050]當(dāng)開(kāi)始安裝時(shí),僅安裝核心文件,而非核心文件則可以在后續(xù)安裝。安裝了核心文件后,軟件的相關(guān)界面和/或相關(guān)邏輯即已安裝完成,軟件可以基本功能方式正常運(yùn)行,實(shí)現(xiàn)其主動(dòng)觸發(fā)功能,與用戶交互,從而使用戶主觀上認(rèn)為軟件已基本安裝完成。此時(shí),可以再在后臺(tái)繼續(xù)安裝非核心文件而不被用戶感知,并且,也不影響運(yùn)行核心文件實(shí)現(xiàn)的軟件的主動(dòng)觸發(fā)功能的正常使用,使用戶直觀感覺(jué)安裝速度快,使用體驗(yàn)好。當(dāng)然,非核心文件的安裝也可以以用戶可感知但不影響軟件運(yùn)行的方式,或者,在后續(xù)由用戶輸入安裝非核心文件指令的形式安裝。
[0051]當(dāng)然,本領(lǐng)域技術(shù)人員在安裝待安裝軟件時(shí),還可以采用其它類似形式,以提高安裝速度。如,可以同時(shí)或先后啟動(dòng)安裝核心文件和安裝非核心文件兩個(gè)進(jìn)程,但在使用安裝核心文件的進(jìn)程安裝完核心文件后同,即運(yùn)行核心文件的形式等,實(shí)現(xiàn)安裝提速。
[0052]通過(guò)本實(shí)施例,對(duì)被安裝軟件中的文件按照主、被動(dòng)觸發(fā)功能進(jìn)行劃分,明確核心文件和非核心文件,在安裝時(shí),首先安裝核心文件并運(yùn)行,將軟件運(yùn)行時(shí)所需的必要文件減小到最小。這樣,用戶在安裝了核心文件了情況下即可運(yùn)行軟件,與軟件進(jìn)行交互,使用其基本功能,而在這一過(guò)程中,再在系統(tǒng)后臺(tái)繼續(xù)安裝非核心文件或在用戶需要時(shí)發(fā)出指令安裝非核心文件。核心文件在整個(gè)軟件中比例較小,安裝快速,從而有效減少了用戶等待軟件安裝的時(shí)間;在安裝非核心文件時(shí),用戶已經(jīng)可以使用核心文件運(yùn)行軟件,而不必焦急等待所有文件安裝完畢,大大提高了用戶使用體驗(yàn)。通過(guò)本申請(qǐng)的技術(shù)方案,有效解決了現(xiàn)有軟件安裝過(guò)程中,需要全部文件安裝完畢才能正常使用軟件導(dǎo)致用戶等待時(shí)間長(zhǎng),使用體驗(yàn)低的問(wèn)題,達(dá)到了縮短用戶等待軟件安裝的時(shí)間,提高了用戶使用體驗(yàn)的效果。
[0053]實(shí)施例二
[0054]參照?qǐng)D2,示出了根據(jù)本申請(qǐng)實(shí)施例二的一種軟件安裝方法的步驟流程圖。
[0055]本實(shí)施例的軟件安裝方法包括以下步驟:
[0056]步驟S202:明確區(qū)分程序第一次運(yùn)行時(shí)的核心文件和非核心文件。
[0057]S卩,根據(jù)軟件安裝后,程序第一次運(yùn)行時(shí),文件執(zhí)行的是主動(dòng)觸發(fā)功能還是被動(dòng)觸發(fā)功能,將待安裝軟件包括的所有文件區(qū)分為必要核心文件和非核心文件。
[0058]以360衛(wèi)士為例,其核心文件可以包括衛(wèi)士的主界面;而衛(wèi)士的導(dǎo)航區(qū)域有幾大功能,點(diǎn)擊每個(gè)功能后下面的展示內(nèi)容都會(huì)變化,只要不是需要啟動(dòng)后就顯示的功能(此處主要指展示內(nèi)容區(qū)域),都可以作為非核心文件。
[0059]步驟S204:盡量保證核心文件和非核心文件的比例夠大。
[0060]也就是從軟件運(yùn)行角度保障核心文件數(shù)量較少,該比例可以由本領(lǐng)域技術(shù)人員根據(jù)軟件實(shí)際情況進(jìn)行劃分和控制。核心文件越少,安裝的速度就會(huì)越快,安裝后程序啟動(dòng)也會(huì)越快。通常來(lái)說(shuō),核心文件和非核心文件的比例應(yīng)該保持在4:6及以下,優(yōu)選地,為3:7。
[0061]步驟S206:使用較高的壓縮比技術(shù)將兩塊文件壓縮到安裝包內(nèi)。
[0062]因?yàn)槟壳翱陀^硬件條件下的安裝包耗時(shí)主要消耗在了文件從安裝包到目的地的傳輸效率上,因此本領(lǐng)域技術(shù)人員可以采用適當(dāng)?shù)木哂休^高的壓縮比的技術(shù),如zip或者7z技術(shù),將核心文件和非核心文件這兩塊文件分別進(jìn)行壓縮,然后再組成為一個(gè)安裝包。
[0063]步驟S208:執(zhí)行安裝、核心文件包釋放且直接執(zhí)行程序運(yùn)行,再釋放非核心文件包。
[0064]在進(jìn)行軟件安裝時(shí),先使用核心文件的壓縮包進(jìn)行核心文件的安裝,安裝后直接運(yùn)行,使用戶能夠使用核心文件的功能,然后,再進(jìn)行非核心文件的安裝。
[0065]本實(shí)施例中,在安裝完360衛(wèi)士核心文件后,即運(yùn)行360衛(wèi)士及相關(guān)邏輯,顯示360衛(wèi)士主界面,然后,再進(jìn)行360衛(wèi)士的非核心文件安裝,如安裝實(shí)現(xiàn)衛(wèi)士的導(dǎo)航區(qū)域的功能的非核心文件。
[0066]步驟S210:程序運(yùn)行后會(huì)再自動(dòng)去加載非核心文件完成相關(guān)功能。
[0067]在程序運(yùn)行后,一方面,安裝程序可以在程序開(kāi)始運(yùn)行即可自行繼續(xù)安裝非核心文件;另一方面,安裝程序也可以將非核心文件的安裝交給用戶,通過(guò)用戶輸入的安裝非核心文件的指令,確定安裝非核心文件的時(shí)機(jī),進(jìn)而安裝非核心文件。通過(guò)不同的后續(xù)非核心文件安裝方式,為用戶安裝軟件提供了更多選擇,也使軟件安裝更靈活,進(jìn)一步提升了用戶的使用體驗(yàn)。
[0068]通過(guò)本實(shí)施例,將待安裝軟件中的文件進(jìn)行了核心文件和非核心文件的劃分,在軟件安裝時(shí),先安裝核心文件并運(yùn)行;并且控制核心文件在整個(gè)待安裝軟件中的比例;使用較高的壓縮比技術(shù)對(duì)核心文件和非核心文件進(jìn)行壓縮,從而有效保證了軟件安裝時(shí)的傳輸效率和必要的核心文件的大小,有效提高了軟件安裝速度,縮短了用戶等待時(shí)間,提高了用戶使用體驗(yàn)。
[0069]實(shí)施例三
[0070]參照?qǐng)D3,示出了根據(jù)本申請(qǐng)實(shí)施例三的一種軟件安裝方法的步驟流程圖。
[0071]本實(shí)施例的軟件安裝方法包括以下步驟:
[0072]步驟S302:確立良好的程序必要運(yùn)行流程。
[0073]本步驟在待安裝軟件打包前,由該軟件技術(shù)人員確立。包括:確定程序需要具備的功能特性,去除多余重復(fù)的功能;明確劃分主動(dòng)和被動(dòng)觸發(fā)功能特性;嚴(yán)格執(zhí)行以上兩類功能特性的構(gòu)造,盡量減少對(duì)其他模塊的引用和依賴等。
[0074]步驟S304:劃分核心文件和非核心文件,生成安裝包。
[0075]本步驟中,根據(jù)軟件安裝后實(shí)現(xiàn)的是主動(dòng)觸發(fā)功能還是被動(dòng)觸發(fā)功能將文件劃分為核心文件和非核心文件。以360瀏覽器的安裝為例,實(shí)現(xiàn)主動(dòng)觸發(fā)功能類型的文件,也就是安裝360瀏覽器的核心文件可以包括:360se.exe (主程序文件,完成網(wǎng)頁(yè)加載、顯示功能)、Favorites, dll (收藏夾模塊,因啟動(dòng)后需要顯示用戶添加過(guò)的收藏夾而被劃歸到核心包)、Safecentral.dll (安全紅綠燈模塊,因需要實(shí)時(shí)保護(hù)上網(wǎng)安全,所以需要啟動(dòng)時(shí)就運(yùn)行)、Pluginbar.dll (插件欄,因啟動(dòng)后需要顯示用戶添加過(guò)的插件而被劃歸到核心包)等;而實(shí)現(xiàn)被動(dòng)觸發(fā)功能類型的文件,也就是安裝360瀏覽器的非核心文件可以包括:Download, dll (下載模塊,如用戶不進(jìn)行下載則無(wú)需立即啟動(dòng))、Seup.exe (程序升級(jí)模塊,升級(jí)時(shí)間為每天一次,故劃分到非核心包)等。
[0076]在劃分核心文件和非核心文件后,生成安裝包。安裝包中包括核心文件子安裝包和非核心文件子安裝包,其中,將主動(dòng)觸發(fā)的功能特性和文件劃分為核心文件類型,生成核心文件子安裝包;將被動(dòng)觸發(fā)的功能特性和文件劃分為非核心文件類型,生成非核心文件子安裝包。
[0077]步驟S306:確立軟件運(yùn)行條件的假定基礎(chǔ)。
[0078]包括:設(shè)定軟件正常運(yùn)行時(shí)需要被安裝到的路徑;設(shè)定軟件正常運(yùn)行時(shí)需要用到的系統(tǒng)環(huán)境,如磁盤可寫入,有足夠剩余空間等。
[0079]設(shè)定安裝環(huán)境和安裝路徑,確定一批大多數(shù)用戶都不會(huì)去設(shè)置的項(xiàng),默認(rèn)執(zhí)行,使得待安裝軟件可以直接在設(shè)定的安裝環(huán)境和安裝路徑下安裝,無(wú)須用戶輸入,減少了不必要的待安裝軟件和用戶的交互,縮短了安裝時(shí)間,提高了安裝效率,提升了用戶體驗(yàn)。
[0080]優(yōu)選地,還可以設(shè)定一個(gè)備用安裝路徑,以便在設(shè)定的默認(rèn)安裝路徑下安裝失敗時(shí),使用該備用安裝路徑,在該備用安裝路徑下安裝軟件。通過(guò)備用安裝路徑,保證了軟件能夠快速準(zhǔn)確安裝,在一定程度上避免了軟件安裝失敗。
[0081]需要說(shuō)明的是,步驟S306和步驟S304的執(zhí)行可以不分先后順序,也即,可以先劃分核心文件和非核心文件,進(jìn)而生成安裝包,然后再設(shè)定安裝環(huán)境和安裝路徑;或者,也可以先設(shè)定安裝環(huán)境和安裝路徑,然后再劃分核心文件和非核心文件,進(jìn)而生成安裝包。
[0082]此外,本步驟為可選步驟,在實(shí)際應(yīng)用中,也可以向用戶提供輸入安裝路徑的接口或界面,由用戶輸入自定義安裝路徑。
[0083]步驟S308:基于假定基礎(chǔ)執(zhí)行釋放邏輯。
[0084]S卩,運(yùn)行安裝包以后,立馬按照之前既定的安裝環(huán)境和安裝路徑釋放核心文件。
[0085]需要說(shuō)明的是,在安裝過(guò)程中,如果用戶自定義安裝路徑,則需要撤銷之前釋放的文件。如果用戶第一既定安裝路徑釋放失敗,需要寫入備用安裝路徑,如果全部失敗,則提示用戶無(wú)法安裝。通過(guò)向用戶提供輸入自定義安裝路徑的接口,使得用戶有了靈活選擇安裝路徑的機(jī)會(huì),但相比較與設(shè)定的安裝路徑,該種方式將增加軟件安裝時(shí)間。
[0086]步驟S310:基于釋放邏輯運(yùn)行程序?qū)崿F(xiàn)安裝效果。
[0087]包括:立即啟動(dòng)程序,供用戶使用;同時(shí),用戶可使用主動(dòng)觸發(fā)功能,也即通過(guò)安裝核心文件實(shí)現(xiàn)的功能(例如,主頁(yè)需要加載,所以必需啟動(dòng)時(shí)必需具備網(wǎng)頁(yè)加載功能);同時(shí),后臺(tái)繼續(xù)釋放非核心文件,供用戶使用其他被動(dòng)觸發(fā)功能,即通過(guò)安裝非核心文件實(shí)現(xiàn)的功能(例如下載)。
[0088]在具體實(shí)現(xiàn)時(shí),安裝程序引用了多線程技術(shù)開(kāi)發(fā),使用多線程安裝核心文件和非核心文件。
[0089]安裝程序使用的多線程包括:主線程和邏輯線程,其中,主線程用于核心文件和/或非核心文件的安裝初始化操作,邏輯線程用于執(zhí)行核心文件和/或非核心文件的安裝過(guò)程。優(yōu)選地,多線程還可以包括用于核心文件和/或非核心文件的安裝界面展現(xiàn)的界面線程。通過(guò)多線程,進(jìn)一步提高了軟件安裝速度和效率。
[0090]本實(shí)施例中,安裝程序維護(hù)了三個(gè)線程:主線程、界面線程、邏輯線程。主線程負(fù)責(zé)安裝程序的初始化操作,界面線程負(fù)責(zé)UI (用戶界面,即安裝界面)的展現(xiàn),邏輯線程負(fù)責(zé)安裝過(guò)程的執(zhí)行。
[0091]安裝核心文件時(shí),邏輯線程調(diào)用CreateProcess啟動(dòng)主線程,在主線程的啟動(dòng)過(guò)程中,發(fā)送消息通知界面線程設(shè)置定時(shí)器,并開(kāi)始工作,展現(xiàn)安裝界面。定時(shí)器控制安裝界面中的安裝進(jìn)度的顯示度,以360瀏覽器為例,在一秒鐘內(nèi)保證進(jìn)度條的勻加速效果處理。安裝進(jìn)度顯示核心文件安裝完成時(shí),界面線程通過(guò)發(fā)送消息,通知邏輯線程核心文件安裝完成,邏輯線程完成后續(xù)收尾工作。通過(guò)界面線程,可以使用戶了解軟件的安裝進(jìn)度,增強(qiáng)界面使用感覺(jué),提升用戶使用體驗(yàn)。當(dāng)然,在實(shí)際應(yīng)用中,也可以不使用界面線程,不展現(xiàn)安裝界面,當(dāng)核心文件安裝完成時(shí),由主線程發(fā)送消息通知邏輯線程,或者由邏輯線程自動(dòng)獲知等方式獲知核心文件安裝完成信息。
[0092]在核心文件安裝完成后,加載安裝的相應(yīng)模塊開(kāi)始運(yùn)行。程序采用動(dòng)態(tài)加載方式加載DLL (動(dòng)態(tài)鏈接庫(kù))模塊,通過(guò)LoadLibrary函數(shù)將指定的可執(zhí)行模塊(即DLL模塊)映射到調(diào)用進(jìn)程的地址空間。調(diào)用GetProcAddress函數(shù)獲取該動(dòng)態(tài)鏈接庫(kù)中相關(guān)導(dǎo)出函數(shù)的地址,通過(guò)地址調(diào)用使用該模塊實(shí)現(xiàn)的功能。通常情況下,在程序運(yùn)行過(guò)程中只是在某個(gè)條件滿足時(shí)才需要訪問(wèn)某個(gè)DLL中的某個(gè)函數(shù),其它情況下都不需要訪問(wèn)這些DLL中的函數(shù)。采用動(dòng)態(tài)加載方式,需要時(shí)DLL模塊才被加載到內(nèi)存中,并被映射到調(diào)用進(jìn)程的地址空間中。解決了程序啟動(dòng)過(guò)程中,程序進(jìn)程的內(nèi)存一次性加載過(guò)多的模塊,為每個(gè)模塊分配過(guò)多的地址空間,嚴(yán)重浪費(fèi)了系統(tǒng)資源,導(dǎo)致程序啟動(dòng)時(shí)間過(guò)長(zhǎng)的問(wèn)題。
[0093]核心文件安裝完成后,出現(xiàn)安裝的軟件的程序界面和用戶產(chǎn)生交互,但此時(shí)在后臺(tái),安裝程序并沒(méi)有退出,直到所有非核心包文件釋放完畢。本實(shí)施例中,在核心文件安裝完成后,非核心文件的釋放采用由安裝程序自己觸發(fā)完成的方式,緊跟著核心文件釋放。需要說(shuō)明的是,非核心文件的安裝也適用上述的多線程技術(shù),非核心文件的加載運(yùn)行也同樣適用于上述的動(dòng)態(tài)加載DLL技術(shù)。
[0094]通過(guò)本實(shí)施例,對(duì)安裝資源進(jìn)行分類處理,能夠解決安裝程序初始化時(shí)間過(guò)長(zhǎng)、一次性釋放文件過(guò)多,安裝進(jìn)度不流暢的問(wèn)題,達(dá)到快速安裝的效果。本實(shí)施例的軟件安裝方法使程序運(yùn)行的結(jié)構(gòu)條件較為嚴(yán)謹(jǐn),與傳統(tǒng)程序較為松散的結(jié)構(gòu)不同,盡量地將程序運(yùn)行時(shí)的必要文件減小了到最小。以安裝360瀏覽器為例,通過(guò)本實(shí)施例,可實(shí)現(xiàn)在I秒時(shí)間內(nèi)軟件的安裝。
[0095]此外,安裝過(guò)程中可能會(huì)存在非核心文件加載失敗的問(wèn)題,此時(shí)只需要重啟即可解決。
[0096]實(shí)施例四
[0097]參照?qǐng)D4,示出了根據(jù)本申請(qǐng)實(shí)施例四的一種軟件安裝裝置的結(jié)構(gòu)框圖。
[0098]本實(shí)施例的軟件安裝裝置包括:劃分模塊402,用于將待安裝軟件中的所有文件劃分為核心文件和非核心文件,其中,核心文件為用于實(shí)現(xiàn)主動(dòng)觸發(fā)功能的文件,非核心文件為用于實(shí)現(xiàn)被動(dòng)觸發(fā)功能的文件;生成模塊404,用于生成核心文件的子安裝包和非核心文件的子安裝包;安裝模塊408,用于當(dāng)安裝所述待安裝軟件時(shí),使用核心文件的子安裝包安裝核心文件并運(yùn)行核心文件,使待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。
[0099]優(yōu)選地,安裝模塊408用于當(dāng)開(kāi)始安裝所述待安裝軟件時(shí),僅使用核心文件的子安裝包安裝核心文件并運(yùn)行核心文件,使待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。
[0100]優(yōu)選地,本實(shí)施例的軟件安裝裝置還包括:繼續(xù)安裝模塊410,用于當(dāng)核心文件安裝后開(kāi)始運(yùn)行時(shí),使用非核心文件的子安裝包安裝非核心文件;或者,當(dāng)核心文件安裝完成后,接收到輸入的安裝非核心文件的指令,使用非核心文件的子安裝包安裝非核心文件。
[0101]優(yōu)選地,安裝模塊408,用于當(dāng)安裝所述待安裝軟件時(shí),使用核心文件的子安裝包,利用多個(gè)線程安裝核心文件,并運(yùn)行核心文件,使待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。
[0102]優(yōu)選地,多個(gè)線程包括主線程和邏輯線程,其中,主線程用于核心文件的安裝初始化操作,邏輯線程用于執(zhí)行核心文件的安裝過(guò)程。
[0103]優(yōu)選地,多個(gè)線程還包括界面線程,界面線程用于核心文件的安裝界面展現(xiàn)。
[0104]優(yōu)選地,安裝模塊408在使用核心文件的子安裝包,利用多個(gè)線程安裝核心文件時(shí),由邏輯線程啟動(dòng)主線程,在主線程啟動(dòng)的過(guò)程中,發(fā)送消息通知界面線程設(shè)置定時(shí)器并開(kāi)始展現(xiàn)安裝界面;界面線程使用定時(shí)器控制安裝界面中安裝進(jìn)度的顯示;在安裝進(jìn)度顯示安裝完成時(shí),界面線程向邏輯線程發(fā)送消息,通知邏輯線程核心文件安裝完成。
[0105]優(yōu)選地,安裝模塊408在運(yùn)行核心文件時(shí),通過(guò)動(dòng)態(tài)加載核心文件中的DLL文件,運(yùn)行核心文件。
[0106]優(yōu)選地,本實(shí)施例的軟件安裝裝置還包括:設(shè)定模塊406,用于在安裝模塊408使用核心文件的子安裝包安裝核心文件并運(yùn)行核心文件之前,設(shè)定待安裝軟件的安裝環(huán)境和安裝路徑;安裝模塊408用于當(dāng)安裝待安裝軟件時(shí),在設(shè)定的安裝環(huán)境和安裝路徑下,使用核心文件的子安裝包安裝核心文件并運(yùn)行核心文件,使待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。設(shè)定模塊406和劃分模塊402的執(zhí)行可以不分先后順序。
[0107]優(yōu)選地,設(shè)定模塊406設(shè)定的安裝路徑包括默認(rèn)安裝路徑和備用安裝路徑;安裝模塊408在當(dāng)安裝待安裝軟件時(shí),在安裝環(huán)境和默認(rèn)安裝路徑下,使用核心文件的子安裝包安裝核心文件并運(yùn)行核心文件;若在安裝環(huán)境和默認(rèn)安裝路徑下,安裝核心文件失敗,則在安裝環(huán)境和備用安裝路徑下,使用核心文件的子安裝包安裝核心文件并運(yùn)行核心文件,使待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。
[0108]優(yōu)選地,本實(shí)施例的軟件安裝裝置還包括:接收模塊(圖中未示出),用于在安裝模塊408安裝待安裝軟件的過(guò)程中,接收到輸入的安裝路徑,撤銷在設(shè)定模塊406設(shè)定的安裝環(huán)境和安裝路徑下已安裝的核心文件,并將輸入的安裝路徑發(fā)送給安裝模塊408,由安裝模塊408在輸入的安裝路徑下,使用核心文件的子安裝包安裝核心文件并運(yùn)行核心文件,使待安裝軟件的主動(dòng)觸發(fā)功能正常運(yùn)行。
[0109]優(yōu)選地,用于實(shí)現(xiàn)主動(dòng)觸發(fā)功能的核心文件為待安裝軟件安裝并運(yùn)行后,不需要除待安裝軟件啟動(dòng)運(yùn)行的因素即運(yùn)行的文件,如不需要用戶進(jìn)行輸入即可運(yùn)行的文件;實(shí)現(xiàn)被動(dòng)觸發(fā)功能的非核心文件為待安裝軟件安裝并運(yùn)行后,需要除待安裝軟件啟動(dòng)運(yùn)行以外的因素運(yùn)行的文件,如需要用戶進(jìn)行輸入,根據(jù)用戶的輸入運(yùn)行的文件。
[0110]本實(shí)施例的軟件安裝裝置用于實(shí)現(xiàn)前述方法實(shí)施例中相應(yīng)的軟件安裝方法,并具有相應(yīng)的軟件安裝方法的有益效果,在此不再贅述。
[0111]本申請(qǐng)將傳統(tǒng)安裝包的先向系統(tǒng)塞文件再運(yùn)行的思路重整為新式安裝思路,即盡量向系統(tǒng)少塞文件趕緊運(yùn)行,再慢慢塞文件。通過(guò)本申請(qǐng)的多個(gè)軟件安裝方案,可以達(dá)到以下效果:
[0112](I)交互界面友好:在開(kāi)發(fā)被安裝軟件時(shí),可自行定義控件豐富、展現(xiàn)精致的交互界面。軟件安裝時(shí),可以向用戶提供對(duì)這些控件和交互界面的支持,從而為用戶安裝軟件時(shí)帶來(lái)更好的使用體驗(yàn)。
[0113](2)開(kāi)發(fā)手段靈活:不必借助第三方廠商提供的SDK,例NSIS,可以使用和程序同源的C++或者C#等高級(jí)變成語(yǔ)言開(kāi)發(fā)。
[0114](3)可維護(hù)性、穩(wěn)定性強(qiáng):現(xiàn)有安裝包技術(shù)主要基于腳本語(yǔ)言構(gòu)造,當(dāng)程序大小或者邏輯迭代到達(dá)一定龐雜程度后,無(wú)法很好的維護(hù)和表現(xiàn)出較好的穩(wěn)定性,通過(guò)本實(shí)施例,可以規(guī)避此類風(fēng)險(xiǎn)。
[0115](4)提供良好的用戶體驗(yàn):傳統(tǒng)的安裝包耗時(shí)極長(zhǎng),嚴(yán)重阻礙了用戶的軟件使用積極性。使用本申請(qǐng)的技術(shù)方案,可以提供良好的用戶體驗(yàn),有效提升用戶對(duì)軟件的使用積極性。
[0116]本說(shuō)明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
[0117]以上對(duì)本申請(qǐng)所提供的一種軟件安裝方法和裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。
【權(quán)利要求】
1.一種軟件安裝方法,其包括: 明確區(qū)分待安裝軟件第一次運(yùn)行時(shí)的核心文件和非核心文件,其中,將啟動(dòng)后就顯示的功能作為核心文件,將不是需要啟動(dòng)后就顯示的功能作為非核心文件; 分別將所述核心文件和所述非核心文件壓縮成壓縮包; 當(dāng)安裝所述待安裝軟件時(shí),使用核心文件的壓縮包進(jìn)行核心文件安裝并運(yùn)行所述核心文件。
2.根據(jù)權(quán)利要求1所述的方法,其中,還包括: 當(dāng)所述核心文件安裝后開(kāi)始運(yùn)行時(shí),使用所述非核心文件的壓縮包進(jìn)行非核心文件安裝。
3.根據(jù)權(quán)利要求1所述的方法,其中,還包括: 當(dāng)所述核心文件安裝完成后,接收到輸入的安裝所述非核心文件的指令,使用所述非核心文件的壓縮包進(jìn)行非核心文件安裝。
4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其中,使用核心文件的壓縮包進(jìn)行核心文件安裝包括: 使用所述核心文件的壓縮包,利用多個(gè)線程安裝所述核心文件,所述多個(gè)線程包括主線程和邏輯線程,所述主線程用于所述核心文件的安裝初始化操作,所述邏輯線程用于執(zhí)行所述核心文件的安裝過(guò)程。
5.根據(jù)權(quán)利要求4所述的方法,其中,所述多個(gè)線程還包括界面線程,所述界面線程用于所述核心文件的安裝界面展現(xiàn)。
6.根據(jù)權(quán)利要求5所述的方法,其中,所述使用所述核心文件的壓縮包,利用多個(gè)線程安裝所述核心文件的步驟包括: 所述邏輯線程啟動(dòng)所述主線程,在所述主線程啟動(dòng)的過(guò)程中,發(fā)送消息通知所述界面線程設(shè)置定時(shí)器并開(kāi)始展現(xiàn)安裝界面; 所述界面線程使用所述定時(shí)器控制所述安裝界面中安裝進(jìn)度的顯示; 在所述安裝進(jìn)度顯示安裝完成時(shí),所述界面線程向所述邏輯線程發(fā)送消息,通知所述邏輯線程所述核心文件安裝完成。
7.根據(jù)權(quán)利要求1所述的方法,其中,所述運(yùn)行所述核心文件的步驟包括: 動(dòng)態(tài)加載所述核心文件中的動(dòng)態(tài)鏈接庫(kù)DLL文件,運(yùn)行所述核心文件。
8.根據(jù)權(quán)利要求1所述的方法,其中,在當(dāng)安裝所述待安裝軟件時(shí),使用核心文件的壓縮包進(jìn)行核心文件安裝并運(yùn)行所述核心文件步驟之前,還包括:設(shè)定所述待安裝軟件的安裝環(huán)境和安裝路徑; 所述當(dāng)安裝所述待安裝軟件時(shí),使用核心文件的壓縮包進(jìn)行核心文件安裝并運(yùn)行所述核心文件的步驟包括:當(dāng)安裝所述待安裝軟件時(shí),在所述安裝環(huán)境和安裝路徑下,使用所述核心文件的壓縮包安裝所述核心文件并運(yùn)行所述核心文件。
9.根據(jù)權(quán)利要求8所述的方法,其中,所述安裝路徑包括默認(rèn)安裝路徑和備用安裝路徑; 所述當(dāng)安裝所述待安裝軟件時(shí),在所述安裝環(huán)境和安裝路徑下,使用核心文件的壓縮包進(jìn)行核心文件安裝并運(yùn)行所述核心文件的步驟包括:當(dāng)安裝所述待安裝軟件時(shí),在所述安裝環(huán)境和所述默認(rèn)安裝路徑下,使用所述核心文件的壓縮包安裝所述核心文件并運(yùn)行所述核心文件;若在所述安裝環(huán)境和所述默認(rèn)安裝路徑下,安裝所述核心文件失敗,則在所述安裝環(huán)境和所述備用安裝路徑下,使用所述核心文件的壓縮包安裝所述核心文件并運(yùn)行所述核心文件。
10.一種計(jì)算設(shè)備,其包括: 存儲(chǔ)器; 處理器,其耦合至所述存儲(chǔ)器且適于執(zhí)行如權(quán)利要求1至9中任一項(xiàng)所述的方法。
11.一種軟件安裝方法,其包括: 將待安裝軟件中的主動(dòng)觸發(fā)的功能特性和文件劃分為核心文件; 將待安裝軟件中的被動(dòng)觸發(fā)的功能特性和文件劃分為非核心文件; 生成所述核心文件的子安裝包和所述非核心文件的子安裝包; 確立待安裝軟件運(yùn)行條件的假定基礎(chǔ); 基于所述假定基礎(chǔ)執(zhí)行釋放邏輯; 基于所述釋放邏輯運(yùn)行待安裝軟件。
12.根據(jù)權(quán)利要求1所述的方法,其中,確立待安裝軟件運(yùn)行條件的假定基礎(chǔ)包括: 設(shè)定軟件正常運(yùn)行時(shí)需要被安裝到的默認(rèn)安裝路徑; 設(shè)定軟件正常運(yùn)行時(shí)需要用到的系統(tǒng)環(huán)境。
13.根據(jù)權(quán)利要求12所述的方法,其中,確立待安裝軟件運(yùn)行條件的假定基礎(chǔ)還包括: 設(shè)定備用安裝路徑以便在設(shè)定的默認(rèn)安裝路徑下安裝失敗時(shí),在所述備用安裝路徑下安裝軟件。
14.根據(jù)權(quán)利要求12至13中任一項(xiàng)所述的方法,其中,基于所述假定基礎(chǔ)執(zhí)行釋放邏輯包括: 按照所設(shè)定的默認(rèn)安裝路徑和安裝環(huán)境釋放核心文件。
15.根據(jù)權(quán)利要求14所述的方法,其中,基于所述釋放邏輯運(yùn)行待安裝軟件包括: 通過(guò)安裝核心文件實(shí)現(xiàn)的功能,后臺(tái)繼續(xù)釋放非核心文件以供用戶使用其它被動(dòng)觸發(fā)功能。
16.根據(jù)權(quán)利要求14所述的方法,其中,釋放核心文件包括: 使用所述核心文件的子安裝包,利用多個(gè)線程安裝所述核心文件,所述多個(gè)線程包括主線程和邏輯線程,所述主線程用于所述核心文件的安裝初始化操作,所述邏輯線程用于執(zhí)行所述核心文件的安裝過(guò)程。
17.根據(jù)權(quán)利要求16所述的方法,其中,所述多個(gè)線程還包括界面線程,所述界面線程用于所述核心文件的安裝界面展現(xiàn)。
18.根據(jù)權(quán)利要求16所述的方法,其中,所述使用所述核心文件的子安裝包,利用多個(gè)線程安裝所述核心文件的步驟包括: 所述邏輯線程啟動(dòng)所述主線程,在所述主線程啟動(dòng)的過(guò)程中,發(fā)送消息通知所述界面線程設(shè)置定時(shí)器并開(kāi)始展現(xiàn)安裝界面; 所述界面線程使用所述定時(shí)器控制所述安裝界面中安裝進(jìn)度的顯示; 在所述安裝進(jìn)度顯示安裝完成時(shí),所述界面線程向所述邏輯線程發(fā)送消息,通知所述邏輯線程所述核心文件安裝完成。
19.一種計(jì)算設(shè)備,其包括:存儲(chǔ)器;處理器,其耦合至所述存儲(chǔ)器且適于執(zhí)行如權(quán)利要求11至18中任一項(xiàng)所述的方法。
【文檔編號(hào)】G06F9/445GK104166572SQ201410406742
【公開(kāi)日】2014年11月26日 申請(qǐng)日期:2011年12月12日 優(yōu)先權(quán)日:2011年12月12日
【發(fā)明者】趙晨曦, 李錦偉, 陶偉華 申請(qǐng)人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1