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

一種管理軟件安裝/卸載的方法

文檔序號(hào):6540447閱讀:173來(lái)源:國(guó)知局
專利名稱:一種管理軟件安裝/卸載的方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)系統(tǒng)中軟件安裝/卸載技術(shù),特別涉及一種管理軟件安裝/卸載的方法。
背景技術(shù)
在一個(gè)計(jì)算機(jī)系統(tǒng)中,往往會(huì)安裝各種類型的計(jì)算機(jī)軟件,以適應(yīng)不同用戶的不同需求。在這些軟件之間很可能存在著依賴關(guān)系,即有些軟件必須依賴于其他軟件才能正常運(yùn)行。這就要求在安裝軟件的時(shí)候,必須首先安裝該軟件所依賴的其他軟件。同樣,在卸載軟件的時(shí)候,也必須先卸載依賴于該軟件的其他軟件,否則,卸載該軟件后會(huì)造成依賴于該軟件的其他軟件無(wú)法正常運(yùn)行。
目前,軟件對(duì)自身安裝的管理可以分為三類。第一類,在軟件安裝過(guò)程中不考慮軟件之間的依賴關(guān)系,直接安裝軟件,但所安裝的軟件可能因?yàn)槿鄙偎蕾嚨能浖鵁o(wú)法正常運(yùn)行。第二類,預(yù)先在安裝軟件中設(shè)置軟件對(duì)自身的管理程序,在軟件安裝過(guò)程中軟件自身的管理程序檢查用戶端是否存在該軟件所依賴的軟件,如果存在,則直接安裝該軟件,如果不存在,則給用戶端發(fā)出提示信息,由用戶端安裝該軟件所依賴的軟件后,再安裝該軟件,但是這種軟件安裝過(guò)程中必須需要用戶端的客戶參與,增加了客戶安裝軟件的麻煩。第三類,預(yù)先在安裝軟件中設(shè)置軟件對(duì)自身的管理程序以及該軟件所依賴軟件的安裝程序或該軟件所依賴軟件安裝程序的來(lái)源信息,在軟件安裝過(guò)程中軟件自身的管理程序檢查用戶端是否存在該軟件所依賴的軟件,如果存在,則直接安裝該軟件,如果不存在,則根據(jù)設(shè)置在安裝軟件中的該軟件所依賴軟件程序的來(lái)源信息或直接從安裝軟件中獲取該軟件的安裝信息,安裝該軟件所依賴的軟件后,再安裝該軟件,但是這種軟件安裝過(guò)程中需要給每一個(gè)軟件再額外設(shè)置軟件對(duì)自身的管理程序,以及該軟件所依賴軟件的安裝程序或該軟件所依賴軟件安裝程序的來(lái)源信息,這不僅增大了安裝軟件占用的存儲(chǔ)空間,而且對(duì)每一個(gè)安裝軟件進(jìn)行設(shè)置比較繁瑣。
更進(jìn)一步地,目前沒(méi)有對(duì)軟件卸載的管理,無(wú)法對(duì)要卸載的軟件進(jìn)行軟件依賴關(guān)系的判斷,如果卸載了一個(gè)其他軟件依賴的軟件,則會(huì)導(dǎo)致其他軟件無(wú)法正常運(yùn)行。
因此,如何在不增大軟件存儲(chǔ)空間的基礎(chǔ)上簡(jiǎn)便地安裝具有軟件依賴關(guān)系的軟件,以及卸載具有軟件依賴關(guān)系的軟件,而不造成該軟件和依賴于該軟件的其他軟件無(wú)法正常運(yùn)行成為了亟待解決的問(wèn)題。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種管理軟件安裝/卸載的方法,該方法不僅能夠在不增大軟件存儲(chǔ)空間的基礎(chǔ)上簡(jiǎn)便地安裝具有軟件依賴關(guān)系的軟件,保證所安裝軟件正常運(yùn)行,而且在卸載具有軟件依賴關(guān)系的軟件時(shí),保證用戶端中的其他軟件正常運(yùn)行。
根據(jù)上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種管理軟件安裝/卸載的方法,設(shè)置軟件依賴關(guān)系信息描述文件,該方法還包括當(dāng)安裝軟件時(shí),用戶端根據(jù)設(shè)置的軟件依賴關(guān)系信息描述文件判斷是否存在要安裝軟件所依賴的軟件,如果存在,用戶端先安裝被依賴的軟件,再安裝要安裝軟件;否則,用戶端安裝要安裝軟件;當(dāng)卸載軟件時(shí),用戶端根據(jù)設(shè)置的軟件依賴關(guān)系信息描述文件判斷是否存在依賴于要卸載軟件的軟件,如果存在,用戶端不卸載軟件或者用戶端將要卸載的軟件和依賴于所卸載軟件的軟件都進(jìn)行卸載;否則,用戶端卸載要卸載的軟件。
所述的軟件依賴關(guān)系信息描述文件包括軟件的正常運(yùn)行所需要依賴的軟件及版本、軟件的正常運(yùn)行所需要依賴的軟件組件及版本。
所述的軟件依賴關(guān)系信息描述文件為用戶端已安裝軟件的依賴關(guān)系信息描述文件時(shí),該文件存儲(chǔ)在用戶端設(shè)置的本地軟件信息庫(kù)中。
所述的軟件依賴關(guān)系信息描述文件為用戶端未安裝軟件的依賴關(guān)系信息描述文件時(shí),該文件存儲(chǔ)在提供軟件安裝程序的軟件安裝單元中。
在所述用戶端先安裝被依賴軟件后,該方法進(jìn)一步包括用戶端將被依賴軟件的依賴關(guān)系信息描述文件保存在設(shè)置的本地軟件信息庫(kù)中,并且標(biāo)記為被動(dòng)安裝;在所述安裝要安裝軟件后,該方法進(jìn)一步包括用戶端將軟件的依賴關(guān)系信息描述文件保存在設(shè)置的本地軟件信息庫(kù)中,并且標(biāo)記為主動(dòng)安裝。
所述用戶端先安裝被依賴軟件的過(guò)程為用戶端設(shè)置提供預(yù)安裝接口的軟件管理服務(wù)單元,用于存儲(chǔ)軟件安裝程序的軟件安裝單元調(diào)用軟件管理服務(wù)單元的預(yù)安裝接口,由軟件管理服務(wù)單元獲取被依賴軟件的安裝程序并安裝被依賴軟件;或者由用戶端要安裝軟件的安裝程序獲取被依賴軟件的安裝程序,安裝被依賴軟件。
在所述將要卸載的軟件和依賴于所卸載軟件的軟件都進(jìn)行卸載后,該方法進(jìn)一步包括用戶端將設(shè)置在本地軟件信息庫(kù)中的要卸載軟件以及依賴于所卸載軟件的軟件對(duì)應(yīng)的依賴關(guān)系信息描述文件進(jìn)行刪除。
該方法進(jìn)一步包括用戶端判斷要卸載軟件和依賴于所卸載軟件的軟件所依賴的標(biāo)記為被動(dòng)安裝的軟件是否還被用戶端已安裝的其它軟件所依賴,如果不存在依賴于該被動(dòng)安裝軟件的其它軟件,用戶端卸載該標(biāo)記為被動(dòng)安裝的軟件,并將設(shè)置在本地軟件信息庫(kù)中的該被動(dòng)安裝軟件的依賴關(guān)系信息描述文件進(jìn)行刪除;否則,用戶端不做處理,結(jié)束。
所述的軟件為具有一個(gè)或一個(gè)以上組件的軟件。
當(dāng)軟件進(jìn)行修改時(shí),該方法進(jìn)一步包括軟件增加組件,用戶端根據(jù)設(shè)置組件的軟件依賴關(guān)系信息描述文件判斷用戶端是否已安裝要安裝組件依賴的軟件以及組件,如果未安裝,用戶端先安裝被依賴的軟件以及組件,再安裝要安裝組件;否則,用戶端安裝要安裝組件;當(dāng)卸載組件時(shí),用戶端根據(jù)設(shè)置組件的軟件依賴關(guān)系信息描述文件判斷用戶端是否存在依賴于要卸載組件的軟件以及組件,如果存在,用戶端不卸載要卸載組件或者用戶端將要卸載的組件和依賴于要卸載組件的軟件以及組件都進(jìn)行卸載;否則,用戶端卸載要卸載的組件。
從上述方案可以看出,本發(fā)明在用戶端預(yù)先設(shè)置用于存儲(chǔ)已安裝軟件依賴關(guān)系信息描述文件的本地軟件信息庫(kù),當(dāng)要卸載軟件或軟件中的組件時(shí),用戶端可以根據(jù)本地軟件信息庫(kù)存儲(chǔ)的已安裝軟件依賴關(guān)系信息描述文件判斷是否存在依賴于要卸載軟件的軟件,如果有,則不卸載軟件;否則,卸載軟件。因此,本發(fā)明提供的方法在卸載具有軟件依賴關(guān)系的軟件時(shí),保證依賴所要卸載軟件的其他軟件正常運(yùn)行。本發(fā)明還在提供安裝程序的軟件安裝單元設(shè)置了軟件依賴關(guān)系信息描述文件,當(dāng)安裝軟件或軟件的組件時(shí),用戶端可以根據(jù)從安裝單元中獲取的軟件依賴關(guān)系信息描述文件確定所安裝軟件的正常運(yùn)行是否依賴于其他軟件,如果是,用戶端可以先安裝被依賴的其他軟件后,再安裝要安裝的軟件或組件。由于本發(fā)明不像現(xiàn)有技術(shù)那樣要在軟件安裝程序中設(shè)置管理軟件安裝的程序,也可以不設(shè)置被依賴軟件,節(jié)省了空間,所以本發(fā)明在不增大軟件存儲(chǔ)空間的基礎(chǔ)上簡(jiǎn)便地安裝具有軟件依賴關(guān)系的軟件,保證所安裝軟件正常運(yùn)行。


圖1為本發(fā)明軟件安裝/卸載的管理框架圖;圖2為本發(fā)明的管理軟件安裝/卸載的方法具體實(shí)施例示意圖。
具體實(shí)施例方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下舉具體實(shí)施例并參照附圖,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。
本發(fā)明提供的方法能夠在軟件安裝過(guò)程中,直接由用戶端判斷是否需要安裝該軟件所依賴的軟件,如果需要,則安裝該軟件所依賴的軟件后再安裝該軟件;如果不需要,則直接安裝該軟件。本發(fā)明提供的方法還能夠在軟件卸載過(guò)程中,直接由用戶端判斷計(jì)算機(jī)系統(tǒng)中是否存在有依賴于要卸載軟件的軟件,如果存在,則提示用戶是否同時(shí)卸載軟件和依賴于要卸載軟件的軟件,或者提示用戶不卸載該軟件,否則,直接卸載該軟件。
本發(fā)明提供的方法還可以修改已安裝軟件中的各個(gè)組件,即針對(duì)已安裝軟件中的每個(gè)組件,判斷是否需要安裝或卸載其他軟件或組件。
圖1為本發(fā)明軟件安裝/卸載的管理框架圖,該管理框架包括具有軟件安裝/卸載程序和軟件依賴關(guān)系信息的軟件安裝單元100,在用戶端中,軟件安裝/卸載管理服務(wù)單元101以及具有已經(jīng)安裝軟件的依賴關(guān)系信息的本地軟件信息庫(kù)102。
用戶端中的軟件安裝/卸載管理服務(wù)單元101是實(shí)際負(fù)責(zé)管理軟件安裝/卸載過(guò)程的部分,該單元為軟件安裝單元100提供三個(gè)接口預(yù)安裝接口、預(yù)卸載接口和預(yù)修改接口,分別供軟件安裝單元100在軟件安裝過(guò)程、卸載過(guò)程和修改過(guò)程中使用。當(dāng)軟件安裝單元100通過(guò)這三個(gè)接口和軟件安裝/卸載管理服務(wù)單元101進(jìn)行信息交互時(shí),由軟件安裝/卸載管理服務(wù)單元101對(duì)軟件依賴關(guān)系進(jìn)行判斷,安裝或卸載相關(guān)的所依賴軟件以及安裝或卸載相關(guān)所依賴的軟件組件。
在軟件安裝以及修改過(guò)程中,軟件安裝單元100需要提供描述軟件依賴關(guān)系信息,以便軟件管理服務(wù)單元101更新本地軟件信息庫(kù)102所保存軟件的依賴關(guān)系信息。在軟件卸載過(guò)程中,軟件管理服務(wù)單元101直接從本地軟件信息庫(kù)102中獲取該軟件的依賴關(guān)系信息。
本發(fā)明中的本地軟件信息庫(kù)102中用于保存已安裝軟件的依賴關(guān)系信息,在本地軟件信息庫(kù)102中,將已安裝軟件的標(biāo)記分為主動(dòng)安裝和被動(dòng)安裝兩類。其中,標(biāo)記為主動(dòng)安裝的軟件是指用戶端主動(dòng)運(yùn)行軟件安裝程序完成安裝的軟件;標(biāo)記為被動(dòng)安裝的軟件是指由于被所需要安裝軟件依賴而由軟件安裝/卸載管理服務(wù)單元101被動(dòng)安裝的軟件。
軟件的依賴關(guān)系信息可以存儲(chǔ)在軟件的依賴關(guān)系信息描述文件中,再將軟件的依賴關(guān)系信息描述文件存儲(chǔ)在軟件安裝單元100或/和本地軟件信息庫(kù)102中。軟件的依賴關(guān)系信息包括該軟件的正常運(yùn)行所需要依賴的軟件及其版本、該軟件的正常運(yùn)行所需要依賴的軟件組件及其版本。
以下分別對(duì)軟件管理服務(wù)單元101執(zhí)行各個(gè)過(guò)程進(jìn)行詳細(xì)敘述。
1、軟件的預(yù)安裝過(guò)程軟件的預(yù)安裝是指當(dāng)一個(gè)軟件依賴于其他軟件時(shí),即只有當(dāng)其他軟件存在時(shí)該軟件才能正常運(yùn)行,由軟件管理服務(wù)單元101安裝該軟件所依賴的其他軟件的過(guò)程。
軟件管理服務(wù)單元101為軟件安裝單元100提供了預(yù)安裝接口,軟件安裝單元100通過(guò)此接口給軟件管理服務(wù)單元101提供預(yù)先存儲(chǔ)的軟件的依賴關(guān)系信息描述文件。軟件管理服務(wù)單元101接收到軟件的依賴關(guān)系信息描述文件后判斷該軟件所依賴的軟件是否已經(jīng)在用戶端安裝,并且判斷所安裝被依賴軟件的版本是否為軟件的依賴關(guān)系信息描述文件中被依賴軟件的版本,如果被依賴軟件沒(méi)有被安裝或者所安裝的被依賴軟件的版本不是軟件的依賴關(guān)系信息描述文件中被依賴軟件的版本,則由軟件管理服務(wù)單元101通過(guò)某種預(yù)先設(shè)定的方式,如通過(guò)計(jì)算機(jī)網(wǎng)絡(luò),獲取該被依賴軟件的安裝程序,在安裝完成后,將被依賴軟件的軟件依賴關(guān)系信息描述文件保存在本地軟件信息庫(kù)102中,同時(shí)標(biāo)記被依賴軟件為被動(dòng)安裝后,繼續(xù)安裝該軟件,將該軟件的軟件依賴關(guān)系信息描述文件保存在本地軟件信息庫(kù)102,同時(shí)標(biāo)記為主動(dòng)安裝。如果被依賴軟件已經(jīng)被安裝并且所安裝的被依賴軟件的版本是軟件的依賴關(guān)系信息描述文件中的被依賴軟件的版本,則軟件管理服務(wù)單元101直接安裝該軟件。
如果通過(guò)某種預(yù)先設(shè)定的方式?jīng)]有獲取到被依賴軟件或者被依賴軟件沒(méi)有安裝成功,則軟件管理服務(wù)單元101發(fā)送提示信息后由用戶選擇是否安裝該軟件,或者管理服務(wù)單元101直接不安裝該軟件。
2、軟件的預(yù)卸載過(guò)程軟件的預(yù)卸載過(guò)程是在軟件卸載的過(guò)程中,由軟件管理服務(wù)單元101根據(jù)本地軟件信息庫(kù)102保存的所有軟件依賴關(guān)系信息描述文件檢查是否存在依賴于該軟件的其他軟件,并卸載依賴于該軟件的其他軟件。
軟件管理服務(wù)單元101為軟件安裝單元100提供了預(yù)卸載接口,軟件安裝單元100在卸載軟件的過(guò)程中,調(diào)用預(yù)卸載接口,由軟件管理服務(wù)單元101卸載依賴于該軟件的其它軟件。
在軟件卸載的過(guò)程中,首先軟件管理服務(wù)單元101判斷是否存在依賴于該軟件的其他軟件,如果不存在,則從軟件安裝單元100獲取軟件卸載程序,直接卸載該軟件。如果存在,則由用戶選擇是否同時(shí)卸載該軟件以及依賴于該軟件的其他軟件。如果用戶選擇不卸載,則不卸載該軟件,結(jié)束卸載過(guò)程。如果用戶選擇卸載,則軟件管理服務(wù)單元101完成卸載該軟件以及卸載依賴于該軟件的其他軟件的過(guò)程,將保存在本地軟件信息庫(kù)102中的該軟件以及依賴于該軟件的其他軟件對(duì)應(yīng)的依賴關(guān)系信息描述文件進(jìn)行刪除。
在將保存在本地軟件信息庫(kù)102中的該軟件以及依賴于該軟件的其它軟件的依賴關(guān)系信息描述文件進(jìn)行刪除之前,軟件管理服務(wù)單元101根據(jù)這些軟件(包括該軟件以及依賴于該軟件的其它軟件)的依賴關(guān)系信息描述文件判斷該軟件所依賴的被動(dòng)安裝軟件是否依然被其他軟件和組件依賴,如果不是,則軟件管理服務(wù)單元101刪除這些被動(dòng)安裝的軟件,并刪除本地軟件信息庫(kù)102中這些被動(dòng)安裝的軟件對(duì)應(yīng)的依賴信息描述文件,如果是,則不刪除這些被動(dòng)安裝的軟件。
3、軟件的預(yù)修改軟件可以在修改/修復(fù)安裝過(guò)程中,增加安裝或者刪除軟件中的某些組件。軟件的預(yù)修改是指在這一過(guò)程中,軟件管理服務(wù)單元101預(yù)安裝該組件所依賴的其他軟件或組件,或預(yù)卸載不再被依賴的被動(dòng)安裝軟件或組件的過(guò)程。
軟件管理服務(wù)單元101為軟件的預(yù)修改提供了預(yù)修改接口,軟件安裝單元100通過(guò)該接口進(jìn)行軟件的預(yù)修改時(shí),必須提供增加或刪除組件對(duì)應(yīng)的依賴關(guān)系信息描述文件。軟件管理服務(wù)單元101會(huì)根據(jù)增加或刪除組件對(duì)應(yīng)的軟件依賴關(guān)系信息描述文件,完成預(yù)安裝或預(yù)卸載過(guò)程。
當(dāng)增加某個(gè)組件時(shí),軟件管理服務(wù)單元101會(huì)檢查該組件所依賴的其他軟件或者組件是否已經(jīng)安裝,如果不存在被依賴軟件或組件或者被依賴軟件已經(jīng)被安裝,則軟件管理服務(wù)單元101安裝該組件,并在本地軟件信息庫(kù)102中存儲(chǔ)該組件的軟件依賴關(guān)系信息描述文件,標(biāo)注為主動(dòng)安裝組件;如果存在某被依賴軟件或組件未被安裝,則軟件管理服務(wù)單元101先安裝被依賴的軟件或組件,并在本地軟件信息庫(kù)102中存儲(chǔ)被依賴軟件或組件的依賴關(guān)系信息描述文件,標(biāo)注為被動(dòng)安裝組件或軟件,然后軟件管理服務(wù)單元101安裝該組件,并在本地軟件信息庫(kù)102中存儲(chǔ)該組件的依賴關(guān)系信息描述文件,標(biāo)注為主動(dòng)安裝組件。
當(dāng)刪除某個(gè)組件時(shí),則軟件管理服務(wù)單元101會(huì)檢查本地軟件信息庫(kù)102中的軟件依賴信息描述文件,判斷是否有依賴于該組件的其他組件或軟件,如果有,則不能刪除該組件;如果沒(méi)有,則軟件管理服務(wù)單元101刪除該組件,并刪除本地軟件信息庫(kù)102中該組件對(duì)應(yīng)的軟件依賴信息描述文件,然后,軟件管理服務(wù)單元101檢查該組件所依賴的被動(dòng)安裝的軟件或組件是否依然被其他軟件和組件依賴,如果不是,則軟件管理服務(wù)單元101刪除這些被動(dòng)安裝的軟件或組件,并刪除本地軟件信息庫(kù)102中這些被動(dòng)安裝的軟件或組件對(duì)應(yīng)的軟件依賴信息描述文件,如果是,則不刪除這些被動(dòng)安裝的軟件或組件。
舉一個(gè)具體實(shí)施例說(shuō)明本發(fā)明。
圖2為本發(fā)明的管理軟件安裝/卸載的方法具體實(shí)施例示意圖。假設(shè)有五個(gè)軟件A、B、C、D和E,其中軟件A由三個(gè)組件A1、A2和A3構(gòu)成,這五個(gè)軟件之間的依賴關(guān)系為軟件A中的組件A1依賴于軟件B,軟件A中的組件A2依賴于軟件C,軟件A中的組件A3依賴于軟件D,軟件E依賴于軟件B。
假設(shè)在用戶端已經(jīng)安裝了軟件E和軟件B,其中,軟件E為用戶端主動(dòng)安裝的軟件,即在本地軟件信息庫(kù)102中標(biāo)注軟件E為主動(dòng)安裝;軟件B是軟件管理服務(wù)單元101在預(yù)安裝過(guò)程中安裝的,即在本地軟件信息庫(kù)102中標(biāo)注B軟件為被動(dòng)安裝。
軟件A的安裝過(guò)程如下所述。
假設(shè)用戶選擇安裝軟件A的組件A1和組件A2,則軟件安裝單元100通過(guò)與軟件管理服務(wù)單元101之間的預(yù)安裝接口,完成以下步驟步驟10、軟件管理服務(wù)單元101根據(jù)軟件A的依賴關(guān)系信息描述文件確定軟件A要安裝部分依賴于軟件B和軟件C。
步驟11、軟件管理服務(wù)單元101檢查用戶端已經(jīng)安裝的軟件,發(fā)現(xiàn)用戶端已經(jīng)安裝了軟件B,則不需要再次安裝軟件B。
步驟12、軟件管理服務(wù)單元101檢查用戶端已經(jīng)安裝的軟件,發(fā)現(xiàn)用戶端沒(méi)有安裝軟件C,則從軟件安裝單元或計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò)中獲取軟件C的安裝程序,安裝軟件C,并將軟件C的依賴關(guān)系信息描述文件存儲(chǔ)到本地軟件信息庫(kù)102中,標(biāo)記為被動(dòng)安裝。
步驟13、軟件管理服務(wù)單元101安裝軟件A的要安裝部分,即軟件A的組件A1和組件A2,并將組件A1和組件A2的依賴關(guān)系信息描述文件存儲(chǔ)到本地軟件信息庫(kù)102中,標(biāo)記為主動(dòng)安裝。
修改軟件A的已安裝部分的過(guò)程如下所述。
假設(shè)要增加軟件A的組件A3,則軟件安裝單元100通過(guò)與軟件管理服務(wù)單元101之間的預(yù)修改接口,完成以下步驟步驟20、軟件管理服務(wù)單元101根據(jù)組件A3的依賴信息描述文件,確定A3依賴于軟件D。
步驟21、軟件管理服務(wù)單元101檢查用戶端已經(jīng)安裝的軟件,發(fā)現(xiàn)用戶端沒(méi)有安裝軟件D,則從軟件安裝單元或計(jì)算機(jī)系統(tǒng)的網(wǎng)絡(luò)中獲取軟件D的安裝程序,安裝軟件D,并將軟件D的依賴關(guān)系信息描述文件存儲(chǔ)到本地軟件信息庫(kù)102中,標(biāo)記為被動(dòng)安裝。
步驟22、軟件管理服務(wù)單元101安裝軟件組件A3,并將組件A3的依賴關(guān)系信息描述文件存儲(chǔ)到本地軟件信息庫(kù)102中,標(biāo)記為主動(dòng)安裝。
假設(shè)要?jiǎng)h除A軟件的組件A2,則軟件安裝單元100通過(guò)與軟件管理服務(wù)單元101之間的預(yù)修改接口,完成以下步驟步驟30、軟件管理服務(wù)單元101檢查本地軟件信息庫(kù)102是否存在依賴于組件A2的其他軟件或組件,發(fā)現(xiàn)沒(méi)有這樣的組件或軟件,則卸載組件A2。
步驟31、軟件管理服務(wù)單元101卸載組件A2后,清除本地軟件信息庫(kù)102中所保存組件A2的軟件依賴關(guān)系信息描述文件的同時(shí),獲取依賴關(guān)系信息描述文件中的組件A2所依賴的軟件和組件列表。
步驟32、軟件管理服務(wù)單元101檢查組件A2所依賴的軟件和組件列表,確定組件A2所依賴的軟件C,根據(jù)本地軟件信息庫(kù)102中所存儲(chǔ)的軟件依賴關(guān)系信息描述文件確定軟件C為被動(dòng)安裝且沒(méi)有依賴于軟件C的其他軟件,軟件管理服務(wù)單元101卸載軟件C,并清除本地軟件信息庫(kù)102中的軟件C的依賴關(guān)系信息描述文件。
卸載軟件A的過(guò)程如下所述。
軟件安裝單元100通過(guò)與軟件管理服務(wù)單元101之間的預(yù)卸載接口,完成以下步驟
步驟40、軟件管理服務(wù)單元101根據(jù)本地軟件信息庫(kù)102中所存儲(chǔ)的軟件依賴關(guān)系信息描述文件,確定是否有依賴于軟件A的其他軟件,發(fā)現(xiàn)沒(méi)有這樣的軟件,則卸載軟件A,清除本地軟件信息庫(kù)102中所保存軟件A的依賴關(guān)系信息描述文件的同時(shí),獲取依賴關(guān)系信息描述文件中的軟件A所依賴的軟件和組件列表。
步驟41、軟件管理服務(wù)單元101檢查軟件A所依賴的軟件和組件列表,確定軟件A所依賴的軟件B、C、D,根據(jù)檢查本地軟件信息庫(kù)102中的依賴關(guān)系信息描述文件確定軟件C和軟件D為被動(dòng)安裝且沒(méi)有依賴于軟件C和軟件D的其他軟件,軟件管理服務(wù)單元101卸載軟件C和軟件D,并清除本地軟件信息庫(kù)102中的軟件C和軟件D對(duì)應(yīng)的依賴關(guān)系信息描述文件;根據(jù)檢查本地軟件信息庫(kù)102中的依賴關(guān)系信息描述文件確定軟件B被用戶端已安裝軟件E所依賴,所以不能卸載軟件B。
假設(shè)卸載軟件A后,還要卸載軟件B,則軟件管理服務(wù)單元101完成以下步驟步驟50、軟件管理服務(wù)單元101檢查本地軟件信息庫(kù)102,則確定軟件E依賴于軟件B,則提示用戶是否同時(shí)卸載軟件B和軟件E。
步驟51、如果用戶選擇卸載,則軟件管理服務(wù)單元101將卸載軟件E和軟件B,其過(guò)程如軟件A的卸載過(guò)程。
步驟52、如果用戶選擇不卸載,則不能卸載軟件B,退出卸載過(guò)程。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種管理軟件安裝/卸載的方法,其特征在于,設(shè)置軟件依賴關(guān)系信息描述文件,該方法還包括當(dāng)安裝軟件時(shí),用戶端根據(jù)設(shè)置的軟件依賴關(guān)系信息描述文件判斷是否存在要安裝軟件所依賴的軟件,如果存在,用戶端先安裝被依賴的軟件,再安裝要安裝軟件;否則,用戶端安裝要安裝軟件;當(dāng)卸載軟件時(shí),用戶端根據(jù)設(shè)置的軟件依賴關(guān)系信息描述文件判斷是否存在依賴于要卸載軟件的軟件,如果存在,用戶端不卸載軟件或者用戶端將要卸載的軟件和依賴于所卸載軟件的軟件都進(jìn)行卸載;否則,用戶端卸載要卸載的軟件。
2.如權(quán)利要求1所述的方法,其特征在于,所述的軟件依賴關(guān)系信息描述文件包括軟件的正常運(yùn)行所需要依賴的軟件及版本、軟件的正常運(yùn)行所需要依賴的軟件組件及版本。
3.如權(quán)利要求1所述的方法,其特征在于,所述的軟件依賴關(guān)系信息描述文件為用戶端已安裝軟件的依賴關(guān)系信息描述文件時(shí),該文件存儲(chǔ)在用戶端設(shè)置的本地軟件信息庫(kù)中。
4.如權(quán)利要求1所述的方法,其特征在于,所述的軟件依賴關(guān)系信息描述文件為用戶端未安裝軟件的依賴關(guān)系信息描述文件時(shí),該文件存儲(chǔ)在提供軟件安裝程序的軟件安裝單元中。
5.如權(quán)利要求1所述的方法,其特征在于,在所述用戶端先安裝被依賴軟件后,該方法進(jìn)一步包括用戶端將被依賴軟件的依賴關(guān)系信息描述文件保存在設(shè)置的本地軟件信息庫(kù)中,并且標(biāo)記為被動(dòng)安裝;在所述安裝要安裝軟件后,該方法進(jìn)一步包括用戶端將軟件的依賴關(guān)系信息描述文件保存在設(shè)置的本地軟件信息庫(kù)中,并且標(biāo)記為主動(dòng)安裝。
6.如權(quán)利要求1所述的方法,其特征在于,所述用戶端先安裝被依賴軟件的過(guò)程為用戶端設(shè)置提供預(yù)安裝接口的軟件管理服務(wù)單元,用于存儲(chǔ)軟件安裝程序的軟件安裝單元調(diào)用軟件管理服務(wù)單元的預(yù)安裝接口,由軟件管理服務(wù)單元獲取被依賴軟件的安裝程序并安裝被依賴軟件;或者由用戶端要安裝軟件的安裝程序獲取被依賴軟件的安裝程序,安裝被依賴軟件。
7.如權(quán)利要求1所述的方法,其特征在于,在所述將要卸載的軟件和依賴于所卸載軟件的軟件都進(jìn)行卸載后,該方法進(jìn)一步包括用戶端將設(shè)置在本地軟件信息庫(kù)中的要卸載軟件以及依賴于所卸載軟件的軟件對(duì)應(yīng)的依賴關(guān)系信息描述文件進(jìn)行刪除。
8.如權(quán)利要求7所述的方法,其特征在于,該方法進(jìn)一步包括用戶端判斷要卸載軟件和依賴于所卸載軟件的軟件所依賴的標(biāo)記為被動(dòng)安裝的軟件是否還被用戶端已安裝的其它軟件所依賴,如果不存在依賴于該被動(dòng)安裝軟件的其它軟件,用戶端卸載該標(biāo)記為被動(dòng)安裝的軟件,并將設(shè)置在本地軟件信息庫(kù)中的該被動(dòng)安裝軟件的依賴關(guān)系信息描述文件進(jìn)行刪除;否則,用戶端不做處理,結(jié)束。
9.如權(quán)利要求1所述的方法,其特征在于,所述的軟件為具有一個(gè)或一個(gè)以上組件的軟件。
10.如權(quán)利要求9所述的方法,其特征在于,當(dāng)軟件進(jìn)行修改時(shí),該方法進(jìn)一步包括軟件增加組件,用戶端根據(jù)設(shè)置組件的軟件依賴關(guān)系信息描述文件判斷用戶端是否已安裝要安裝組件依賴的軟件以及組件,如果未安裝,用戶端先安裝被依賴的軟件以及組件,再安裝要安裝組件;否則,用戶端安裝要安裝組件;當(dāng)卸載組件時(shí),用戶端根據(jù)設(shè)置組件的軟件依賴關(guān)系信息描述文件判斷用戶端是否存在依賴于要卸載組件的軟件以及組件,如果存在,用戶端不卸載要卸載組件或者用戶端將要卸載的組件和依賴于要卸載組件的軟件以及組件都進(jìn)行卸載;否則,用戶端卸載要卸載的組件。
全文摘要
本發(fā)明公開(kāi)了一種管理軟件安裝/卸載的方法,在用戶端預(yù)先設(shè)置用于存儲(chǔ)已安裝軟件依賴關(guān)系信息描述文件的本地軟件信息庫(kù),當(dāng)要卸載軟件或軟件中的組件時(shí),用戶端可以根據(jù)本地軟件信息庫(kù)存儲(chǔ)的已安裝軟件依賴關(guān)系信息描述文件判斷是否存在依賴于要卸載軟件的軟件,如果有,則不卸載軟件;否則,卸載軟件。本發(fā)明還在提供安裝程序的軟件安裝單元設(shè)置了軟件依賴關(guān)系信息描述文件,當(dāng)安裝軟件或軟件的組件時(shí),用戶端可以根據(jù)從安裝單元中獲取的軟件依賴關(guān)系信息描述文件確定所安裝軟件的正常運(yùn)行是否依賴于其他軟件,如果是,用戶端可以先安裝被依賴的其他軟件后,再安裝要安裝的軟件或組件。
文檔編號(hào)G06F9/445GK1834913SQ200510055499
公開(kāi)日2006年9月20日 申請(qǐng)日期2005年3月18日 優(yōu)先權(quán)日2005年3月18日
發(fā)明者周曉煜, 康小劍, 陳少為, 羅予晉 申請(qǐng)人:聯(lián)想(北京)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
托克逊县| 旬邑县| 黔西| 阿巴嘎旗| 墨江| 敖汉旗| 潮安县| 台南市| 平山县| 南投市| 深圳市| 衡阳县| 鄂托克前旗| 肇东市| 井陉县| 莒南县| 遂昌县| 炉霍县| 延寿县| 白玉县| 香港 | 曲沃县| 奉化市| 景东| 温宿县| 甘泉县| 伊金霍洛旗| 项城市| 华容县| 修文县| 神农架林区| 和田县| 邻水| 临颍县| 谢通门县| 永和县| 宁化县| 德钦县| 固安县| 华容县| 蕲春县|