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

信息處理裝置、信息處理方法、計(jì)算機(jī)可讀取的存儲介質(zhì)的制作方法

文檔序號:6370162閱讀:199來源:國知局
專利名稱:信息處理裝置、信息處理方法、計(jì)算機(jī)可讀取的存儲介質(zhì)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及外圍設(shè)備、搭載有用于控制該外圍設(shè)備的控制程序的信息處理裝置、以及用于控制這些設(shè)備的方法及控制程序。
背景技術(shù)
為了安裝作為用于控制外圍設(shè)備的控制程序的設(shè)備驅(qū)動程序(以下稱驅(qū)動器),需要稱為安裝套件的程序組。在安裝套件中包含作為安裝對象的驅(qū)動器、作為安裝驅(qū)動器的控制程序的安裝器等。驅(qū)動器通常因機(jī)型和版本而異。作為安裝套件又分為兩種形式,即將多個對應(yīng)機(jī)型組合到一個安裝套件中的形式和對每個機(jī)型分別創(chuàng)建安裝套件的形式。具體來說,在前一種形式的情況下,當(dāng)對稱為安裝器的安裝程序指示安裝開始時(shí),則將多個機(jī)型作為安裝對象進(jìn)行列舉并可對其進(jìn)行選擇,相對于此在后一種形式的情況下,安裝時(shí)只有1個機(jī)型作為安裝對象被選擇,可應(yīng)答用戶的指示來進(jìn)行安裝。但是,前者中,當(dāng)將多個對應(yīng)機(jī)型的驅(qū)動器組合成1個安裝套件時(shí),則會產(chǎn)生如下問題。例如,當(dāng)在安裝著名為AAA、版本1.00的驅(qū)動器的個人計(jì)算機(jī)中,安裝名為BBB、對應(yīng)版本2.00的驅(qū)動器時(shí),就會發(fā)生與AAA對應(yīng)的驅(qū)動器自動地版本升級到v2.00之類的問題。特別是在AAA和BBB包含相同驅(qū)動器模塊組的情況下,將會產(chǎn)生上述那樣的問題。
這種方式對總是想使計(jì)算機(jī)中所安裝的打印機(jī)驅(qū)動器的版本設(shè)成最新狀態(tài)的之類的用戶有非常大的優(yōu)點(diǎn),但會有在用戶不知不覺中,隨便將打印機(jī)驅(qū)動器的版本進(jìn)行升級的情況。
但以上述方式,在系統(tǒng)導(dǎo)入時(shí),要花很長時(shí)間來進(jìn)行打印機(jī)驅(qū)動器的動作確認(rèn)的測試,對如今僅在用戶環(huán)境下使用已得到動作確認(rèn)的打印機(jī)的用戶來說,就成為缺點(diǎn)。例如,在將很大地依賴于打印機(jī)驅(qū)動器的打印應(yīng)用等,與打印機(jī)驅(qū)動器組合起來進(jìn)行使用的大規(guī)模辦公中,要求驅(qū)動器的版本管理非常嚴(yán)格,僅想使用戶所指定的驅(qū)動器進(jìn)行版本升級之類的要求很強(qiáng)。想將版本升級對象的驅(qū)動器,有選擇地、適當(dāng)?shù)剡M(jìn)行版本升級的之類的愿望很強(qiáng)。這在其它的打印機(jī)以外的外圍設(shè)備的設(shè)備驅(qū)動器的管理中也同樣如此。
另外,例如在與上述情況中構(gòu)成打印機(jī)驅(qū)動器的模塊組相同的情況下,存在盡管是新安裝的作為新版本的叫做BBB的打印機(jī)驅(qū)動器,但AAA模塊被蓋寫的情況。還存在由此蓋寫處理而引起,在安裝后不得不進(jìn)行系統(tǒng)的重新啟動之類的缺點(diǎn)。
另一方面,系統(tǒng)的重新啟動,在大規(guī)模辦公的服務(wù)器系統(tǒng)計(jì)算機(jī)中,應(yīng)盡可能避免的要求很大。對想避免這種重新啟動的用戶來說,存在想避免上述那種由新安裝某模塊而引起的,伴隨不必要的模塊更新的重新啟動之類的要求。
另外,當(dāng)對每個對應(yīng)機(jī)型創(chuàng)建安裝套件時(shí),雖然由于構(gòu)成打印機(jī)驅(qū)動器的模塊組因機(jī)型而異,故可防止上述那樣的新版打印機(jī)驅(qū)動器安裝后的系統(tǒng)重新啟動及用戶不希望的版本升級,但由于需要對每個機(jī)型創(chuàng)建打印機(jī)驅(qū)動器,故存在開發(fā)工作工時(shí)非常大的缺點(diǎn)。特別是在新版OS(操作系統(tǒng))對應(yīng)時(shí)等,需要進(jìn)行全部機(jī)型的打印機(jī)驅(qū)動器的創(chuàng)建,當(dāng)使某個機(jī)型中已修正的故障內(nèi)容,在其他機(jī)型中也進(jìn)行反映的情況下,就需要另外創(chuàng)建該機(jī)型的打印機(jī)驅(qū)動器。另外,在想要進(jìn)行版本升級的機(jī)型較多的情況下,需要準(zhǔn)備必要的機(jī)型的安裝套件,并分別使其執(zhí)行,安裝操作就變得煩瑣。

發(fā)明內(nèi)容
本發(fā)明是為了打破這種狀況而完成的,其一個目的在于,提供一種通過在安裝打印機(jī)驅(qū)動器時(shí),按照一定的規(guī)則變更將要安裝的模塊組的名稱,進(jìn)行適當(dāng)?shù)陌惭b的機(jī)構(gòu)。
進(jìn)而,其另一目的在于,提供一種能夠適當(dāng)選擇成為版本升級對象的驅(qū)動器,并可將所選擇的驅(qū)動器適當(dāng)?shù)剡M(jìn)行版本升級的機(jī)構(gòu)。
進(jìn)而,其又一目的在于,即使在進(jìn)行某個驅(qū)動器的新安裝的情況下,通過設(shè)置不會因該安裝而導(dǎo)致其他驅(qū)動器被蓋寫的機(jī)構(gòu),來降低進(jìn)行重新啟動的次數(shù)。
本發(fā)明的一個技術(shù)方案,提供一種信息處理裝置,可搭載包含通用模塊的、對應(yīng)第一外圍設(shè)備的第一控制程序,和控制第二外圍設(shè)備的第二控制程序,包括決定裝置,決定各通用模塊的識別信息,使得作為上述第一控制程序的一部分而動作的通用模塊的識別信息,與作為上述第二控制程序的一部分而動作的通用模塊的識別信息不同。
本發(fā)明的其他特征以及優(yōu)點(diǎn),通過以附圖為參照的下面的說明將會弄明白。其中,在附圖中對相同或相似的結(jié)構(gòu)附加相同的參照標(biāo)號。


圖1是說明表示本發(fā)明的實(shí)施例的打印控制裝置的結(jié)構(gòu)的框圖。
圖2是說明在主機(jī)中的典型的打印數(shù)據(jù)生成方法的框圖。
圖3是說明對生成中間代碼的圖2進(jìn)行了擴(kuò)展的打印數(shù)據(jù)生成方法的框圖。
圖4表示說明本實(shí)施例的整體結(jié)構(gòu)的打印機(jī)驅(qū)動器安裝方法的概略圖。
圖5表示打印機(jī)驅(qū)動器的好聽的名字和由CRC.exe所創(chuàng)建的16進(jìn)制數(shù)的相關(guān)圖。
圖6表示本實(shí)施例中使用的一個OS用INF文件的例子。
圖7表示本實(shí)施例中使用的與圖6不同的其它OS用INF文件的例子。
圖8表示安裝后的系統(tǒng)重新啟動的必要性。
圖9是表示通用模塊的重命名的一個例子的圖。
圖10是表示可在某個OS中利用的INF文件的記述例的圖。
圖11是表示可適用于與圖10不同的其它OS中的INF文件的一例的圖。
圖12是表示通用模塊的重命名的一例的圖。
圖13是表示通用模塊的重命名的一例的圖。
圖14是表示可在某個OS中利用的INF文件的記述例的圖。
圖15是表示可適用于與圖10不同的其它OS中的INF文件的一例的圖。
圖16是表示通用模塊的重命名的一例的圖。
圖17是表示可在某個OS中利用的INF文件的記述例的圖。
圖18是表示可適用于與圖10不同的其它OS中的INF文件的一例的圖。
圖19是表示主機(jī)3000內(nèi)的模塊框圖的一例的圖。
具體實(shí)施例方式
下面,參照附圖對本發(fā)明的實(shí)施形式進(jìn)行說明。此外,下述各實(shí)施形式是為了說明本發(fā)明的各種側(cè)面的例子,不言而喻在不脫離本發(fā)明的主旨范圍內(nèi),并不限定于下述各實(shí)施形式。
(第一實(shí)施形式)圖1是表示本發(fā)明的實(shí)施形式的一例的打印機(jī)控制系統(tǒng)結(jié)構(gòu)的圖。此外,無需贅言如果是執(zhí)行本發(fā)明的功能,則不論是單個設(shè)備、還是由多個設(shè)備組成的系統(tǒng),還是通過LAN、WAN等網(wǎng)絡(luò)連接起來進(jìn)行處理的系統(tǒng),均能應(yīng)用本發(fā)明。在本圖中,主機(jī)3000備有CPU1,該CPU1基于存儲于ROM3的程序用ROM或者外部存儲器11中的文檔處理程序,進(jìn)行圖形、圖像、字符、表(包含表計(jì)算)等混合存在的文檔處理,CPU1總括控制連接到系統(tǒng)總線4上的各設(shè)備。另外,在此ROM3的程序用的ROM或者外部存儲器11中,存儲作為CPU1的控制程序的操作系統(tǒng)程序(下面記為“OS”)等,在ROM3的字體用的ROM或者外部存儲器11中,存儲在上述文檔處理時(shí)使用的字體數(shù)據(jù)等,在ROM3的數(shù)據(jù)用的ROM或者外部存儲器11中,存儲在進(jìn)行上述文檔處理時(shí)使用的各種數(shù)據(jù)。RAM2作為CPU1的主存儲器、工作區(qū)等來實(shí)現(xiàn)其功能。在HDD11中還存儲有作為用于安裝打印機(jī)驅(qū)動器的控制程序的安裝器,對OS進(jìn)行控制以便把安裝器裝入到RAM2,從HDD1讀出并取得驅(qū)動器,或者通過網(wǎng)絡(luò)(省略圖示)來取得驅(qū)動器,將安裝器所取得的驅(qū)動器、打印機(jī)驅(qū)動器保存到預(yù)定的保存區(qū)域。進(jìn)而,安裝器通過OS的API,登錄到稱為注冊表的區(qū)域,以便OS能夠識別新安裝的驅(qū)動器。
鍵盤控制器(KBC)5,控制來自鍵盤9或沒有圖示的定位設(shè)備的鍵輸入。CRT控制器(CRTC)6,控制CRT顯示器(CRT)10的顯示。7是設(shè)備控制器(DKC),控制對存儲引導(dǎo)程序、各種應(yīng)用、字體數(shù)據(jù)、用戶文件、編輯文件、打印機(jī)控制命令生成程序(下面稱為打印機(jī)驅(qū)動器)等的硬盤(HD)、軟(R)盤(FD)等外部存儲器11的存取。打印機(jī)控制器(PRTC)8,通過預(yù)定的雙向接口(接口)21連接到打印機(jī)1500,執(zhí)行與打印機(jī)1500之間的通信控制處理。另外,盡管在本實(shí)施形式中,作為控制外圍設(shè)備的控制程序列舉出打印機(jī)驅(qū)動器,但也可以是控制數(shù)碼相機(jī)、復(fù)印機(jī)、傳真機(jī)、噴墨打印機(jī)、激光打印機(jī)、或者它們的復(fù)合機(jī)的控制程序。
此外,CPU1執(zhí)行,例如在RAM2上所設(shè)定的顯示信息RAM的外形字體的展開(光柵化)處理,可以進(jìn)行在CRT10上的WYSIWYG。另外,CPU1基于由CRT10上未圖示的鼠標(biāo)光標(biāo)等所指示的命令來打開所等錄的各種窗口,執(zhí)行各種數(shù)據(jù)處理。用戶在執(zhí)行打印時(shí),打開關(guān)于打印設(shè)定的窗口,進(jìn)行打印機(jī)設(shè)定,或者包含打印模式的選擇的對于打印機(jī)驅(qū)動器的打印處理方法的設(shè)定。打印機(jī)1500由打印機(jī)CPU12來進(jìn)行控制。打印機(jī)CPU12基于存儲在ROM13的程序用ROM中的控制程序等或存儲在外部存儲器14中的控制程序等,將作為輸出信息的圖像信號輸出到連接在系統(tǒng)總線15的打印單元(打印機(jī)引擎)17。另外,在此ROM13的程序ROM中,存儲CPU12的控制程序等。在ROM13的字體用ROM中存儲有當(dāng)生成上述輸出信息時(shí)使用的字體數(shù)據(jù)等,在ROM13的數(shù)據(jù)用ROM中,存儲著在沒有硬盤等的外部存儲器的打印機(jī)的情況下,在主機(jī)上所利用的信息等。CPU12可通過輸入單元18進(jìn)行與主機(jī)的通信處理,能夠?qū)⒋蛴C(jī)內(nèi)的信息等通知給主機(jī)3000。RAM19是作為CPU12的主存儲器或工作區(qū)等來實(shí)現(xiàn)其作用的RAM,構(gòu)成為能夠通過連接到?jīng)]有圖示的增設(shè)端口的可選RAM來擴(kuò)展存儲器容量。此外,RAM19,用于輸出信息展開區(qū)域、環(huán)境數(shù)據(jù)保存區(qū)域、NVRAM等。上述的硬盤(HD)、IC卡等的外部存儲器14,由存儲器控制器(MC)20來控制存取。外部存儲器14作為可選存儲器進(jìn)行連接,存儲字體數(shù)據(jù)、仿真程序、模板數(shù)據(jù),或者用于所展開的打印數(shù)據(jù)的假脫機(jī)。另外,18為上述的操作面板配備有操作用的開關(guān)以及LED顯示器等。另外,在上述HD中,存儲有后述的圖19中所記載的各模塊。
另外,上面所述的外部存儲器14,并不限于1個,也可以構(gòu)成為置備多個,并能夠連接多個加入內(nèi)置字體的可選字體卡、進(jìn)行了擴(kuò)展的打印數(shù)據(jù)的假脫機(jī)用存儲器、保存了對語言系不同的打印機(jī)控制語言進(jìn)行解釋的程序的外部存儲器。進(jìn)而,也可以具有沒有圖示的NVRAM,存儲來自操作面板1501的打印機(jī)模式設(shè)定信息。
圖2是打印機(jī)等打印裝置直接進(jìn)行連接,或者通過網(wǎng)絡(luò)進(jìn)行連接的主機(jī)中典型的打印處理的結(jié)構(gòu)圖。應(yīng)用201、圖形引擎202、打印機(jī)驅(qū)動器203、以及系統(tǒng)假脫機(jī)程序204是作為保存于外部存儲器11中的文件而存在,在執(zhí)行時(shí)由0S及利用其模塊的模塊裝入到RAM2進(jìn)行執(zhí)行的程序模塊。另外,應(yīng)用201以及打印機(jī)驅(qū)動器203可以追加到外部存儲器11的FD和沒有圖示的CD-ROM,或者經(jīng)過沒有圖示的網(wǎng)絡(luò)追加到外部硬盤11的HD。雖然在外部存儲器11中所保存的應(yīng)用201被裝入到RAM2進(jìn)行執(zhí)行,但當(dāng)從應(yīng)用201對打印機(jī)1500進(jìn)行打印時(shí),利用可同樣地裝入RAM2來執(zhí)行的圖形引擎202進(jìn)行輸出(繪畫)。
圖形引擎202將對每個打印裝置所準(zhǔn)備的打印機(jī)驅(qū)動器203同樣地從外部存儲器11裝入到RAM2,將應(yīng)用201的輸出設(shè)定到打印機(jī)驅(qū)動器203。然后,把從應(yīng)用201接收的GDI(GraphicDeviceInterface)函數(shù)變換成DDI(DeviceDriverInterface)函數(shù),向打印機(jī)驅(qū)動器203輸出DDI函數(shù)。打印機(jī)驅(qū)動器203基于從圖形引擎202接收到的DDI函數(shù),變換成打印機(jī)可識別的控制命令,例如PDL(Page DescriptionLanguage)。其結(jié)構(gòu)為所變換的打印機(jī)控制命令通過OS,經(jīng)被裝入到RAM2的系統(tǒng)假脫機(jī)程序204,經(jīng)由接口21作為打印數(shù)據(jù)向打印機(jī)1500輸出。
本實(shí)施形式的打印系統(tǒng)除由圖2所示的打印機(jī)和主機(jī)組成的打印系統(tǒng)外,還具有如圖3所示那樣,把來自應(yīng)用的打印數(shù)據(jù)暫時(shí)用中間代碼數(shù)據(jù)進(jìn)行假脫機(jī)的結(jié)構(gòu)。
圖3對圖2的系統(tǒng)進(jìn)行了擴(kuò)展,采用如下結(jié)構(gòu)在從圖形引擎202向打印機(jī)驅(qū)動器203傳送打印命令時(shí),暫時(shí)生成由中間代碼組成的假脫機(jī)文件303。在圖2的系統(tǒng)中,應(yīng)用201從打印處理中釋放,是在打印機(jī)驅(qū)動器203將來自圖形引擎201的全部打印命令向打印機(jī)的控制命令變換完了的時(shí)刻。與此相對,在圖3的系統(tǒng)中,是在假脫機(jī)程序302將全部打印命令變換成中間代碼數(shù)據(jù),并輸出到假脫機(jī)文件303的時(shí)刻。通常,后者在短時(shí)間內(nèi)就可完成。另外,在圖3所示系統(tǒng)中,能夠?qū)倜摍C(jī)文件303的內(nèi)容進(jìn)行加工。由此,對來自應(yīng)用的打印數(shù)據(jù),可以實(shí)現(xiàn)擴(kuò)大縮小、將多頁縮小到一頁進(jìn)行打印等,應(yīng)用所不具有的功能。
為了達(dá)到這些目的,對圖2的系統(tǒng)進(jìn)行系統(tǒng)擴(kuò)展,以便如圖3那樣用中間代碼數(shù)據(jù)進(jìn)行假脫機(jī)。此外,為了進(jìn)行打印數(shù)據(jù)的加工,通常從打印機(jī)203提供的窗口進(jìn)行設(shè)定,打印機(jī)驅(qū)動器203將該設(shè)定內(nèi)容包管在RAM2或者外部存儲器11上。
下面說明說明圖3的細(xì)節(jié)。如圖所示那樣,在此被擴(kuò)展的處理方式中,調(diào)度程序301接收來自圖形引擎202的打印命令。在調(diào)度程序301從圖形引擎202接收到的打印命令為從應(yīng)用201向圖形引擎202發(fā)出的打印命令的情況下,調(diào)度程序301將在外部存儲器11中所保存的假脫機(jī)程序302裝入到RAM2,并不是向打印機(jī)驅(qū)動器203而是向假脫機(jī)程序302發(fā)送打印命令。
假脫機(jī)程序302將接收到的打印命令變換成中間代碼并輸出到假脫機(jī)文件303。另外,假脫機(jī)程序302從打印機(jī)驅(qū)動器203取得對打印機(jī)驅(qū)動器203所設(shè)定的關(guān)于打印數(shù)據(jù)的加工設(shè)定并保存到假脫機(jī)文件303。此外,盡管假脫機(jī)文件303是在外部存儲器11上作為文件進(jìn)行生成,但也可在RAM2上進(jìn)行生成。進(jìn)而假脫機(jī)程序302將在外部存儲器11中所保存的假脫機(jī)文件管理器304裝入到RAM2中,并對假脫機(jī)文件管理器304通知假脫機(jī)文件303的生成狀況。之后,假脫機(jī)文件管理器304判斷是否可按照在假脫機(jī)文件303中所保存的關(guān)于打印數(shù)據(jù)的加工設(shè)定的內(nèi)容來進(jìn)行打印。
當(dāng)假脫機(jī)文件管理器304判斷為可利用圖形引擎202進(jìn)行打印時(shí),將保存在外部存儲器11中的假脫機(jī)析取程序305裝入到RAM2中,并對假脫機(jī)析取程序305進(jìn)行指示,以進(jìn)行在假脫機(jī)文件303中所記述的中間代碼的打印處理。
假脫機(jī)析取程序305按照在假脫機(jī)文件303中所包含的加工設(shè)定的內(nèi)容,對在假脫機(jī)文件303中所包含的中間代碼進(jìn)行加工,并再次經(jīng)由圖形引擎202進(jìn)行輸出。
在調(diào)度程序301從圖形引擎202接收到的打印命令為從假脫機(jī)析取程序305向圖形引擎202發(fā)出的打印命令的情況下,調(diào)度程序301將不是向假脫機(jī)文件302而是向打印機(jī)驅(qū)動器203發(fā)送打印命令。
打印機(jī)驅(qū)動器203生成打印機(jī)控制命令,經(jīng)由系統(tǒng)假脫機(jī)程序204,輸出到打印機(jī)1500。
圖5表示打印機(jī)驅(qū)動器的好聽的名字和由CRC.exe所創(chuàng)建的16進(jìn)制數(shù)的相關(guān)圖。圖6表示在本實(shí)施例中使用的Windows(R)2000中的INF文件的例子。圖7表示在本實(shí)施例中使用的Windows(R)NT40(注冊商標(biāo))中的INF文件的例子。圖8表示安裝后的系統(tǒng)重新啟動的必要性。下面,使用圖4、圖5、圖6、圖7、圖8,詳細(xì)地說明從對本實(shí)施例優(yōu)選的OS的打印機(jī)文件夾,安裝打印機(jī)驅(qū)動器的方法。
圖4表示說明本實(shí)施例的整體像的打印機(jī)驅(qū)動器安裝方法的概略圖。這里,參照圖4,說明作為本實(shí)施例的整體結(jié)構(gòu)的,在安裝時(shí)按照一定的規(guī)則變更將要安裝的打印機(jī)驅(qū)動器的模塊組的名稱的方法。在此,所謂的驅(qū)動器模塊組是指,包含在安裝套件里的、按一定關(guān)系形成組的驅(qū)動器模塊組。
下面,首先對作為在本實(shí)施形式中多處出現(xiàn)的要素技術(shù)的驅(qū)動器的重命名處理進(jìn)行說明。在本實(shí)施形式中,在安裝時(shí)按照一定的法則來變更驅(qū)動器模塊的名稱。以下有時(shí)將“變更名稱”稱為“重命名”。此重命名處理通過以下處理得以實(shí)現(xiàn)在圖1的主機(jī)3000中安裝驅(qū)動器時(shí),存儲于主機(jī)3000內(nèi)的HD11中的安裝程序被裝入到RAM2中,通過控制同樣地裝入到RAM2中的OS的API(省略圖示),來進(jìn)行控制以重命名驅(qū)動器模塊名。當(dāng)然,在系統(tǒng)允許作為應(yīng)用的安裝程序直接進(jìn)行重命名的情況下,也可以直接進(jìn)行重命名。
接著,舉出重命名處理的一個例子。例如,當(dāng)將驅(qū)動器組件AAA.dll、BBB.dll、CCC.dll設(shè)為每個機(jī)型安裝時(shí)的重命名對象時(shí),例如在安裝叫做111的機(jī)型的打印機(jī)驅(qū)動器時(shí),則以AAA_111.dll、BBB_111.dll、CCC_111.dll之類的名稱拷貝到Windows(R)的系統(tǒng)目錄中。另外,在安裝叫做222的機(jī)型的打印機(jī)驅(qū)動器時(shí),則以AAA_222.dll、BBB_222.dll、CCC_222.dll之類的名稱,在安裝叫做333的機(jī)型的打印機(jī)驅(qū)動器時(shí),則以AAA_333.dll、BBB_333.dll、CCC_333.dll之類的名稱拷貝到OS的系統(tǒng)目錄中。
此時(shí),當(dāng)設(shè)DDD.dll和EEE.dll為每個機(jī)型安裝時(shí)的重命名非對象模塊時(shí),不論在安裝111機(jī)型的打印機(jī)驅(qū)動器時(shí),還是在安裝222機(jī)型的打印機(jī)驅(qū)動器時(shí),都作為DDD.dll和EEE.dll的名稱拷貝到OS的系統(tǒng)目錄中。
在此,說明重命名對象的打印機(jī)驅(qū)動器模塊和重命名非對象的打印機(jī)驅(qū)動器模塊的定義。所謂重命名對象的打印機(jī)驅(qū)動器模塊,是指提供驅(qū)動器的基本功能的模塊,當(dāng)打印一旦執(zhí)行,就連續(xù)地裝入到OS的系統(tǒng)的模塊。例如,圖形驅(qū)動器(本實(shí)施形式中是CNP5EE.DLL)、用戶接口驅(qū)動器(本實(shí)施形式中CNP5EEUI.DLL相當(dāng)于此)、資源文件(本實(shí)施形式中CNP5E809.DLL相當(dāng)于此)之類的模塊就屬于此。另一方面,所謂重命名非對象的打印機(jī)驅(qū)動器模塊,是指彩色配置文件、幫助文件之類的機(jī)型通用文件,是在打印結(jié)束之后,從OS的系統(tǒng)卸載的模塊。
圖5是表示將重命名對象的打印機(jī)驅(qū)動器模塊以什么樣的名稱拷貝到OS的系統(tǒng)目錄中的表。具體來講,就是將這里所寫的4位16進(jìn)制數(shù)附加于在驅(qū)動器組件中所包括的模塊名之后。
在此,分別對驅(qū)動器名“PrinterMakerAiR1600-2000PCL5e”的模塊附加“F0E5”,對“PrinterMakerAiR2200-3300PCL5e”附加“617E”,對“PrinterMakerAiR400PCL5e”附加“CA5C”,對“PrinterMakerAiR5000-6000PCL5e”附加“9926”,對“PrinterMakerAiR5000-6000-L1PCL5e”附加“1579”,對“PrinterMakerAiR7200PCL5e”附加“FAEA”,對“PrinterMakerAiR7200-M1PCL5e”附加“D6F1”。這里,PrinterMakerA是打印機(jī)制造商名,iR1600-2000是指打印機(jī)的機(jī)型名,PCL是打印機(jī)語言。設(shè)驅(qū)動器名以此順序進(jìn)行排列。
例如,在PrinterMakerAiR1600-2000PCL5e驅(qū)動器的情況下,圖形驅(qū)動器成為CNP5EE_F0E5.DLL,用戶接口驅(qū)動器成為CNP5EEUI_F0E5.DLL,資源文件成為CNP5E809_F0E5.DLL。在PrinterMakerAiR7200PCL5e驅(qū)動器的情況下,圖形驅(qū)動器成為CNP5EE_FAEA.DLL,用戶接口驅(qū)動器成為CNP5EEUI_FAEA.DLL,資源文件成為CNP5E809_FAEA.DLL。
在PrinterMakerAiR5000-6000-L1PCL5e驅(qū)動器的情況下,決定如下圖形驅(qū)動器成為CNP5EE_1579.DLL,用戶接口驅(qū)動器成為CNP5EEUI_1579.DLL,資源文件成為CNP5E809_1579.DLL。
此低4位(在2進(jìn)制數(shù)中可用4比特表示)數(shù)字,由叫做CRC.exe的程序工具所生成。使用此工具,可從打印機(jī)驅(qū)動器的友好名生成任意的4位16進(jìn)制數(shù)。這里例如,之所以不從最初將PrinterMakerAiR1600-2000PCL5e的末尾決定為“111”、不從最初將PrinterMakerAiR7200PCL5e的末尾決定為“222”,是因?yàn)槿绻麤Q定,就需要在程序內(nèi)進(jìn)行持有機(jī)型名和模塊變更名的表的重命名例程等的硬編碼,每當(dāng)追加機(jī)型時(shí),都必須進(jìn)行程序修正(追加)。還因?yàn)榕c此相比,如果使用工具從打印機(jī)友好名來生成驅(qū)動器模塊名,則具有僅通過作為后述的外部文件的INF文件的修正,就可進(jìn)行機(jī)型追加的效果。
圖19是表示存儲在圖1的主機(jī)3000的HD1中、讀出到RAM進(jìn)行執(zhí)行的驅(qū)動器安裝程序以及OS的模塊的一例的圖。1901是驅(qū)動器模塊組,保存有多個機(jī)型和名稱的驅(qū)動器。驅(qū)動器安裝程序是用于安裝驅(qū)動器的控制程序,讀出作為控制驅(qū)動器安裝程序用的設(shè)定文件的一個INF文件1907,并據(jù)此來控制系統(tǒng)安裝程序1905及OS的重命名單元1906。盡管被寫作重命名單元,但在這里OS的一般的文件處理功能,例如在OS的文件系統(tǒng)中的,文件生成、文件名變更、文件移動等功能,都稱為重命名單元1906。驅(qū)動器安裝程序1902通過調(diào)用系統(tǒng)安裝程序1905的API,來控制系統(tǒng)安裝程序1905,將驅(qū)動器模塊組拷貝到OS管理的系統(tǒng)目錄1904中,同時(shí)將所安裝的模塊信息登錄到注冊表1903中。注冊表是OS管理的數(shù)據(jù)結(jié)構(gòu)。OS通過讀出此區(qū)域,就能夠識別什么樣的驅(qū)動器被安裝、怎樣進(jìn)行設(shè)定。
接著,說明在安裝時(shí)對打印機(jī)驅(qū)動器的模塊組,進(jìn)行名稱變更的INF文件的記述方法。這里,使用叫做CRC.exe的,當(dāng)輸入特定的字符串時(shí)就生成與預(yù)定的字符串一一對應(yīng)的16進(jìn)制數(shù)的工具,來創(chuàng)建與機(jī)型名對應(yīng)的16進(jìn)制數(shù)。設(shè)友好名在這里用打印機(jī)制造商名、機(jī)型名、打印機(jī)語言(打印機(jī)語言版本名)進(jìn)行表示。圖6和圖7的INF文件是針對特定的OS來進(jìn)行記述的。INF文件預(yù)先存儲于圖1的HD1中,相當(dāng)于圖19的1907。對驅(qū)動器安裝程序1902的執(zhí)行進(jìn)行響應(yīng),被讀取到驅(qū)動器安裝程序中。INFFile的實(shí)例為圖6和圖7,當(dāng)摘錄出必要的地方時(shí)則成為下面那樣。
;Identfication#PCL5eUK;IR8500E287;LBP-2000441B[IR8500]CNP5EE_E287.DLLCNP5EE.DLL
CNP5EEUI_E287.DLLCNP5EEUI.DLLCNP5E409_E287.DLLCNP5E409.DLL[IR8500_DATA]DriverFile=CNP5EE_E287.DLLConfigFile=CNP5EEUI_E287.DLL[LB2000]CNP5EE_441B.DLLCNP5EE.DLLCNP5EEUI_441B.DLLCNP5EEUI.DLLCNP5E409_441B.DLLCNP5E409.DLL[LB2000_DATA]DriverFile=CNP5EE_441B.DLLConfigFile=CNP5EEUI_441B.DLL對上述INF文件追加說明。IR8500(iR8500)、LB2000是某打印機(jī)的機(jī)型名。這里,顯示出IR8500對應(yīng)編號E287,LBP-2000對應(yīng)編號441B的情形。這些編號使用CRC.exe來進(jìn)行生成。
由接著大括號[]所括起來的字符串稱為標(biāo)簽。為了說明機(jī)型IR8500,來查看[IR8500]的內(nèi)容。當(dāng)查看[IR8500]的設(shè)定內(nèi)容的第一行時(shí),寫在右側(cè)的模塊,也就是CNP5EE.DLL,為驅(qū)動器組所包括的原始的驅(qū)動器模塊名稱,寫在左側(cè)的名稱也就是CNP5EEUI_E287.DLL,為拷貝到OS的系統(tǒng)目錄中的重命名后的名稱。也就是,意味著將當(dāng)前在安裝組件中所保存的模塊CNP5EE.DLL,以CNP5EEUI_E287.DLL這個名稱拷貝到將要安裝目錄中進(jìn)行安裝。[IR8500]設(shè)定內(nèi)容的第2、3行中所記載的模塊(CNP5EEUI.DLL、CNP5E409.DLL)也同樣如此。
接著,為了考慮機(jī)型LB2000,對標(biāo)簽[LB2000]的設(shè)定內(nèi)容進(jìn)行查看。CNP5EE.DLL被記載成作為CNP5EE_441B.DLL來進(jìn)行拷貝。[LB2000]設(shè)定內(nèi)容的第2、3行中所記載的模塊(CNP5EEUI.DLL、CNP5E409.DLL)也同樣如此。
這樣,只要按對應(yīng)的各機(jī)型數(shù)量進(jìn)行上述記述,則關(guān)于在驅(qū)動器模塊組中包括的模塊組之一的模塊,即使是通用模塊,被拷貝到OS的系統(tǒng)目錄中的模塊,也被重命名,并與機(jī)型數(shù)量相應(yīng)地進(jìn)行拷貝(CNP5EE_441B.DLL)。也就是,如果對CNP5EE.DLL進(jìn)行說明,則在IR8500中被重命名成CNP5EEUI_E287.DLL模塊名,在LB2000中被重命名成CNP5EE_441B.DLL模塊名后,被拷貝到OS的系統(tǒng)目錄中。即使是以往在多個機(jī)型中作為通用模塊來進(jìn)行管理的模塊,由于也被重命名成因各機(jī)型而異的模塊名后進(jìn)行安裝,所以即使對特定機(jī)型的驅(qū)動器進(jìn)行了版本升級,與版本升級無關(guān)的別的機(jī)型的驅(qū)動器也不會受到被蓋寫等用戶不希望的影響。
圖8是表示由于安裝時(shí)對重命名對象模塊的名稱進(jìn)行了變更的結(jié)果為,構(gòu)成打印機(jī)驅(qū)動器的模塊組對每個機(jī)型進(jìn)行安裝互不干涉,所以安裝后的系統(tǒng)重新啟動的必要性減少的情況的圖。這是本實(shí)施形式的目的之一,使將多個對應(yīng)機(jī)型組合到一個安裝套件的形式的缺點(diǎn)之一得以解決。當(dāng)將多個對應(yīng)機(jī)型組合到一個安裝套件時(shí),由于盡管安裝有新的打印機(jī)驅(qū)動器,已安裝在PC中的既存模塊也被蓋寫,所以安裝后系統(tǒng)需要重新啟動。但是,通過提供本實(shí)施形式的發(fā)明,就成為如下那樣。
如圖8表中所寫那樣,當(dāng)在安裝有PrinterMakerAiR8500PCL5ev5.30驅(qū)動器的個人計(jì)算機(jī)中,安裝了相同版本的PrinterMakerAiR7200PCL5ev5.30驅(qū)動器的情況下,通過本實(shí)施形式的應(yīng)用,作為驅(qū)動器的基本功能的,當(dāng)打印一旦被執(zhí)行時(shí)就連續(xù)地裝入到OS的系統(tǒng)的模塊,在PrinterMakerAiR8500PCL5ev5.30驅(qū)動器和PrinterMakerAiR7200PCL5ev5.30驅(qū)動器中就有所不同,所以就不需要PrinterMakerAiR7200PCL5ev5.30驅(qū)動器安裝后的重新啟動。
另外,通過本發(fā)明的實(shí)施形式的應(yīng)用,即使在與上述相同環(huán)境中,安裝不同版本的PrinterMakerAiR7200PCL5ev5.40驅(qū)動器,作為驅(qū)動器的基本功能的,當(dāng)打印一旦被執(zhí)行就連續(xù)地裝入到OS的系統(tǒng)的模塊,在PrinterMakerAiR8500PCL5ev5.30驅(qū)動器和PrinterMakerAiR7200PCL5ev5.40驅(qū)動器中就有所不同,所以也不需要PrinterMakerAiR7200PCL5ev5.40驅(qū)動器安裝后的重新啟動。
如上那樣,通過在安裝時(shí)按照一定的規(guī)則對將要安裝的打印機(jī)驅(qū)動器的模塊組的名稱進(jìn)行變更,不僅能夠創(chuàng)建開發(fā)效率高的不同機(jī)型的驅(qū)動器,還可將不希望的系統(tǒng)重新啟動限于最小限度。
下面,對第一實(shí)施形式的變形例進(jìn)行敘述。在下面的各實(shí)施形式中,安裝的前提,特別是關(guān)于圖1至圖4、圖19,都如第一實(shí)施形式所述那樣。主要說明與第一實(shí)施形式不同的部分。
(第二實(shí)施形式)下面,安裝系統(tǒng)的前提,如圖1至圖4、圖19的第一實(shí)施形式中所述那樣,省略記述。在下面的實(shí)施形式中,記述別的重命名的一例。圖9是表示以什么樣的名稱將重命名對象打印機(jī)驅(qū)動器模塊拷貝到OS的系統(tǒng)目錄中的表。另外,在表中,驅(qū)動器對象文件只記載著圖形驅(qū)動器。圖9中,重命名形式為“重命名后名稱=重命名前名稱+‘_’+機(jī)型名”。
例如,在PrinterMakerAiR1600-2000PCL5e驅(qū)動器的情況下,則成為如下那樣。首先,圖形驅(qū)動器成為“CNP5EE_PrinterMakerAiR1600-2000PCL5e.DLL”,用戶接口驅(qū)動器成為“CNP5EEUI_PrinterMakerAiR1600-2000PCL5e.DLL”,資源文件成為“CNP5E809_PrinterMakerAiR1600-2000PCL5e.DLL”。
另外,在PrinterMakerAiR7200PCL5e驅(qū)動器的情況下,則成為如下那樣。首先,圖形驅(qū)動器成為“CNP5EE_PrinterMakerAiR7200PCL5e.DLL”,用戶接口驅(qū)動器成為“CNP5EEUI_PrinterMakerAiR7200PCL5e.DLL”,資源文件成為“CNP5E809_PrinterMakerAiR7200PCL5e.DLL”。
在PrinterMakerAiR5000-6000-L1PCL5e驅(qū)動器的情況下,則圖形驅(qū)動器成為“CNP5EE_PrinterMakerAiR5000-6000-L1PCL5e.DLL”,用戶接口驅(qū)動器成為“CNP5EEUI_PrinterMakerAiR5000-6000-L1PCL5e.DLL”,資源文件成為“CNP5E809_PrinterMakerAiR5000-6000-L1PCL5e.DLL”。
另外,添加機(jī)型名的位置及連接重命名的前名稱與機(jī)型名的連接的字符串等都不重要,只有添加機(jī)型名是重要的。例如,是用“重命名后名稱=重命名前名稱+‘@’+機(jī)型名”的方法,還是用“重命名后名稱=機(jī)型名+‘_’+重命名前名稱”的方法都沒關(guān)系。
這里,之所以不從最初決定重命名后的名稱,是因?yàn)槿绻麤Q定,則需要在程序內(nèi)進(jìn)行硬編碼,每當(dāng)追加機(jī)型時(shí),都必須進(jìn)行程序修正(追加)。與此相比,如果從打印機(jī)驅(qū)動器的機(jī)型名來生成驅(qū)動器模塊名,則僅通過作為外部文件的INF文件的修正,就可進(jìn)行機(jī)型追加。不需要程序的修正。
接著,說明在安裝時(shí)對打印機(jī)驅(qū)動器的模塊組進(jìn)行名稱變更的INFFile的記述方法。INFFile的實(shí)例如圖10和圖11所示,當(dāng)摘錄出必要的地方時(shí)則成為下面那樣。
“PrinterMakerAiR8500PCL5e”=IR8500,PrinterMakerAiR8500059D[IR8500]CopyFiles=IR8500_FILESPCL5E_FILESDataFile=IR8500PU.XPDDataSection=IR8500_DATA[IR8500_DATA]DriverFile=“CNP5EE_PrinterMakerAiR8500PCL5e.DLL”ConfigFile=“CNP5EEUI_PrinterMakerAiR8500PCL5e.DLL”HelpFile=CNL4J.HLP[IR8500_FILES]“CNP5EE_PrinterMakerAiR8500PCL5e.DLL”CNP5EE.DLL“CNP5EEUI_PrinterMakerAiR8500PCL5e.DLL”CNP5EEUI.DLL“CNP5E409_PrinterMakerAiR8500PCL5e.DLL”CNP5E409.DLL在上述[IR8500_FILES]中,寫在右側(cè)的為并入驅(qū)動器組的原始的驅(qū)動器模塊名稱,寫在左側(cè)的名稱是拷貝到Windows(R)的系統(tǒng)目錄中的重命名后的名稱。這樣,只要與對應(yīng)的各機(jī)型數(shù)量相應(yīng)地進(jìn)行上述記述,則即使在驅(qū)動器組中包括的模塊組是一種,拷貝到OS的系統(tǒng)目錄中的模塊也與機(jī)型數(shù)量相應(yīng)地存在。
(第三實(shí)施形式)圖12是表示以什么樣的名稱將重命名對象打印機(jī)驅(qū)動器模塊,拷貝到Windows(R)的系統(tǒng)目錄中的表。重命名對象模塊被附加GUID(GlobalUniquelD),進(jìn)行名稱變更。由于GUID是每次安裝都進(jìn)行生成,所以每次安裝時(shí)都唯一。因此,并不是每次都按圖12所示重命名后的文件名那樣進(jìn)行重命名。這里示出重命名形式的一例。在圖12中,重命名形式為“重命名后名稱=重命名前名稱+‘_’+GUID”。例如,作為具有唯一性信息的理想例子的GUID,可將主機(jī)網(wǎng)卡的MAC地址進(jìn)行了編碼的地址和安裝的執(zhí)行開始時(shí)刻組合起來生成。
例如,在PrinterMakerAiR1600-2000PCL5e.DLL的情況下,圖形驅(qū)動器成為“CNP5EE_1B3ADB36-3C65-4f8d-AFC9-AFB020463D5D.DLL”,用戶接口驅(qū)動器成為“CNP5EEUI_1B3ADB36-3C65-4f8d-AFC9-AFB020463D5D.DLL”,資源文件成為“CNP5E809_1B3ADB36-3C65-4f8d-AFC9-AFB020463D5D.DLL”。
在PrinterMakerAiR7200PCL5e驅(qū)動器的情況下,圖形驅(qū)動器成為“CNP5EE_D06A99AC-4BB7-44ed-AEC3-BEF2DBCB5BBC.DLL”,用戶接口驅(qū)動器成為“CNP5EEUI_D06A99AC-4BB7-44ed-AEC3-BEF2DBCB5BBC.DLL”,資源文件成為“CNP5E809_D06A99AC-4BB7-44ed-AEC3-BEF2DBCB5BBC.DLL”。
在PrinterMakerAiR5000-6000-L1PCL5e驅(qū)動器的情況下,圖形驅(qū)動器成為“CNP5EE_590C71FD-D88A-4e90-B72A-C40CBB73D28D.DLL”,用戶接口驅(qū)動器成為“CNP5EEUI_590C71FD-D88A-4e90-B72A-C40CBB73D28D.DLL”,資源文件成為“CNP5E809_590C71FD-D88A-4e90-B72A-C40CBB73D28D.DLL”。
此外,重要點(diǎn)之一是附加機(jī)型名和版本數(shù),而不是連接重命名前的名稱與GUID的字符串等。例如,是用“重命名后名稱=重命名前名稱+‘@’+GUID”的方法,還是用“重命名后名稱=GUID+‘_’+重命名前名稱”的方法,都沒關(guān)系。
由于GUID每次安裝時(shí)都生成,所以可保證重命名后的名稱是唯一的。安裝程序在生成GUID,按上述規(guī)則對各模塊進(jìn)行重命名安裝時(shí),將重命名所使用的GUID寫入到注冊表。另外,由于打印機(jī)驅(qū)動器重命名后的名稱是動態(tài)并唯一地進(jìn)行決定,所以不能從最初進(jìn)行決定。于是通過參照在安裝時(shí)由安裝程序?qū)懭氲阶员淼腉UID,就可得到被重命名的各模塊的名稱。因此,用于機(jī)型追加的程序修正就不再需要。
(第四實(shí)施形式)圖13是表示將重命名對象打印機(jī)驅(qū)動器模塊以什么樣的名稱拷貝到OS的系統(tǒng)目錄中的表。另外,在表中驅(qū)動器對象文件僅記載版本5.30的圖形驅(qū)動器。
在圖13中,重命名形式為“重命名后名稱=重命名前名稱+‘_’+機(jī)型名+‘_’+版本數(shù)”。
例如,在PrinterMakerAiR1600-2000PCL5e驅(qū)動器的情況下,圖形驅(qū)動器(版本5.30)被重命名為“CNP5EE_PrinterMakerAiR1600-2000PCL5e_530.DLL”,用戶接口驅(qū)動器(版本5.30)被重命名為“CNP5EEUI_PrinterMakerAiR1600-2000PCL5e_530.DLL”,資源文件(版本5.30)被重命名為“CNP5E809_PrinterMakerAiR1600-2000PCL5e_530.DLL”。
在PrinterMakerAiR7200PCL5e驅(qū)動器的情況下,圖形驅(qū)動器被重命名為“CNP5EE_PrinterMakerAiR7200PCL5e_530.DLL”,用戶接口驅(qū)動器被重命名為“CNP5EEUI_PrinterMakerAiR7200PCL5e_530.DLL”,資源文件被重命名為“CNP5E809_PrinterMakerAiR7200PCL5e_530.DLL”。
在PrinterMakerAiR5000-6000-L1PCL5e驅(qū)動器的情況下,圖形驅(qū)動器(版本5.40)被重命名為“CNP5EE_PrinterMakerAiR5000-6000-L1PCL5e_540.DLL”,用戶接口驅(qū)動器(版本5.40)被重命名為“CNP5EEUI_PrinterMakerAiR5000-6000-L1PCL5e_540.DLL”,資源文件(版本5.40)被重命名為“CNP5E809_PrinterMakerAiR5000-6000-L1PCL5e_540.DLL”。
此外,附加機(jī)型名的位置、附加版本數(shù)的位置及連接重命名的前名稱與機(jī)型名的字符串等都不重要,重要點(diǎn)之一是附加機(jī)型名和版本數(shù)。例如,是用“重命名后名稱=重命名前名稱+‘@’+機(jī)型名+‘@’+版本數(shù)”的方法,還是用“重命名后名稱=機(jī)型名+‘_’+版本數(shù)+‘_’+重命名前名稱”的方法,都沒關(guān)系。
這里,之所以不使用機(jī)型名和版本數(shù)不從最初決定重命名后的名稱,是因?yàn)槿绻麤Q定,就需要在程序內(nèi)進(jìn)行硬編碼,每當(dāng)追加機(jī)型時(shí),都必須進(jìn)行程序修正(追加)。與此相比,如果從打印機(jī)驅(qū)動器的機(jī)型名和版本數(shù)生成驅(qū)動器模塊名,則僅通過作為外部文件的INF文件的修正,就可進(jìn)行機(jī)型追加。不需要程序的修正。
接著,說明在安裝時(shí)對打印機(jī)驅(qū)動器的模塊組進(jìn)行名稱變更的INFFile的記述方法。INF文件的實(shí)例如圖14和圖15所示,當(dāng)摘錄出必要的地方時(shí)則成為下面那樣。
“PrinterMakerAiR8500PCL5e”=IR8500,PrinterMakerAIR8500059D[IR8500]
CopyFiles=IR8500_FILESPCL5E_FILESDataFile=IR8500PU.XPDDataSection=IR8500_DATA[IR8500_DATA]DriverFile=“CNP5EE_PrinterMakerAiR8500PCL5e_530.DLL”ConfigFile=“CNP5EEUI_PrinterMakerAiR8500PCL5e_530.DLL”HelpFile=CNL4J.HLP[IR8500_FILES]“CNP5EE_PrinterMakerAiR8500PCL5e_530.DLL”CNP5EE.DLL“CNP5EEUI_PrinterMakerAiR8500PCL5e_530.DLL”CNP5EEUI.DLL“CNP5E409_PrinterMakerAiR8500PCL5e_530.DLL”CNP5E409.DLL在上述[IR8500_FILES]中,寫在右側(cè)的為并入驅(qū)動器組的原始的驅(qū)動器模塊名稱,寫在左側(cè)的名稱是拷貝到OS的系統(tǒng)目錄中的重命名后的名稱。這樣,只要與對應(yīng)的各機(jī)型數(shù)量相應(yīng)地進(jìn)行上述記述,則即使在驅(qū)動器組中包括的模塊組是一種,拷貝到OS的系統(tǒng)目錄中的模塊也與機(jī)型數(shù)量相應(yīng)地存在。
圖8是表示由于安裝時(shí)對重命名對象模塊的名稱進(jìn)行了變更的結(jié)果為,構(gòu)成打印機(jī)驅(qū)動器的模塊組對每個機(jī)型進(jìn)行安裝互不干涉,所以安裝后的系統(tǒng)重新啟動的必要性減少的情況的圖。這表示能夠使將多個對應(yīng)機(jī)型組合到一個安裝套件的形式的缺點(diǎn)之一得以解決。使如下問題得以解決當(dāng)將多個對應(yīng)機(jī)型組合到一個安裝套件時(shí),由于盡管安裝有新的打印機(jī)驅(qū)動器,已安裝在PC中的既存模塊也被蓋寫,所以安裝后系統(tǒng)需要重新啟動。
如圖8表中所寫那樣,即使在安裝有PrinterMakerAiR8500PCL5ev5.30驅(qū)動器的個人計(jì)算機(jī)中,安裝了相同版本的PrinterMakerAiR7200PCL5ev5.30驅(qū)動器,作為驅(qū)動器的基本功能的,當(dāng)打印一旦被執(zhí)行時(shí)就連續(xù)地裝入到Windows(R)系統(tǒng)的模塊,在PrinterMakerAiR8500PCL5ev5.30驅(qū)動器和PrinterMakerAiR7200PCL5ev5.30驅(qū)動器中就有所不同,所以就不需要PrinterMakerAiR7200PCL5ev5.30驅(qū)動器安裝后的重新啟動。另外,即使在與上述相同環(huán)境中,安裝不同版本的PrinterMakerAiR7200PCL5ev5.40驅(qū)動器,作為驅(qū)動器的基本功能的,當(dāng)打印一旦被執(zhí)行就連續(xù)地裝入到Windows(R)系統(tǒng)的模塊,在PrinterMakerAiR8500PCL5ev5.30驅(qū)動器和PrinterMakerAiR7200PCL5ev5.40驅(qū)動器中就有所不同,所以也不需要PrinterMakerAiR7200PCL5ev5.40驅(qū)動器安裝后的重新啟動。
如上那樣,通過在安裝時(shí)按照打印機(jī)驅(qū)動器的機(jī)型名和驅(qū)動器版本數(shù)對將要安裝的打印機(jī)驅(qū)動器的模塊組的名稱進(jìn)行變更,不僅能夠創(chuàng)建開發(fā)效率高的各種機(jī)型的驅(qū)動器,還可將不希望的系統(tǒng)重新啟動止于最小限度。
如以上說明那樣,利用第四實(shí)施形式的打印機(jī)驅(qū)動器的安裝裝置,通過在將打印機(jī)驅(qū)動器安裝到個人計(jì)算機(jī)等信息處理裝置中時(shí),按照驅(qū)動器的機(jī)型名及版本數(shù)在安裝時(shí)對將要安裝的模塊組的名稱進(jìn)行變更,就可將對應(yīng)的全部機(jī)型通用的驅(qū)動器模塊組,以對每個機(jī)型且每個版本不同的名稱來進(jìn)行安裝,所以不僅能夠創(chuàng)建開發(fā)效率極高的不同機(jī)型且不同版本的驅(qū)動器,還可幾乎完全阻止不希望的系統(tǒng)重新啟動。
(第五實(shí)施形式)圖16是表示將重命名對象打印機(jī)驅(qū)動器模塊,以什么樣的名稱拷貝到Windows(R)的系統(tǒng)目錄中的表。在圖16中,重命名形式為“重命名后的名稱=重命名前的名稱+‘_’+打印機(jī)驅(qū)動器數(shù)據(jù)文件中記述的數(shù)值”。打印機(jī)驅(qū)動器數(shù)據(jù)文件是存儲有用于設(shè)定打印機(jī)驅(qū)動器的信息的文件,這里,存儲有上述對應(yīng)于重命名用的各驅(qū)動器模塊名的表。
例如,在PrinterMakerAiR1600-2000PCL5e驅(qū)動器的情況下,圖形驅(qū)動器成為CNP5EE_0.DLL,用戶接口驅(qū)動器成為CNP5EEUI_0.DLL,資源文件成為CNP5E809_0.DLL。
在PrinterMakerAiR7200PCL5e的情況下,圖形驅(qū)動器成為CNP5EE_5.DLL,用戶接口驅(qū)動器成為CNP5EEUI_5.DLL,資源文件成為CNP5E809_5.DLL。
在PrinterMakerAiR5000-6000-L1PCL5e的情況下,圖形驅(qū)動器成為CNP5EE_4.DLL,用戶接口驅(qū)動器成為CNP5EEUI_4.DLL,資源文件成為CNP5E809_4.DLL。
這些名稱變更后的名稱,也記述在驅(qū)動器數(shù)據(jù)文件中。必須使打印機(jī)驅(qū)動器數(shù)據(jù)文件中所記述的名稱變更后的名稱,和INF文件所記述的名稱變更后的名稱一致。由此,因?yàn)榇蛴C(jī)驅(qū)動器可從驅(qū)動器數(shù)據(jù)文件讀取名稱變更后的名稱,故不必將名稱變更后的名稱硬編碼到程序內(nèi)。即,每當(dāng)追加機(jī)型時(shí),不必進(jìn)行程序修正(追加)。僅通過作為外部文件的INF文件和驅(qū)動器數(shù)據(jù)文件的修正,就可進(jìn)行機(jī)型追加。
接著,說明在安裝時(shí)對打印機(jī)驅(qū)動器的模塊組進(jìn)行名稱變更的INFFile的記述方法。INF文件的實(shí)例如圖17和圖18所示,當(dāng)摘錄出必要的地方時(shí)則成為下面那樣。
IR8500PK.XPDCNP5EE_8.DLL,CNP5EE.DLLCNP5EEUI_8.DLL,CNP5EEUI.DLLCNP5E809_8.DLL,CNP5E809.DLL[LB2000]LB2000PK.XPDCNP5EE_15.DLL,CNP5EE.DLLCNP5EEUI_15.DLL,CNP5EEUI.DLLCNP5E809_15.DLL,CNP5E809.DLL寫在右側(cè)的為并入驅(qū)動器組的原始的驅(qū)動器模塊名稱,寫在左側(cè)的名稱是拷貝到OS的系統(tǒng)目錄中的重命名后的名稱。前面所說的打印機(jī)驅(qū)動器數(shù)據(jù)文件是指IR8500PK.XPD和LB2000PK.XPD。這樣,只要與對應(yīng)的各機(jī)型數(shù)量相應(yīng)地進(jìn)行上述記述,則即使在驅(qū)動器組中包括的模塊組是一種,拷貝到OS的系統(tǒng)目錄中的模塊也與機(jī)型數(shù)量相應(yīng)地存在。
(其它實(shí)施形式)盡管在前面所述的實(shí)施形式中,對從OS的打印機(jī)文件夾安裝打印機(jī)驅(qū)動器的情況進(jìn)行了記述,但這也可以用單獨(dú)提供的安裝程序來進(jìn)行。具體來說,只要在單獨(dú)提供的安裝程序中,將驅(qū)動器模塊名以驅(qū)動器INF為基礎(chǔ)進(jìn)行變更,將名稱變更后的驅(qū)動器模塊用OS的API來進(jìn)行安裝,就可以進(jìn)行本實(shí)施例中所述的不同機(jī)型的安裝,能夠提供與從OS的打印機(jī)文件夾的安裝完全相同的功能。
本實(shí)施形式中的各種處理,也可以通過從外部安裝的程序,由客戶設(shè)備1000和打印機(jī)1001等各自的設(shè)備來執(zhí)行。另外,在此情況下,本發(fā)明也可應(yīng)用于從CD-ROM、閃存和FD等存儲介質(zhì),或者通過網(wǎng)絡(luò)從外部的存儲介質(zhì),將包含程序的信息組提供給主機(jī)的情況。
如上面那樣無需贅言,本發(fā)明的目的也可以這樣達(dá)到,通過將記錄了實(shí)現(xiàn)上述實(shí)施形式的功能的軟件程序代碼的存儲介質(zhì)提供給系統(tǒng)或者裝置,或者從外部服務(wù)器下載(省略圖示)下載,該系統(tǒng)或者裝置的計(jì)算機(jī)(或者CPU和MPU),讀出并執(zhí)行保存在存儲介質(zhì)中的程序代碼。
這種情況下,就成了從存儲介質(zhì)讀出的程序代碼自身將實(shí)現(xiàn)本發(fā)明的新功能,存儲了該程序代碼的存儲介質(zhì)將構(gòu)成本發(fā)明。作為用于提供程序代碼的存儲介質(zhì),例如可以使用,軟盤、硬盤、光盤、磁光盤、DVD、CD-ROM、CD-R、磁帶、非易失性存儲卡、ROM、EEPROM等。
另外無需贅言,不僅包含通過計(jì)算機(jī)執(zhí)行所讀出的程序代碼,上述的實(shí)施形式的功能得以實(shí)現(xiàn)的情況,也包含基于該程序代碼的指示,在計(jì)算機(jī)上運(yùn)行的OS(操作系統(tǒng))等進(jìn)行實(shí)際處理的一部分或者全部,通過該處理前面所說的實(shí)施形式的功能得以實(shí)現(xiàn)的情況。進(jìn)而無需贅言,也包含當(dāng)從存儲介質(zhì)讀出的程序代碼,被寫入到插入計(jì)算機(jī)的功能擴(kuò)充板和/或連接到計(jì)算機(jī)的功能擴(kuò)充單元上所具備的存儲器以后,基于該程序代碼的指示,該功能擴(kuò)充板和/或功能擴(kuò)充單元上所具備的CPU等進(jìn)行實(shí)際處理的一部分或者全部,通過該處理前面所說的實(shí)施形式的功能得以實(shí)現(xiàn)的情況。
此外,無需贅言只要使用上述的第一至第五的各實(shí)施形式,則如圖8那樣,重新啟動的必要性將會降低。例如,利用本發(fā)明各實(shí)施形式的打印機(jī)驅(qū)動器的安裝裝置,通過在將打印機(jī)驅(qū)動器安裝到個人計(jì)算機(jī)等信息處理裝置中時(shí),按照一定的規(guī)則在安裝時(shí)對將要安裝的模塊組的名稱進(jìn)行變更,就可將對應(yīng)的全部機(jī)型通用的驅(qū)動器模塊組,以對每個機(jī)型不同的名稱來進(jìn)行安裝,不僅能夠創(chuàng)建開發(fā)效率高的不同機(jī)型的驅(qū)動器,還可將不希望的系統(tǒng)重新啟動止于最小限度。
如以上說明那樣,根據(jù)本發(fā)明的一個側(cè)面,由于使用在進(jìn)行安裝時(shí)所生成的,具有唯一性的識別信息來變更驅(qū)動器模塊組的識別信息,故可防止驅(qū)動器意料之外的蓋寫更新處理。
權(quán)利要求
1.一種信息處理裝置,可搭載包含通用模塊的、對應(yīng)第一外圍設(shè)備的第一控制程序,和控制第二外圍設(shè)備的第二控制程序,該裝置包括決定裝置,決定各通用模塊的識別信息,使得作為上述第一控制程序的一部分而動作的通用模塊的識別信息,與作為上述第二控制程序的一部分而動作的通用模塊的識別信息不同。
2.根據(jù)權(quán)利要求1所述的信息處理裝置,其特征在于還包括導(dǎo)入控制裝置,基于由上述決定裝置所決定的各自的識別信息,使控制上述外圍設(shè)備的第一控制程序和第二控制程序的通用模塊作為不同的模塊導(dǎo)入,以便分別對應(yīng)上述第一外圍設(shè)備和上述第二外圍設(shè)備。
3.根據(jù)權(quán)利要求1所述的信息處理裝置,其特征在于上述決定裝置,基于表示上述第一外圍設(shè)備的信息,決定作為上述第一控制程序的一部分而動作的通用模塊的識別信息;基于表示上述第二外圍設(shè)備的信息,決定作為上述第二控制程序的一部分而動作的上述通用模塊的識別信息。
4.根據(jù)權(quán)利要求1所述的信息處理裝置,其特征在于還包括生成裝置,對執(zhí)行控制程序的安裝進(jìn)行響應(yīng),生成具有唯一性的識別信息;上述決定裝置,基于上述生成裝置所生成的具有唯一性的信息,來決定作為上述第一控制程序的一部分而動作的通用模塊的識別信息,和作為上述第二控制程序的一部分而動作的上述通用模塊的識別信息。
5.根據(jù)權(quán)利要求1所述的信息處理裝置,其特征在于上述通用模塊的識別信息,是由搭載于上述信息處理裝置中的操作系統(tǒng)所管理的上述通用模塊的名稱;還包括控制裝置,控制操作系統(tǒng)以便基于由上述決定裝置所決定的各自的識別信息,來變更對應(yīng)各自外圍設(shè)備的通用模塊的名稱。
6.根據(jù)權(quán)利要求1所述的信息處理裝置,其特征在于還包括識別裝置,識別在上述通用模塊中被連續(xù)地裝入到操作系統(tǒng)的模塊;上述決定裝置,決定變更后的該通用模塊的識別信息以便有選擇地變更由上述識別裝置所識別的通用模塊的識別信息。
7.根據(jù)權(quán)利要求1所述的信息處理裝置,其特征在于上述決定裝置,對執(zhí)行安裝進(jìn)行響應(yīng),基于在該安裝時(shí)作為唯一的識別信息所生成的具有唯一性的識別信息來決定通用模塊的識別信息。
8.根據(jù)權(quán)利要求7所述的信息處理裝置,其特征在于上述具有唯一性的識別信息,基于MAC地址而生成。
9.根據(jù)權(quán)利要求7所述的信息處理裝置,其特征在于上述具有唯一性的識別信息,基于進(jìn)行安裝的時(shí)刻信息而生成。
10.根據(jù)權(quán)利要求7所述的信息處理裝置,其特征在于上述決定裝置,基于上述具有唯一性的識別信息與上述第一外圍設(shè)備的組,或者上述具有唯一性的識別信息與表示第二外圍設(shè)備的識別信息的組,來決定上述通用模塊的識別信息。
11.一種信息處理方法,可搭載包含通用模塊的、對應(yīng)第一外圍設(shè)備的第一控制程序,和控制第二外圍設(shè)備的第二控制程序,該方法包括決定步驟,決定各通用模塊的識別信息,使得作為上述第一控制程序的一部分而動作的通用模塊的識別信息,與作為上述第二控制程序的一部分而動作的通用模塊的識別信息不同。
12.根據(jù)權(quán)利要求11所述的信息處理方法,其特征在于還包括導(dǎo)入控制步驟,基于在上述決定步驟中決定的各自的識別信息,使控制上述外圍設(shè)備的第一控制程序和第二控制程序的通用模塊作為不同的模塊導(dǎo)入,以便分別對應(yīng)上述第一外圍設(shè)備和上述第二外圍設(shè)備。
13.根據(jù)權(quán)利要求11所述的信息處理方法,其特征在于上述決定步驟,基于表示上述第一外圍設(shè)備的信息,決定作為上述第一控制程序的一部分而動作的通用模塊的識別信息;基于表示上述第二外圍設(shè)備的信息,決定作為上述第二控制程序的一部分而動作的上述通用模塊的識別信息。
14.根據(jù)權(quán)利要求11所述的信息處理方法,其特征在于還包括生成步驟,對執(zhí)行控制程序的安裝進(jìn)行響應(yīng),生成具有唯一性的識別信息;上述決定步驟,基于上述生成步驟所生成的具有唯一性的信息,來決定作為上述第一控制程序的一部分而動作的通用模塊的識別信息,和作為上述第二控制程序的一部分而動作的上述通用模塊的識別信息。
15.根據(jù)權(quán)利要求11所述的信息處理方法,其特征在于上述通用模塊的識別信息,是由操作系統(tǒng)所管理的上述通用模塊的名稱;還包括控制步驟,控制操作系統(tǒng)以便基于由上述決定步驟所決定的各自的識別信息,來變更對應(yīng)各自外圍設(shè)備的通用模塊的名稱。
16.根據(jù)權(quán)利要求11所述的信息處理方法,其特征在于還包括識別步驟,識別在上述通用模塊中被連續(xù)地裝入到操作系統(tǒng)的模塊;上述決定步驟,決定變更后的該通用模塊的識別信息以便有選擇地變更由上述識別步驟所識別的通用模塊的識別信息。
17.根據(jù)權(quán)利要求11所述的信息處理方法,其特征在于上述決定步驟,對執(zhí)行安裝進(jìn)行響應(yīng),基于在該安裝時(shí)作為唯一的識別信息所生成的具有唯一性的識別信息來決定通用模塊的識別信息。
18.根據(jù)權(quán)利要求17所述的信息處理方法,其特征在于上述具有唯一性的識別信息,基于MAC地址而生成。
19.根據(jù)權(quán)利要求17所述的信息處理方法,其特征在于上述具有唯一性的識別信息,基于進(jìn)行安裝的時(shí)刻信息而生成。
20.根據(jù)權(quán)利要求17所述的信息處理方法,其特征在于上述決定步驟,基于上述具有唯一性的識別信息與上述第一外圍設(shè)備的組,或者上述具有唯一性的識別信息與表示第二外圍設(shè)備的識別信息的組,來決定上述通用模塊的識別信息。
21.一種計(jì)算機(jī)可讀取的存儲介質(zhì),存儲了控制信息處理裝置的控制程序,所述信息處理裝置可搭載包含通用模塊的、對應(yīng)第一外圍設(shè)備的第一控制程序,和控制第二外圍設(shè)備的第二控制程序,所述存儲介質(zhì)的特征在于上述控制程序,包括決定步驟,決定各通用模塊的識別信息,使得作為上述第一控制程序的一部分而動作的通用模塊的識別信息,與作為上述第二控制程序的一部分而動作的通用模塊的識別信息不同。
全文摘要
本發(fā)明提供一種信息處理裝置、信息處理方法、計(jì)算機(jī)可讀取的存儲介質(zhì),該信息處理裝置,可搭載包含通用模塊的、對應(yīng)第一外圍設(shè)備的第一控制程序,和控制第二外圍設(shè)備的第二控制程序,包括決定裝置,決定各通用模塊的識別信息,使得作為上述第一控制程序的一部分而動作的通用模塊的識別信息,與作為上述第二控制程序的一部分而動作的通用模塊的識別信息不同。
文檔編號G06F9/445GK1480840SQ0314617
公開日2004年3月10日 申請日期2003年7月25日 優(yōu)先權(quán)日2002年7月26日
發(fā)明者山村進(jìn)一, 高木義博, 博 申請人:佳能株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
舒城县| 连州市| 孝义市| 鞍山市| 乌兰县| 商河县| 崇仁县| 安陆市| 佛山市| 弋阳县| 宜兰县| 钦州市| 金湖县| 东乡族自治县| 屯昌县| 偏关县| 石首市| 临夏县| 浦北县| 渭源县| 河曲县| 铁岭市| 东平县| 四会市| 宜春市| 胶南市| 隆尧县| 大理市| 类乌齐县| 桓仁| 库车县| 高陵县| 徐州市| 工布江达县| 淮北市| 武冈市| 丹江口市| 岳阳县| 东阿县| 龙江县| 嘉义县|