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

安裝方法和裝置的制作方法

文檔序號:6361634閱讀:206來源:國知局
專利名稱:安裝方法和裝置的制作方法
技術(shù)領域
本發(fā)明涉及一種安裝方法和裝置,特別涉及一種用于在裝置中執(zhí)行程序的安裝方法和裝置。
背景技術(shù)
傳統(tǒng)地,應用程序可以在裝運之后作為插件被加入到圖像形成裝置。例如,以C語言(以下稱為“C應用”)開發(fā)的應用,以及以Java(注冊商標)(以下稱為“J應用”)開發(fā)的應用,可以被安裝到專利文檔I所述的圖像形成裝置中。然而,用于C應用的平臺與用于J應用的平臺是不同的。特別地,用于J應用的平臺是通過在C應用的平臺上提供具有用于Java(注冊商標)的API (應用程序接口)的平臺而形成的(專利文檔I中的JSDK平臺)。JSDK平臺的模型依賴性明顯低于用于C應用的平臺的模型依賴性。也就是說,JSDK平臺的API可以應用于各種模型類型。從應用開發(fā)者的角度,開發(fā)應用作為J應用是更有利的。這是因為在J應用的情況下,為各自的模型類型改變源代碼的必要性很低,因此可以降低開發(fā)成本。然而,JSDK平臺提供的API的功能范圍比C應用的平臺要窄。也就是說,真正J應用可以實現(xiàn)的功能數(shù)量小于真正C應用可以實現(xiàn)的功能數(shù)量。真正J應用意味著僅僅是由JSDK平臺上操作的程序模塊配置的J應用。因此,如果功能不能僅僅通過J應用來實現(xiàn),那么功能需要被安裝為C應用。這樣,包括J應用模塊和C應用模塊的程序包作為一個應用被出售。包括J應用和C應用的應用對于用戶而言明顯是一個單獨的應用,但是這種應用被圖像形成裝置認為是兩個應用,它不能識別具有這種配置的應用(即,包括J應用和C應用的配置)。因此,用戶需要執(zhí)行安裝操作兩次(用戶需要給出執(zhí)行安裝操作兩次的指令)。在這種圖像形成裝置中,考慮到具有以上配置的應用,通過校正應用的安裝機制,在技術(shù)上可以通過單獨一個安裝指令來執(zhí)行安裝J應用的處理和安裝C應用的處理兩者。然而,不能識別包括J應用和C應用的應用的圖像形成裝置已經(jīng)可以在商業(yè)上大量應用,并且可以用于終端用戶。這將需要大量的成本和工作,來應用上述校正到這些圖像形成裝置。專利文檔1:日本公開專利申請N0.2007-4967
發(fā)明內(nèi)容
考慮到上述問題做出本發(fā)明,本發(fā)明的至少一個實施例的目的在于提供一種安裝方法和裝置,可以簡化安裝程序的操作。本發(fā)明的一個方面是提供一種存儲有可執(zhí)行安裝程序的非瞬時性計算機可讀存儲介質(zhì),其中該安裝程序指示裝置的處理器執(zhí)行:當?shù)谝怀绦虮患せ顣r,從所述第一程序接收調(diào)用;以及響應所述調(diào)用,安裝所述第一程序使用的第二程序。
本發(fā)明的一個方面是提供一種由裝置執(zhí)行的安裝方法,所述安裝方法包括:當?shù)谝怀绦虮患せ顣r,從所述第一程序接收調(diào)用;以及響應所述調(diào)用,安裝所述第一程序使用的
第二程序。本發(fā)明的一個方面是提供一種裝置,包括:接收單元,配置為當?shù)谝怀绦虮患せ顣r,從所述第一程序接收調(diào)用;以及第一安裝單元,配置為響應所述調(diào)用,安裝所述第一程序使用的第二程序。


圖1示出了根據(jù)本發(fā)明的實施例的圖像形成裝置的硬件配置的例子;圖2示出了根據(jù)本發(fā)明的實施例的圖像形成裝置的軟件配置;圖3示出了 JSDK應用和CSDK應用的管理機制的例子;圖4示出了根據(jù)第一實施例的作為安裝目標設置的SDK應用的配置的例子;圖5是描述了根據(jù)第一實施例的SDK應用的安裝處理和卸載處理的處理流程的例子的時序圖;圖6示出了根據(jù)第二實施例的作為安裝目標設置的SDK應用的配置的例子;圖7示出了與包括代理庫的SDK應用相關(guān)的安裝機制的例子;圖8是描述了根據(jù)第二實施例的SDK應用的安裝處理和卸載處理的處理流程的例子的時序圖;圖9用于描述安裝由代理庫執(zhí)行的CSDK應用的處理的處理流程的例子;圖10表示記錄在代理屬性文件中的信息的例子;以及圖11用于描述卸載由代理庫執(zhí)行的CSDK應用的處理的處理流程的例子。
具體實施例方式以下參考附圖描述本發(fā)明的實施例。圖1示出了根據(jù)本發(fā)明的實施例的圖像形成裝置10的硬件配置的例子。如圖1所示,圖像形成裝置10包括硬件元件,例如控制器11、掃描儀12、打印機13、調(diào)制解調(diào)器14、操作面板15、網(wǎng)絡接口 16和SD卡槽17??刂破?1 包括 CPU IlURAM 112、ROM 113、HDD 114 和 NVRAM 115。ROM 113 記錄各種程序和程序使用的數(shù)據(jù)。RAM 112被用作加載程序的存儲區(qū)域,以及所加載程序的工作區(qū)域。CPU 111處理在RAM 112中加載的程序,來實現(xiàn)各種功能。HDD 114記錄程序和程序使用的各種數(shù)據(jù)項。NVRAM 115記錄各種設置信息項。掃描儀12是用于掃描原件而獲得圖像數(shù)據(jù)的硬件元件(圖像掃描單元)。打印機13是用于在紙張上打印數(shù)據(jù)的硬件元件(打印單元)。調(diào)制解調(diào)器14是用于將圖像形成裝置10連接到電話線,通過傳真通信傳送和接收圖像數(shù)據(jù)的硬件元件。操作面板15是包括輸入單元和顯示單元的硬件元件,輸入單元例如是用于從用戶接收輸入的按鈕,顯示單元例如是液晶面板。網(wǎng)絡接口 16是用于將圖像形成裝置10連接到網(wǎng)絡的硬件元件,網(wǎng)絡(有線的或無線的)例如是LAN。SD卡槽17被用于讀取記錄在SD卡80中的程序。在圖像形成裝置10中,除了記錄在ROM 113中的程序,記錄在SD卡80中的程序也可以在RAM112中被加載和執(zhí)行。圖2示出了根據(jù)本發(fā)明的實施例的圖像形成裝置10的軟件配置。如圖2所示,圖像形成裝置10包括標準應用151、SAS (SDK應用業(yè)務)152、CSDK應用153、JVM 154、JSDK平臺155、JSDK應用156、VAS (虛擬應用業(yè)務)157、控制業(yè)務158和OS 159。標準應用151是在圖像形成裝置10中被安裝為標準應用(圖像形成裝置10所裝運的)的一組應用。圖2中所示的例子是掃描儀應用1511、打印應用1512、復印應用1513和傳真應用1514。掃描儀應用1511執(zhí)行掃描任務。打印應用1512執(zhí)行打印任務。復印應用1513執(zhí)行復印任務。傳真應用1514執(zhí)行傳真?zhèn)魉腿蝿栈騻髡娼邮杖蝿?。控制業(yè)務158是一組軟件模塊,用于提供控制各種硬件資源的功能到上層應用,并執(zhí)行圖像形成裝置10的基本功能。VAS 157是用于封裝控制業(yè)務158的接口,并用于吸收隨著控制業(yè)務158升級而產(chǎn)生的接口中的差異。這確保了 VAS 157上操作的程序(特別是CSDK應用153)與控制業(yè)務158的各種版本兼容。CSDK應用153和JSDK應用156是SDK應用的例子。SDK應用被開發(fā)作為圖像形成裝置10的插件,用于擴展圖像形成裝置10的功能的目的。圖像形成裝置10具有專用于SDK應用的公共API (應用程序接口)。一種API是VAS 157提供的C語言。另一種API是下述JSDK平臺155提供的Java(注冊商標)語言。通過利用C語言的API所創(chuàng)建的SDK應用被稱為CSDK應用153。通過利用Java (注冊商標)語言的API所創(chuàng)建的SDK應用被稱為JSDK應用156。在圖2中,CSDK應用153通過一個塊(矩形)來表示,但是在單獨一個圖像形成裝置10中可以安裝有多個CSDK應用153。JVM 154是通常所說的Java (注冊商標)虛擬機,通過解釋Java (注冊商標)字節(jié)碼所定義的指令而執(zhí)行。在當前實施例中,JVM 154被安裝作為CSDK應用之一。SAS 152管理CSDK應用153的生命周期。例如,SAS 152控制在CSDK應用153上執(zhí)行的安裝處理、激活處理、中斷處理和卸載處理。JSDK平臺155提供用于JSDK應用156的執(zhí)行環(huán)境。也就是說,JSDK平臺155提供Java (注冊商標)語言的API到JSDK應用156。JSDK平臺155包括JSDK管理單元1551和回調(diào)(callback)控制單元1552。JSDK管理單元1551管理JSDK應用156的生命周期。例如,JSDK管理單元1551控制JSDK應用156上執(zhí)行的安裝處理、激活處理、中斷處理和卸載處理。JSDK管理單元1551可以被安裝作為JSDK應用156之一。回調(diào)控制單元1552控制回調(diào)處理?;卣{(diào)對應于通常所說的編程中的回調(diào)。也就是說,回調(diào)是一種機制,通過提前注冊事件類型和報告目標(回調(diào)功能),響應于生成的事件,生成回調(diào)到相應的報告目標。OS 159是通常所說的操作系統(tǒng)。在圖像形成裝置10中的各個軟件項在OS 159中作為處理或線程而操作。圖3示出了 JSDK應用156和CSDK應用153的管理機制的例子。如圖3所示,通過SAS 152管理CSDK應用153的生命周期。各個CSDK應用153作為單獨的處理被激活。JVM 154是CSDK應用153之一。因此,JVM 154也可以作為一個處理被SAS 152激活。同時,通過JSDK管理單元1551來管理JSDK應用156的生命周期。各個JSDK應用156作為JVM 154的處理上的單獨線程被激活。如上所述,CSDK應用153和JSDK應用156具有不同的管理機制,因為這些應用利用不同的語言被開發(fā)。例如,如果SAS 152試圖直接控制JSDK應用156,那么SAS 152需要從C語言的源代碼調(diào)用Java (注冊商標)語言的接口。這樣,高級編程技術(shù)是必要的,并且處理內(nèi)容是繁瑣和復雜的。此外,CSDK應用153作為處理被執(zhí)行,而JSDK應用156作為線程被執(zhí)行。同樣考慮到執(zhí)行形式的這個差異,簡化管理機制是有利的,以提供單獨的應用管理機制用于CSDK應用153和JSDK應用156。然而,CSDK應用153和JSDK應用156的用戶接口被組合。這種組合的用戶接口被用戶使用來指示安裝、卸載、激活和中斷應用的處理。特別的,用于提供用戶接口的應用管理屏幕圖像510以集成方式顯示在操作面板15上。當CSDK應用153在應用管理屏幕圖像510中被設置為操作目標時,SAS 152響應于操作指令(例如,安裝處理、卸載處理、激活處理和中斷處理)執(zhí)行處理。同時,當JSDK應用156在應用管理屏幕圖像510中被設置為操作目標時,SAS 152向JSDK管理單元1551報告操作指令。響應于來自SAS 152的報告,JSDK管理單元1551響應于操作指令(例如,安裝處理、卸載處理、激活處理和中斷處理)執(zhí)行處理。SAS 152和JSDK管理單元1551之間的交互可以根據(jù)協(xié)議執(zhí)行,該協(xié)議便于使用,與開發(fā)語言無關(guān),例如HTTP (超文本傳輸協(xié)議)和SOAP (簡單對象訪問協(xié)議)。因此,不需要調(diào)用從C語言的源代碼調(diào)用Java (注冊商標)語言的接口,因此不需要復雜的處理內(nèi)容。根據(jù)第一實施例,給出了 SDK應用是安裝目標的配置舉例的描述。在第一實施例中,SDK應用被設置為安裝目標,其中CSDK應用153和JSDK應用156被簡單混合。“簡單”的意思是,其中混合了 CSDK應用153和JSDK應用156的SDK應用并不是為了將SDK應用安裝為單獨的SDK應用的目的而創(chuàng)建的。圖4示出了根據(jù)第一實施例將SDK應用設置為安裝目標的配置的例子。如圖4所示,SDK應用Al包括JSDK文件156Fa和CSDK文件153Fa。JSDK文件156Fa是單獨一個存檔文件(例如,JAR (Java (注冊商標)存檔)文件),包括JSDK應用156a和JSDK屬性文件156Pa。JSDK應用156a是SDK應用Al中JSDK應用156的實體。JSDK屬性文件156Pa包括JSDK文件156Fa的配置信息,以及與JSDK應用156a相關(guān)的屬性信息(例如,JSDK應用156a的標識符(應用標識符))。CSDK文件153Fa是單獨一個存檔文件,包括CSDK應用153a和CSDK屬性文件153Pa。CSDK應用153a是SDK應用Al中CSDK應用153的實體。CSDK屬性文件153Pa包括CSDK文件153Fa的配置信息,以及與CSDK應用153a相關(guān)的屬性信息(例如CSDK應用153a的標識符(應用標識符))。JSDK應用156a是通過使用CSDK應用153a執(zhí)行預定功能的JSDK應用156。也就是說,在SDK應用Al中,CSDK應用153a作為一個單獨的程序模塊出現(xiàn)。JSDK應用156a可以通過使用例如JNI (Java (注冊商標)本地接口)來調(diào)用CSDK應用153a的方法。在圖4中,SDK應用Al被記錄在SD卡80a中。這樣,JSDK文件156Fa和CSDK文件153Fa作為單獨文件被記錄在SD卡80a中。也就是說,在圖4中,表示SDK應用Al的虛線形成的矩形對應于單獨SDK應用Al的邏輯上和概念上的范圍。以下描述在圖像形成裝置10中,用于安裝和卸載圖4的SDK應用Al的處理流程。圖5是根據(jù)第一實施例的用于描述SDK應用的安裝和卸載處理的處理流程的例子的時序圖。在開始圖5的處理之前,SD卡80a被插入到SD卡槽17中。通過SAS 152在操作面板15上顯示主屏幕圖像,這是應用管理屏幕圖像510之一。在主屏幕圖像中,當用戶選擇執(zhí)行安裝時,SAS 152使操作面板15顯示安裝屏幕圖像。安裝屏幕圖像包括SDK應用的選擇列表,其中JSDK應用156a和CSDK應用153a以單獨的行表示。選擇列表是根據(jù)SD卡80a中的JSDK文件156Fa所包括的JSDK屬性文件156Pa并且根據(jù)SD卡80a中的CSDK文件153Fa中所包括的CSDK屬性文件153Pa而創(chuàng)建
的。安裝屏幕圖像是應用管理屏幕圖像510之一。在步驟S101,用戶在安裝屏幕圖像中選擇包括JSDK應用156a的一行,并在安裝屏幕圖像中輸入指令來執(zhí)行安裝。執(zhí)行安裝的指令通過SAS 152被報告給JSDK管理單元1551。在圖5中,沒有示出通過SAS 152的路徑。接著,JSDK管理單元1551執(zhí)行JSDK應用156a的安裝處理(步驟S102)。特別的,JSDK文件156Fa從SD卡80a讀取并擴展。此外,利用預定存儲介質(zhì),包括JSDK應用156a的應用標識符的條目被加入到JSDK平臺155所管理的JSDK應用156的安裝信息中(安裝的JSDK應用156的列表信息)。此外,JSDK應用156a和JSDK屬性文件156Pa被復制到預定存儲區(qū)域(以下稱為“ JSDK安裝區(qū)域”)。當安裝處理結(jié)束時,JSDK管理單元1551發(fā)送響應到SAS 152,表示安裝處理已經(jīng)結(jié)束。根據(jù)該響應,安裝處理已經(jīng)結(jié)束的事實通過安裝屏幕圖像由SAS 152報告給用戶(步驟S103)。接著,當用戶選擇在主屏幕圖像中執(zhí)行激活時,SAS 152使操作面板15顯示激活屏幕圖像。激活屏幕圖像包括在CSDK應用153的安裝信息(安裝的CSDK應用153的列表信息)或者JSDK應用156的安裝信息中包括的CSDK應用153和JSDK應用156的列表,它們是利用NVRAM 115管理的。通過參考JSDK管理單元1551,SAS 152獲取JSDK應用156的安裝信息。激活屏幕圖像是應用管理屏幕圖像510之一。用戶選擇包括激活屏幕圖像所含的JSDK應用156a的一行,并在激活屏幕圖像中輸入激活指令(步驟S104)。激活指令通過SAS 152被報告給JSDK管理單元1551。接著,JSDK管理單元1551輸入請求來激活JSDK應用156a (步驟S105)。響應于該激活請求,JSDK應用156a被激活作為JVM 154上的線程(步驟S106)。接著,響應于來自用戶的指令,SAS 152使操作面板15再次顯示安裝屏幕圖像。用戶在安裝屏幕圖像中選擇包括CSDK應用153a的一行,并在安裝屏幕圖像中輸入執(zhí)行安裝的指令(步驟S111)。接著,SAS 152執(zhí)行安裝CSDK應用153a的處理(步驟SI 12)。特別的,CSDK文件153Fa從SD卡80a讀取并擴展。此外,包括CSDK應用153a的應用標識符的條目被加入到利用NVRAM 115所管理的CSDK應用153的安裝信息中。此外,CSDK應用153a和CSDK屬性文件153Pa被復制到預定存儲區(qū)域(以下稱為“CSDK安裝區(qū)域”)。當安裝處理結(jié)束時,SAS 152通過安裝屏幕圖像發(fā)送報告給用戶,該報告表示安裝處理已經(jīng)結(jié)束(步驟SI 13)。當SDK應用Al變得不必要時,用戶在主屏幕圖像中選擇執(zhí)行卸載。SAS152使操作面板15顯示卸載屏幕圖像。卸載屏幕圖像包括在CSDK應用153的安裝信息或者JSDK應用156的安裝信息中包括的CSDK應用153和JSDK應用156的列表。卸載屏幕圖像是應用管理屏幕圖像510之一。用戶選擇卸載屏幕圖像所含的JSDK應用156a的一行,并通過卸載屏幕圖像輸入卸載指令(步驟S121)。卸載指令通過SAS 152被報告給JSDK管理單元1551。響應于該卸載指令,JSDK管理單元1551輸入請求來中斷JSDK應用156a(步驟S122)。響應于該中斷請求,與JSDK應用156a相關(guān)的線程結(jié)束(步驟S123)。接著,JSDK管理單元1551執(zhí)行處理,來卸載JSDK應用156a(步驟S124)。例如,JSDK應用156a的條目從JSDK平臺155所管理的JSDK應用156的安裝信息中被刪除。此外,已經(jīng)復制到JSDK安裝區(qū)域的JSDK應用156a和JSDK屬性文件156Pa被刪除。接著,用戶在卸載屏幕圖像中選擇包括CSDK應用153a的一行,并在卸載屏幕圖像中輸入指令來執(zhí)行卸載(步驟S131)。響應于該卸載指令,SAS 152執(zhí)行卸載CSDK應用153a的處理(步驟S132)。例如,與CSDK應用153a相關(guān)的條目從利用NVRAM 115管理的CSDK應用153的安裝信息中被刪除。此外,已經(jīng)復制到CSDK安裝區(qū)域的CSDK應用153a和CSDK屬性文件153Pa被刪除。如上所述,在第一實施例中,盡管只有一個單獨的SDK應用Al,安裝操作和卸載操作分別需要兩個步驟(S卩,步驟SlOl和S111,以及步驟S121和S131)。為了解決這種冗余,在第二實施例中,SDK應用被配置為如圖6所示。圖6示出了根據(jù)第二實施例將SDK應用的配置設置為安裝目標的配置的例子。如圖6所示,SD卡80b具有一個JSDK文件156Fb,被記錄為SDK應用BI。JSDK文件156Fb是一個存檔文件(例如JAR文件),包括JSDK應用156b、JSDK屬性文件156Pb、CSDK文件153Fb、代理庫211、以及代理屬性文件211P。JSDK應用156b是在SDK應用BI中JSDK應用156的實體。JSDK屬性文件156Pb包括JSDK文件156Fb的配置信息,以及與JSDK應用156b相關(guān)的屬性信息(例如JSDK應用156b的應用標識符)。CSDK文件153Fb是一個存檔文件,具有與圖4所示的CSDK文件153Fa相似的配置。也就是說,CSDK文件153Fb包括CSDK應用153b (未示出)和CSDK屬性文件153Pb (未示出),CSDK應用153b是在SDK應用BI中CSDK應用153的實體,CSDK屬性文件153Pb包括CSDK文件153Fb的配置信息和與CSDK應用153b相關(guān)的屬性信息(例如,CSDK應用153b的應用標識符)。如上所述,在第二實施例中,CSDK應用153b被存儲在JSDK應用156b的JAR文件中。在第二實施例中,JSDK應用156b和CSDK應用153b之間的依賴性關(guān)系,與第一實施例中的JSDK應用156a和CSDK應用153a之間的依賴性關(guān)系相同。也就是說,JSDK應用156b使用CSDK應用153b作為單獨一個程序模塊。代理庫211是一個程序模塊(庫),在CSDK應用153b上執(zhí)行安裝處理和卸載處理。如圖6所示,代理庫211包括Java(注冊商標)層211j和本地層211c。Java(注冊商標)層211 j是用于為JSDK應用156b提供接口(方法等),并以Java(注冊商標)語言執(zhí)行。在本地層211c中,安裝處理和卸載處理的算法以C語言執(zhí)行。也就是說,在代理庫211中,基本功能以C語言執(zhí)行,以C語言執(zhí)行的部分被Java(注冊商標)包裝(wrap)。代理庫211的基本功能以C語言執(zhí)行的原因如下。S卩,代理庫211需要訪問NVRAM 115,但是很難實現(xiàn)以Java(注冊商標)語言訪問NVRAM 115的功能。此外,代理庫211包括Java(注冊商標)層211j,用于簡化利用(調(diào)用)JSDK應用156b所執(zhí)行的代理庫211的操作。例如,代理庫211作為單獨一個JAR文件被包括在JSDK用于156b中。代理屬性文件21IP包括安裝代理庫211所執(zhí)行的CSDK應用153b的操作所需的信息。相對于包括代理庫211的SDK應用,給出圖像形成裝置10的安裝機制的描述。圖7示出了與包括代理庫211的SDK應用相關(guān)的安裝機制的例子。如圖7所示,采用與第一實施例相同的方式,執(zhí)行安裝JSDK應用156b的操作。也就是說,在應用管理屏幕圖像510中輸入的指令從SAS 152報告給JSDK管理單元1551。響應于該報告的指令,JSDK管理單元1551安裝或卸載JSDK應用156b。安裝的JSDK應用156b在激活時調(diào)用代理庫211。響應于該調(diào)用,代理庫211代表SAS 152執(zhí)行安裝CSDK應用153b的處理。當JSDK應用156b被卸載時,這個效果通過回調(diào)控制單元1552被回調(diào)(報告)給代理庫211。代理庫211根據(jù)該回調(diào)來檢測已經(jīng)被卸載的JSDK應用156b。響應于檢測到的卸載,代理庫211代表SAS 152執(zhí)行卸載CSDK應用153b的處理。如上所述,在包括代理庫211的SDK應用BI中,代理庫211代表SAS 152在CSDK應用153b上執(zhí)行安裝處理和卸載處理。給出對于在圖像形成裝置10中處理圖6所示的SDK應用BI的安裝和卸載的處理流程的描述。圖8是描述了根據(jù)第二實施例的SDK應用的安裝處理和卸載處理的處理流程的例子的時序圖。在開始圖8的處理之前,圖6的SD卡80b被插入到SD卡槽17中。通過SAS152在操作面板15上顯示主屏幕圖像,這是應用管理屏幕圖像510之一。在主屏幕圖像中,當用戶選擇執(zhí)行安裝時,SAS 152使操作面板15顯示安裝屏幕圖像,該安裝屏幕圖像包括JSDK應用156b的行作為選擇候選。安裝屏幕圖像是基于SD卡80b中的JSDK文件156Fb所包括的JSDK屬性文件156Pb而創(chuàng)建的。在步驟S201,用戶在安裝屏幕圖像中選擇包括JSDK應用156b的一行,并在安裝屏幕圖像中輸入指令來執(zhí)行安裝。執(zhí)行安裝的指令通過SAS 152被報告給JSDK管理單元1551。在圖8中,沒有示出通過SAS 152的路徑。接著,JSDK管理單元1551執(zhí)行JSDK應用156b的安裝處理(步驟S202)。特別的,JSDK文件156Fb從SD卡80b讀取并擴展。此外,利用預定存儲介質(zhì),包括JSDK應用156b的應用標識符的條目被加入到JSDK平臺155所管理的JSDK應用156的安裝信息中。此夕卜,JSDK應用156b、JSDK屬性文件156Pb、CSDK文件153Fb、代理庫211、以及代理屬性文件21IP被復制到JSDK安裝區(qū)域。CSDK文件153Fb、代理庫211、以及代理屬性文件21IP通過JSDK管理單元1551被識別為JSDK應用156b的資源文件。因此,JSDK管理單元1551在CSDK文件153Fb、代理庫211、或者代理屬性文件211P上不執(zhí)行任何特別處理。然而,通過將代理庫211保存為JSDK應用156b的資源文件,可以完成代理庫211的安裝操作。也就是說,安裝代理庫211的操作是結(jié)合安裝JSDK應用156b的操作而執(zhí)行的(即,代理庫211是與JSDK應用156b —起安裝的)。當安裝處理結(jié)束時,JSDK管理單元1551發(fā)送響應到SAS 152,表示安裝處理已經(jīng)結(jié)束。根據(jù)該響應,安裝處理已經(jīng)結(jié)束的事實通過安裝屏幕圖像由SAS 152報告給用戶(步驟 S203)。接著,當用戶選擇在主屏幕圖像中執(zhí)行激活時,SAS 152使操作面板15顯示激活屏幕圖像。激活屏幕圖像包括在CSDK應用153的安裝信息或者JSDK應用156的安裝信息中包括的CSDK應用153和JSDK應用156的列表。用戶選擇包括激活屏幕圖像所含的JSDK應用156a的一行,并在激活屏幕圖像中輸入激活指令(步驟S204)。激活指令通過SAS 152被報告給JSDK管理單元1551。接著,JSDK管理單元1551輸入請求來激活JSDK應用156b (步驟S205)。響應于該激活請求,JSDK應用156b被激活作為JVM 154上的線程(步驟S206)。JSDK應用156b在RAM 112中加載代理庫211,并在加載的代理庫211的Java (注冊商標)層211 j中調(diào)用預定方法(或功能)(步驟S207)。也就是說,代理庫211接收來自JSDK應用156a的調(diào)用。響應于在RAM 112中加載的代理庫211,代理屬性文件21IP也被加載到RAM 112中。響應于該調(diào)用,在JSDK平臺155的回調(diào)控制單元1552中,代理庫211注冊用于發(fā)送報告的回調(diào)信息,該報告表示JSDK應用156b已經(jīng)被卸載到代理庫211 (步驟S208)。也就是說,“JSDK應用156b卸載”被指定為一個事件,并且請求注冊回調(diào)信息,其中代理庫211的預定方法被指定為報告目的地(回調(diào)功能)?;卣{(diào)控制單元1552通過利用例如RAM 112來存儲回調(diào)信息,并發(fā)送響應到代理庫211,用于報告該回調(diào)信息已經(jīng)被注冊(步驟S209)。接著,代理庫211的本地層211c基于CSDK文件153Fb執(zhí)行安裝CSDK應用153b的處理(步驟S210)。以下描述安裝處理的細節(jié)。在安裝處理結(jié)束之后,代理庫211的Java (注冊商標)層211j向作為調(diào)用源的JSDK應用156b發(fā)送響應,該響應表示安裝處理的結(jié)果(步驟S211)。接著,JSDK應用156b返回控制處理的功能到JSDK管理單元1551(步驟S212)。JSDK管理單元1551向SAS 152報告JSDK應用156b已經(jīng)被激活。響應于該報告,SAS 152在激活屏幕圖像上顯示消息,即JSDK應用156b已經(jīng)被激活(步驟S213)。如上所述,在第二實施例中,響應于JSDK應用156b被激活,代理庫211自動執(zhí)行安裝CSDK應用153b的操作。當SDK應用BI變得不必要時,用戶在主屏幕圖像中選擇執(zhí)行卸載。SAS152使操作面板15顯示卸載屏幕圖像。卸載屏幕圖像包括在CSDK應用153的安裝信息或者JSDK應用156的安裝信息中包括的CSDK應用153和JSDK應用156的列表。用戶選擇卸載屏幕圖像所含的JSDK應用156b的一行,并通過卸載屏幕圖像輸入卸載指令(步驟S221)。卸載指令通過SAS 152被報告給JSDK管理單元1551。響應于該卸載指令,JSDK管理單元1551輸入請求來中斷JSDK應用156b (步驟S222)。響應于該中斷請求,與JSDK應用156a相關(guān)的線程結(jié)束(步驟S223)。接著,JSDK管理單元1551執(zhí)行處理,來卸載JSDK應用156b (步驟S224)。例如,JSDK應用156b的條目從JSDK平臺155所管理的JSDK應用156的安裝信息中被刪除。此外,已經(jīng)復制到JSDK安裝區(qū)域的JSDK應用156b、JSDK屬性文件156Pb、CSDK文件153Fb、代理庫211和代理庫屬性文件21IP被刪除。接著,響應于JSDK應用156b被卸載,JSDK平臺155的回調(diào)控制單元1552調(diào)用在步驟S208注冊的回調(diào)信息中指定的回調(diào)功能(步驟S225)?;卣{(diào)功能是代理庫211的Java(注冊商標)層211j的預定方法。因此,該預定方法被調(diào)用。結(jié)果,向代理庫211報告JSDK應用156b已經(jīng)被卸載。在步驟S224,代理庫211的模塊文件被刪除;然而,模塊文件和代理屬性文件211P的內(nèi)容被加載在RAM 112中。接著,代理庫211的本地層211c執(zhí)行卸載CSDK應用153b的處理(步驟S226)。在卸載處理之后,代理庫211的Java(注冊商標)層211 j返回控制處理的功能到作為調(diào)用源的回調(diào)控制單元1552(步驟S227)。接著,JSDK管理單元1551向SAS 152報告JSDK應用156b已經(jīng)被卸載。響應于該報告,SAS 152使卸載屏幕圖像顯示JSDK應用156b已經(jīng)被卸載的效果(步驟S228)。如上所述,在第二實施例中,響應于JSDK應用156b被卸載,代理庫211自動執(zhí)行卸載CSDK應用153b的處理。接著,給出對圖8中步驟S210的詳細描述。圖9是用于描述由代理庫211執(zhí)行的CSDK應用的安裝過程的處理流程的例子。在圖9的描述中,代理庫211的本地層211c被稱為代理庫211。在步驟S301,代理庫211確定作為安裝目標的CSDK應用153b是否已經(jīng)被安裝在圖像形成裝置10中。通過比較或者交叉校驗代理屬性文件211P和利用NVRAM 115管理的CSDK應用153的安裝信息來完成確定。圖10表示記錄在代理屬性文件211P中的信息的例子。如圖10所示,在代理屬性文件21IP中,為圖像形成裝置10的每個模型記錄模型名稱、應用標識符和CSDK文件名,其中CSDK應用153b可以被安裝在該圖像形成裝置10中。模型名稱是圖像形成裝置10的模型的名稱。應用標識符是CSDK應用153b的標識符。即使當兩個CSDK應用153b執(zhí)行相同功能時,如果根據(jù)模型類型的文件內(nèi)容是不同的,這兩個CSDK應用153b具有不同的應用標識符。CSDK文件名是CSDK文件153Fb的名稱。圖10示出了一個例子,其中公共CSDK文件153Fb可以應用于不同模型類型。因此,公共應用標識符對應于不同的模型類型。當不同的CSDK文件153Fb根據(jù)模型類型應用時,應用標識符和CSDK文件名是不同的。這樣,JSDK文件156Fb包括多個CSDK文件153Fb。在步驟S301,確定了特定應用標識符被包括在利用NVRAM 115管理的CSDK應用153的安裝信息中。特別地,特定應用標識符意味著該應用標識符與作為安裝目的地的圖像形成裝置10的模型名稱相關(guān)聯(lián)的代理屬性文件211P中的應用標識符相同。當相應的應用標識符被包括在CSDK應用153的安裝信息中時,代理庫211確定CSDK應用153b已經(jīng)被安裝,并正常結(jié)束圖9的處理。因此這樣,不執(zhí)行安裝CSDK應用153b的處理。當相應的應用標識符沒有被包括在CSDK應用153的安裝信息中時,代理庫211確定CSDK應用153b還沒有被安裝。接著,代理庫211基于代理屬性文件211P,確定對應于作為安裝目的地的圖像形成裝置10的模型名稱的CSDK文件名(步驟S302)。當對應于作為安裝目的地的圖像形成裝置10的模型名稱的CSDK文件名沒有被記錄在代理屬性文件211P中時,代理庫211異常結(jié)束圖9的處理(步驟S305)。異常結(jié)束該處理意味著向JSDK應用156b返回表示安裝處理沒有成功的報告。當對應于作為安裝目的地的圖像形成裝置10的模型名稱的CSDK文件名被記錄在代理屬性文件21IP中時,代理庫211確定CSDK應用153b是否可以被安裝(步驟S304)。例如,當可以安裝的CSDK應用153的數(shù)量有上限時,或者當有其它限制時,基于通過安裝CSDK應用153b是否會超過這些上限或者限制,確定CSDK應用153b是否可以被安裝。當確定了 CSDK應用153b不能被安裝時,代理庫211異常結(jié)束圖9的處理(步驟S305)。當確定了 CSDK應用153b可以被安裝時,基于與步驟S302中確定的CSDK文件名相關(guān)的CSDK文件153Fb,代理庫211執(zhí)行安裝CSDK應用153b的處理(步驟S304)。特別的,在圖8的步驟S202中保存在JSDK安裝區(qū)域中的CSDK屬性文件153Pb被擴展,CSDK應用153b和CSDK屬性文件153Pb被保存在CSDK安裝區(qū)域。此外,包括CSDK應用153b的應用標識符的條目被增加到利用NVRAM 115管理的CSDK應用153的安裝信息中。當安裝處理沒有成功時(例如,當保存CSDK應用153b在CSDK安裝區(qū)域的處理沒有成功,或者增加安裝信息的處理沒有成功時),代理庫211異常結(jié)束圖9的處理。接著,給出了圖8中的步驟S226的詳細描述。圖11是用于描述代理庫211執(zhí)行的CSDK應用153的卸載過程的處理流程的例子。在圖11的描述中,代理庫211的本地層211c被稱為代理庫211。在步驟S401,代理庫211確定CSDK應用153b是否需要被卸載。特別地,例如,確定特定應用標識符是否被包括在利用NVRAM 115管理的CSDK應用153的安裝信息中。特別地,特定應用標識符意味著CSDK應用153b的應用標識符,其作為步驟S225中調(diào)用的回調(diào)功能的要素所指定的卸載目標。也就是說,基于CSDK應用153b是否被安裝,來確定卸載處理是否必要。當確定了卸載處理不必要時(當CSDK應用153b沒有被安裝時),代理庫211異常結(jié)束圖11的處理(步驟S403)。當確定了卸載處理必要時(當CSDK應用153b被安裝時),代理庫211執(zhí)行卸載CSDK應用153b的處理(步驟S402)。例如,從利用NVRAM 115管理的CSDK應用153的安裝信息中刪除CSDK應用153b的條目。此外,已經(jīng)被復制到CSDK安裝區(qū)域的CSDK應用153b和CSDK屬性文件153Pb被刪除。當卸載處理沒有成功時(例如當從安裝信息中刪除條目的處理沒有成功,或者當刪除CSDK應用153b的處理沒有成功時),代理庫211異常結(jié)束圖11的處理(步驟S403)。如上所述,根據(jù)本實施例,當JSDK應用156b被激活時,代理庫211自動執(zhí)行安裝CSDK應用153b的處理。此外,當卸載JSDK應用156b時,代理庫211自動執(zhí)行卸載CSDK應用153b的處理。因此,用戶不需要執(zhí)行安裝CSDK應用153b的操作。此外,安裝或卸載CSDK應用153b的邏輯被安裝在代理庫211中,其與JSDK應用156b 一起分布(包括在JSDK文件156Fb中,作為JSDK應用156b的一部分)。也就是說,該邏輯不需要被安裝在圖像形成裝置10的安裝機制的現(xiàn)有部分中(例如SAS 152和JSDK管理單元1551)。因此,不需要對圖像形成裝置10的安裝機制的現(xiàn)有部分進行校正。此外,CSDK應用153b(CSDK文件153Fb)被包括在JSDK文件156Fb中,作為JSDK應用156b的一部分。因此,SAS 152可以在安裝屏幕圖像上顯示安裝目標為一個JSDK應用156b。通過與參考圖5所述的安裝JSDK應用156a的處理相同的處理,JSDK管理單元1551可以接受(保存)CSDK應用153b (CSDK文件153Fb)在圖像形成裝置10中。在本實施例中,描述了簡化安裝JSDK應用156和CSDK應用153的處理的例子。然而,組合程序的編程語言不需要是不同的。此外,本申請還可以被用于組合三個或更多的程序。特別的,兩個或多個類型的JSDK應用156以及兩個或多個類型的CSDK應用153可以被包括在JSDK文件156Fb中。根據(jù)本發(fā)明的實施例,可以簡化安裝程序的操作。本發(fā)明不限于這里所描述的特定實施例,可以進行變形和修改,而不脫離本發(fā)明的范圍。本發(fā)明是基于2010年9月16日在日本專利局提交的日本優(yōu)先權(quán)申請N0.2010-208213,其全部內(nèi)容在此結(jié)合以供參考。
權(quán)利要求
1.一種存儲有可執(zhí)行安裝程序的非瞬時性計算機可讀存儲介質(zhì),其中所述安裝程序指示裝置的處理器執(zhí)行: 當?shù)谝怀绦虮患せ顣r,從所述第一程序接收調(diào)用;以及 響應所述調(diào)用,安裝所述第一程序使用的第二程序。
2.根據(jù)權(quán)利要求1所述的非瞬時性計算機可讀存儲介質(zhì),還包括: 與所述第一程序相關(guān)聯(lián)地將所述安裝程序安裝在所述裝置中。
3.根據(jù)權(quán)利要求1或2所述的非瞬時性計算機可讀存儲介質(zhì),還包括: 響應于檢測所述第一程序已經(jīng)被卸載,卸載所述第二程序。
4.根據(jù)權(quán)利要求3所述的非瞬時性計算機可讀存儲介質(zhì),其中 所述安裝所述第二程序包括在所述裝置中設置回調(diào)信息,所述回調(diào)信息用于向所述安裝程序發(fā)送報告,所述報告表示所述第一程序已經(jīng)被卸載,所述回調(diào)信息響應于所述調(diào)用而設置,并且 所述卸載所述第二程序包括響應于接收報告而卸載所述第二程序,所述報告表示所述第一程序已經(jīng)基于所述回調(diào)信息而卸載。
5.一種由裝置執(zhí)行的安裝方法,所述安裝方法包括: 當?shù)谝怀绦虮患せ顣r,從所述第一程序接收調(diào)用;以及 響應所述調(diào)用,安裝所述第一程序使用的第二程序。
6.根據(jù)權(quán)利要求5所述的安裝方法,還包括: 與所述第一程序相關(guān)聯(lián) 地將所述安裝程序安裝在所述裝置中,所述安裝程序使得所述裝置執(zhí)行接收所述調(diào)用并安裝所述第二程序。
7.根據(jù)權(quán)利要求5或6所述的安裝方法,還包括: 響應于檢測所述第一程序已經(jīng)被卸載,卸載所述第二程序。
8.根據(jù)權(quán)利要求7所述的安裝方法,其中 所述安裝所述第二程序包括在所述裝置中設置回調(diào)信息,所述回調(diào)信息用于報告所述第一程序已經(jīng)被卸載,所述回調(diào)信息響應于所述調(diào)用而設置,并且 所述卸載所述第二程序包括響應于檢測所述第一程序已經(jīng)基于所述回調(diào)信息被卸載而卸載所述第二程序。
9.一種裝置,包括: 接收單元,配置為當?shù)谝怀绦虮患せ顣r,從所述第一程序接收調(diào)用;以及 第一安裝單元,配置為響應所述調(diào)用,安裝所述第一程序使用的第二程序。
10.根據(jù)權(quán)利要求9所述的裝置,還包括: 第二安裝單元,配置為與所述第一程序相關(guān)聯(lián)地將所述安裝程序安裝在所述裝置中,所述安裝程序使得所述接收單元和所述第一安裝單元執(zhí)行。
11.根據(jù)權(quán)利要求9或10所述的裝置,還包括: 卸載單元,配置為響應于檢測所述第一程序已經(jīng)被卸載,卸載所述第二程序。
12.根據(jù)權(quán)利要求11所述的裝置,其中 所述第一安裝單元在所述裝置中設置回調(diào)信息,所述回調(diào)信息用于報告所述第一程序已經(jīng)被卸載,所述回調(diào)信息響應于所述調(diào)用而設置,并且 所述卸載單元響應于檢測所述第一程序已經(jīng)基于所述回調(diào)信息被卸載而卸載所述第二程序。
全文摘要
一種裝置執(zhí)行的安裝方法,包括當?shù)谝怀绦虮患せ顣r,從第一程序接收調(diào)用;以及響應該調(diào)用,安裝第一程序使用的第二程序。
文檔編號G06F9/445GK103154888SQ20118004396
公開日2013年6月12日 申請日期2011年9月7日 優(yōu)先權(quán)日2010年9月16日
發(fā)明者廣川朋也, 杉浦裕子, 韓曉峰, 井川拓 申請人:株式會社理光
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
蚌埠市| 三河市| 沂源县| 修水县| 牡丹江市| 永吉县| 家居| 屏边| 涡阳县| 阿克苏市| 元朗区| 岳池县| 东海县| 宝山区| 太仆寺旗| 德庆县| 正蓝旗| 通渭县| 怀宁县| 镇远县| 遂昌县| 威宁| 五大连池市| 三台县| 永川市| 华坪县| 华池县| 石家庄市| 神农架林区| 咸丰县| 城市| 北宁市| 涞源县| 凤阳县| 泸州市| 西充县| 新和县| 横山县| 井研县| 龙江县| 普兰店市|