本發明涉及一種用于安裝打印機驅動程序的技術。
背景技術:
日本特開2002-366502號公報討論了一種當執行對位于同一區段中的網絡打印機的搜索并且如果查找到新的網絡打印機時,用于安裝打印機驅動程序的技術。
技術實現要素:
根據本發明的一方面,一種信息處理裝置,所述信息處理裝置包括:獲取單元,其被構造為從操作系統獲取對網絡上的打印機的搜索結果,在所述搜索結果中排除了,針對各個安裝了第一類型的打印機驅動程序的打印機,以及針對各個安裝了第二類型的打印機驅動程序的打印機;識別單元,其被構造為從各個安裝了第一類型的打印機驅動程序所針對的打印機當中,識別可安裝第二類型的打印機驅動程序的打印機;以及顯示單元,其被構造為顯示由獲取單元獲取的搜索結果中包括的打印機和由識別單元識別的打印機,作為要安裝第二類型的打印機驅動程序的打印機的候選。
通過下面參照附圖對示例性實施例的描述,本發明的其他特征將變得清楚。
附圖說明
圖1是例示客戶端、服務器和打印機連接到網絡的構造的圖。
圖2是例示計算機系統的硬件和軟件的框圖。
圖3是例示安裝程序模塊的框圖。
圖4是例示wsd打印機搜索處理的流程圖。
圖5是例示安裝程序模塊的打印機搜索畫面的圖。
圖6是例示wsd打印機安裝處理的流程圖。
圖7是例示wsd打印機安裝處理的流程圖。
圖8是例示顯示詢問用戶是否刪除現有打印機隊列的消息的畫面的示例的圖。
圖9是例示wsd打印機安裝處理的流程圖。
圖10是例示請求用戶確認是否安裝v4驅動程序的畫面的示例的圖。
圖11是例示wsd打印機安裝處理的流程圖。
具體實施方式
根據操作系統的規范,當進行對打印機的搜索時,可以從通過搜索獲得的搜索結果中排除已安裝打印機驅動程序的打印機。這可能導致這樣的問題,即,用戶無法從搜索結果中選擇用戶期望安裝打印機驅動程序所針對的打印機。例如,假設用戶嘗試針對打印機安裝打印機驅動程序,并且該打印機驅動程序的類型與針對該打印機已安裝的打印機驅動程序的類型不同。在這種情況下,由于從搜索結果中排除了該打印機,因此用戶無法從搜索結果中選擇該打印機。
相反,根據本發明的示例性實施例,即使在具有上述問題的環境下,對于已經安裝了打印機驅動程序所針對的打印機,也可以安裝其他不同類型的打印機驅動程序。
從windows(注冊商標)vista引入了針對設備的web服務(在下文中也被稱為“wsd”)。wsd是用于將打印機連接到作為信息處理裝置的示例的客戶端計算機(在下文中也被稱為“個人計算機(pc)”)的構造。使用wsd的ws-發現功能,可以向pc通知能夠連接到pc的打印機。此外,在windows(注冊商標)8.1之中或之后,使用ws-發現功能可以在pc中自動安裝打印機驅動程序。
對于用戶來說在pc中自動安裝的打印機驅動程序可能不是最優的打印機驅動程序。例如,假設使用ws-發現功能將打印機驅動程序安裝在從來沒有安裝過由硬件供應商直接提供的打印機驅動程序的pc中。在這種情況下,安裝的打印機驅動程序是附裝到操作系統(os)的打印機驅動程序。
在本說明書中,描述兩種類型的打印機驅動程序。第一種類型的打印機驅動程序是附裝到os的打印機驅動程序,并被稱為“內嵌驅動程序(inboxdriver)”。這代表包括在os中或os的補丁中的設備驅動程序。由于內嵌驅動程序附裝到os,因此從用戶簡單地期望使用硬件的情況的角度來看,因為不需要單獨安裝驅動程序,所以內嵌驅動程序對用戶來說是非常方便的。然而,為了在支持os的發布之后被發布的新設備,普遍創建內嵌驅動程序。當普遍創建內嵌驅動程序時,必須限制功能的數量。結果是,一型號專用的功能可能對用戶不可用。此外,就打印質量和打印性能而言,內嵌驅動程序針對它的目標型號可能不是最優的。在將附裝到os的打印機驅動程序稱為內嵌驅動程序的同時,將由硬件供應商直接提供的打印機驅動程序稱為“外裝驅動程序(outboxdrvier)”。這是第二種類型的打印機驅動程序。為了最優地使用硬件,用戶期望安裝由硬件供應商提供的外裝驅動程序。
同時,一旦安裝了打印機的內嵌驅動程序,則os的規范禁止通過使用ws-發現功能對可應用型號的打印機的搜索。此外,在windows(注冊商標)的特定條件下,在不向用戶提供通知的情況下,內嵌驅動程序可以被自動安裝在連接到wsd端口的設備中。這防止使用ws-發現功能安裝外裝驅動程序。
在本說明書中,當安裝打印機驅動程序時,安裝程序還將已經安裝了內嵌驅動程序所針對的打印機包括在通過使用ws-發現功能搜索而獲得的打印機型號列表中。因此可以安裝外裝驅動程序。
圖1是例示打印系統的構造的示例的系統構造圖,根據本發明的第一示例性實施例的打印處理系統的pc、服務器和打印裝置可以應用到該打印系統。根據本示例性實施例的打印系統包括一個或多個客戶端計算機(在下文中被稱為pc)100(例如為每個用戶提供一個)、一個或多個服務器2000(例如,每層安裝一個)、一個或多個打印機2500(例如,每層安裝一個)。該打印系統具有這樣的構造,即,pc100、服務器2000和打印機2500經由網絡3000連接。網絡3000包括諸如個人區域網(pan)和局域網(lan)等的從小至大的網絡。上述設備連接到全部這些網絡。作為選擇,在云環境中的服務器和打印機可以連接。
wsd是用于將打印機2500網絡連接到服務器2000或pc100的打印機端口的一種類型的協議。wsd的功能之一是ws-發現功能。使用ws-發現功能,可以向pc通知能夠連接到pc的打印機。用戶能夠從搜索結果列表選擇可應用的打印機(例如,打印機2501),并且針對所選擇的打印機安裝打印機驅動程序。此外,在特定的網絡環境下,可以針對連接的打印機2501自動安裝打印機驅動程序(在下文中被簡稱為“驅動程序”)1053(圖2中例示)。
圖2是主要例示根據本示例性實施例的代表pc100的典型計算機的硬件的框圖。中央處理單元(cpu)101根據存儲在主存儲設備102的只讀存儲器(rom)1021或隨機存取存儲器(ram)1022中或存儲在輔助存儲設備105中的程序,控制整個pc100。此外,cpu101基于存儲在輔助存儲設備105中的程序而執行處理,來實現圖2中例示的pc100的軟件構造和要在下面描述的流程圖的各步驟。當cpu101進行各種類型的處理時,ram1022也被用作工作區域。輔助存儲設備105存儲包括應用程序1051、安裝程序1052、打印機驅動程序1053和os1054的各種程序。本說明書中描述的安裝程序1052是用于安裝版本4(v4)的外裝驅動程序的軟件。v4打印機驅動程序在從windows(注冊商標)8引入的新架構中運行。輸入設備經由輸入接口(i/f)103連接到pc100。輸入設備包括以鼠標和觸摸面板為代表的鍵盤108和指點設備109。諸如監視器110等的輸出設備連接到輸出i/f104并根據程序指令顯示用戶界面(ui)。經由這些輸入和輸出設備接收到針對程序的用戶操作。通信i/f106連接到網絡3000并且使得能夠與pc100的外部設備通信。外部設備的示例包括圖1中例示的任意的服務器2000和打印機2500。上述的模塊通過通用數據系統總線107連接,并且由此使得能夠交換數據。能夠經由壓縮盤只讀存儲器(cd-rom)或通用串行總線(usb)存儲器(未例示)將程序(1051至1054)添加到輔助存儲設備105。也能夠經由網絡3000將程序(1051至1054)添加到輔助存儲設備105。不言而喻的是,除非另有說明,否則本技術可以被應用到任何類型的設備構造,只要執行本技術的功能即可。可以采用任何類型的構造,包括單獨的設備、由多個設備構造的系統和經由諸如lan和廣域網(wan)等的網絡建立連接并進行處理的系統。
圖3是例示根據本示例性實施例的安裝程序模塊的框圖的示例的圖。該框圖基本上包括,網絡搜索模塊10520、驅動程序安裝模塊10521和打印機隊列安裝模塊10523。這些軟件模塊存儲在輔助存儲設備105中。響應于用戶的請求或來自其他系統的請求,這些軟件模塊任一個從輔助存儲設備105被加載到ram1022,然后由cpu101執行。
網絡搜索模塊10520包括互聯網協議版本(ipv)4搜索單元400、ipv6搜索單元401和wsd搜索單元402。網絡搜索模塊10520具有搜索經由網絡3000連接的并且能夠安裝打印機驅動程序所針對的打印機的功能。搜索協議包括ipv4、ipv6和wsd。根據用戶指令,網絡搜索模塊10520使用協議中的各個與打印機2500進行通信,并且列出各個能夠安裝打印機驅動程序的打印機型號。ipv4搜索單元400將搜索結果列表存儲進ipv4搜索結果列表403。ipv6搜索單元401將搜索結果列表存儲進ipv6搜索結果列表404。wsd搜索單元402將搜索結果列表存儲進wsd搜索結果列表405。尤其是,當使用wsd時,網絡搜索模塊10520使用稱為ws-發現的特殊方法來搜索能夠安裝打印機驅動程序所針對的打印機。當使用ws-發現時,通過使用wsd從搜索目標中排除在pc100中已經安裝了打印機驅動程序所針對的打印機。因此,這樣的打印機不被列為能夠安裝打印機驅動程序所針對的打印機。
驅動程序安裝模塊10521是用于安裝打印機驅動程序的模塊。
打印機隊列安裝模塊10523包括usb打印機安裝單元406、網絡打印機安裝單元407和wsd打印機安裝單元408。usb打印機安裝單元406提前使用驅動程序安裝模塊10521對作為目標驅動程序的打印機驅動程序1053進行安裝。然后,usb打印機安裝單元406進行usb即插即用安裝。在即插即用安裝中,當打印機2501連接到pc100時,os1054自動進行打印機驅動程序1053的安裝和設置。利用這種方法,用戶能夠通過利用線纜僅僅將pc100連接到打印機2501來使打印機驅動程序1053根據過程(procedure)自動安裝。因此,該技術提高了使用性。同樣對于wsd端口,也能夠進行即插即用安裝。在這種情況下,wsd打印機安裝單元408安裝打印機驅動程序。當使用wsd端口時,不需要連接線纜。用戶能夠僅通過從由搜索查找到的打印機的列表中,選擇打印機2501作為目標打印機,使打印機驅動程序根據過程自動安裝。
將參照圖4中例示的流程圖描述根據本示例性實施例的wsd打印機搜索處理。首先,在步驟s500中,開始流程圖中的處理。具體地,當用戶啟動安裝程序1052時,顯示改變為圖5中例示的打印機搜索畫面600。然后,用戶選擇wsd設備標簽601來發出wsd打印機搜索請求。當接收到wsd打印機搜索請求時,流程圖中的處理開始。除非另有說明,安裝程序1052進行流程圖中的各步驟。在步驟s501中,使用wsd搜索單元402的ws-發現功能并且安裝程序1052從os獲取搜索結果作為支持wsd即插即用安裝的打印機的列表。在搜索結果中,包括在網絡上的并通過搜索發現的打印機。os從查找到的打印機中排除已經在pc100中安裝內嵌驅動程序或外裝驅動程序所針對的打印機。接下來,在步驟s502中,安裝程序1052將通過搜索發現的各個打印機型號名稱添加到wsd搜索結果列表405中。wsd搜索結果列表405是用于在打印機搜索畫面600上顯示通過搜索而查找到的打印機的列表。在步驟s503中,安裝程序1052列出各自與已經安裝在pc100中的打印機驅動程序相對應的打印機隊列,并且將列出的打印機隊列存儲進存儲器作為打印機隊列列表。
在步驟s504中和后續的步驟中,安裝程序1052針對在步驟s503中列出打印機隊列中的各個進行處理。在步驟s504中,安裝程序1052檢驗在處理下的打印機隊列的信息。在步驟s505中,安裝程序1052基于在步驟s504中獲取的打印機隊列的信息,確定在處理下的打印機隊列的連接端口是否是wsd端口,以及與在處理下的打印機隊列相對應的打印機驅動程序是否是內嵌驅動程序。如果連接端口不是wsd端口或者打印機驅動程序不是內嵌驅動程序(步驟s505中為“否”),則打印機隊列與目標打印機不對應,并且因此安裝程序1052檢驗打印機隊列列表中的下一個打印機隊列。如果連接端口是wsd端口并且打印機驅動程序是內嵌驅動程序(步驟s505中為“是”),則處理進行到步驟s506。
在步驟s506中,安裝程序1052與在pc100中安裝了內嵌驅動程序所針對的打印機2501進行通信來獲取其型號名稱和即插即用標識符(pnpid)。pnpid是在即插即用安裝時唯一地識別打印機驅動程序的id。
接下來,在步驟s507中,基于獲取的pnpid,安裝程序1052檢查打印機2501是否是能夠安裝外裝驅動程序所針對的型號。pnpid是從選項中選出并設置在打印機中的id。選項包括v3和v4二者。因此,已經安裝了內嵌驅動程序所針對的打印機2501的pnpid可能不是支持v4驅動程序的pnpid。在這種情況下,即使進行了wsd即插即用安裝,v4驅動程序的安裝也會失敗。因此,需要提前檢查pnpid來查明是否能夠安裝v4外裝驅動程序。因此,能夠通過與已經安裝了內嵌驅動程序所針對的打印機進行通信,來識別能夠安裝外裝驅動程序所針對的打印機。在步驟s508中,安裝程序1052基于檢查,確定pnpid是否是與能夠安裝外裝驅動程序所針對的打印機相對應的pnpid。如果pnpid不是使得能夠安裝的pnpid(步驟s508中為“否”),則對應的打印機不是目標打印機。因此,安裝程序1052檢驗打印機隊列列表中的下一個打印機隊列。如果pnpid是使得能夠安裝的pnpid(步驟s508中為“是”),則處理進行到步驟s509。在步驟s509中,安裝程序1052基于步驟s503中列出的打印機隊列當中的對應的打印機隊列的信息,將型號名稱添加到wsd搜索結果列表405中。
在步驟s510中,安裝程序1052確定是否針對各自與安裝在pc100上的打印機驅動程序相對應的全部打印機隊列進行了上述的檢驗。當針對全部打印機隊列完成檢驗時(步驟s510中為“是”),處理進行到步驟s511。在步驟s511中,安裝程序1052顯示各個支持wsd即插即用安裝的打印機的列表602。通過步驟s502和步驟s509中的處理創建列表602。
圖5是例示作為各個支持wsd即插即用安裝的打印機的列表的示例的列表顯示畫面602的圖。在該示例中,“ir-advcxxxx”和“ir-advcyyyy”是通過ws-發現而查找到的打印機。最后一行的名為“ir-advczzzz”的打印機是通過wsd即插即用安裝已經安裝了內嵌驅動程序所針對的打印機。在本說明書中,能夠通過進行圖4中例示的步驟s509中的處理來顯示打印機如同通過ws-發現而查找到的打印機。以這種方式,從os1054獲取的結果列表中的打印機(a)和通過步驟s506和步驟s507識別的打印機(b)都能夠被顯示為要安裝外裝驅動程序所針對的打印機的候選。在圖5例示的示例中,在單個畫面上顯示打印機(a)和打印機(b)二者。然而,這些打印機可以在不同的畫面上分開的顯示。
接下來,將參照圖6中例示的流程圖描述根據本示例性實施例的使用wsd的打印機驅動程序安裝處理。在步驟s700中,在從列表顯示畫面602中選擇期望的打印機之后,當用戶按下“下一步”按鈕時,打印機驅動程序安裝處理開始。列表顯示畫面602包括由安裝程序1052在搜索中查找到的、支持wsd即插即用安裝的打印機。接下來,在步驟s701中,安裝程序1052檢查所選擇的打印機2501是否是已經安裝了內嵌驅動程序所針對的打印機。下面描述的是檢查所選擇的打印機2501是否是已經安裝了內嵌驅動程序所針對的打印機的可能的方法。首選,當在步驟s509中將打印機添加到wsd搜索結果列表405中時,設置表示安裝了內嵌驅動程序的標志。接下來,參照該標志確定所選擇的打印機是否是安裝了內嵌驅動程序所針對的打印機。然而,檢查的方法不限于該示例。
當所選擇的打印機2501不是已經安裝了內嵌驅動程序所針對的打印機時(步驟s701中為“否”),則處理進行到步驟s704。在步驟s704中,安裝程序1052進行正常wsd即插即用安裝。當所選擇的打印機2501是已經安裝了內嵌驅動程序所針對的打印機時(步驟s701中為“是”),則處理進行到步驟s702。在步驟s702中,安裝程序1052刪除對應的打印機隊列。結果是,刪除了內嵌驅動程序。在步驟s703中,安裝程序1052通過再次使用ws-發現進行的wsd設備搜索而查找到可應用的打印機2501,然后針對查找到的打印機進行wsd即插即用安裝。
以這種方式,當將已經安裝了內嵌驅動程序所針對的打印機選擇為要安裝外裝驅動程序所針對的打印機時,將內嵌驅動程序刪除。接下來,進行搜索以查找網絡上的打印機,并且針對查找到的打印機安裝外裝驅動程序。
使用上述過程,即使針對打印機2501通過wsd即插即用安裝已經安裝了內嵌驅動程序,也能夠針對打印機2501安裝外裝驅動程序。這使得能夠針對打印機安裝最優驅動程序。
在第一示例性實施例中描述的方法中,在步驟s702中自動刪除了已經安裝的內嵌驅動程序。然而,出現了如下問題,即,不能確定被刪除的打印機驅動程序是否是用戶有意安裝的驅動程序。如果被刪除的打印機驅動程序是用戶有意安裝的驅動程序,則用外裝驅動程序替換內嵌驅動程序,與用戶安裝內嵌驅動程序時的意圖相悖。
在第二示例性實施例中,提供了這類問題的解決方案。在該解決方案中,在步驟s702中刪除對應的打印機隊列之前,向用戶通知消息,該消息說明與已經安裝的打印機驅動程序相對應打印機隊列將被刪除。
圖7是例示上述解決方案的流程圖。步驟s800和步驟s801與第一示例性實施例的步驟s700和步驟s701類似,因此將不進行描述。如果所選擇的打印機不是已經安裝了內嵌驅動程序所針對的打印機(步驟s801中為“否”),則處理進行到步驟s808。在步驟s808中,安裝程序1052進行正常wsd即插即用安裝。如果所選擇的打印機是已經安裝了內嵌驅動程序所針對的打印機(步驟s801中為“是”),則處理進行到步驟s802。在步驟s802中,安裝程序1052經由詢問是否刪除對應的打印機隊列,即現有的打印機隊列的消息來通知用戶。例如,可以顯示圖8中例示的消息對話框來提示用戶選擇是否刪除內嵌驅動程序。在步驟s803中,安裝程序1052確定是否接收到用于刪除內嵌驅動程序的指令。如果根據用戶的選擇要刪除現有的打印機隊列,即當接收到用于刪除內嵌驅動程序的指令時(步驟s803中為“是”),則處理進行到步驟s804。在步驟s804中,安裝程序1052刪除現有的打印機隊列。后來,在步驟s805中,再次使用ws-發現來執行wsd設備搜索,然后安裝程序1052針對通過搜索而查找到的可應用的打印機2501進行wsd即插即用安裝。步驟s804和步驟s805與第一示例性實施例的步驟s702和步驟s703類似。
如果根據用戶的選擇不刪除現有的打印機隊列(步驟s803中為“否”),則安裝程序1052通過使用改變連接端口的方法進行安裝而不進行wsd即插即用安裝。首先,在步驟s806中,安裝程序1052針對可應用的打印機2501安裝外裝驅動程序。接下來,在步驟s807中,當對外裝驅動程序的安裝完成時,安裝程序1052將由外裝驅動程序的安裝創建的打印機隊列的連接端口,設置為與對應于現有的內嵌驅動程序的打印機隊列的wsd端口相同的端口。
使用上述的過程,能夠在維持與通過wsd即插即用安裝已經安裝了內嵌驅動程序所針對的打印機相對應的打印機隊列的同時,安裝新的外裝驅動程序。從而用戶能夠通過適當地選擇現有的打印機驅動程序或者新的打印機驅動程序來執行打印。
在假設與用于即插即用安裝的打印機2501中設置的pnpid相對應的驅動程序是v4的情況下,描述了第一和第二示例性實施例。然而,v3驅動程序的id可以被設置為打印機2501中的pnpid。在這種情況下,wsd即插即用安裝可能失敗,或者可能安裝用戶不期望的打印機驅動程序。
在第三示例性實施例中,提供了這類問題的解決方案。在該解決方案中,即使與打印機2501中設置的pnpid相對應的驅動程序是v3,也能夠安裝v4驅動程序。將描述該解決方案。
圖9是例示上述解決方案的流程圖。步驟s900和步驟s901與第一示例性實施例的步驟s700和步驟s701類似,因此將不進行描述。如果所選擇的打印機不是已經安裝了內嵌驅動程序所針對的打印機(步驟s901中為“否”),則處理進行到步驟s907。在步驟s907中,安裝程序1052進行正常wsd即插即用安裝。如果所選擇的打印機是已經安裝了內嵌驅動程序所針對的打印機(步驟s901中為“是”),則處理進行到步驟s902。在步驟s902中,安裝程序1052檢查在打印機中設置的pnpid是否是針對v3驅動程序的id。具體地,安裝程序1052通過與打印機2501通信,來檢查pnpid與設置為v3驅動程序的屬性的pnpid是否匹配。在步驟s902中,安裝程序1052可以檢查pnpid是否是針對v4驅動程序的id。在這種情況下,步驟s902中的“是”和“否”是相反的。如果pnpid不是針對v3驅動程序的id(步驟s902中為“否”),則處理進行到步驟s903,然后到步驟s904以進行wsd即插即用安裝。步驟s903和步驟s904與第一示例性實施例的步驟s702和步驟s703類似,因此將不進行描述。如果pnpid是針對v3驅動程序的id(步驟s902中為“是”),則處理進行到步驟s905。在步驟s905中,安裝程序1052進行安裝,然后改變連接端口。當確定pnpid是針對v3驅動程序的id時,安裝程序1052可以請求用戶確認是否安裝v4驅動程序。例如,可以顯示圖10中例示的消息對話框來從用戶獲得確認。然而,用于確認的方法不限于該示例。用于進行安裝然后改變連接端口的步驟s905和步驟s906與第二示例性實施例的步驟s806和步驟s807類似,因此將不進行描述。
使用上述的過程,即使通過wsd即插即用安裝而安裝內嵌驅動程序所針對的打印機的pnpid是v3驅動程序的id,也能夠安裝用戶期望的v4驅動程序。
假設已經安裝的打印機驅動程序是否是用戶期望的打印機驅動程序是未知的而描述了第二示例性實施例。在第四示例性實施例中,能夠確定現有的打印機隊列與自動安裝的打印機驅動程序是否相對應,如果對應,僅刪除確定的打印機隊列,然后安裝外裝驅動程序。下面將描述該方法。
圖11是例示上述方法的流程圖。在該方法中,確定現有的打印機驅動程序是否是自動安裝的打印機驅動程序。如果是自動安裝的打印機驅動程序,則刪除與現有的打印機驅動程序相對應的打印機隊列,并且如果不是自動安裝的打印機驅動程序,則安裝打印機驅動程序以與對應于現有的打印機隊列的打印機驅動程序共存。
首先,步驟s1001與第一示例性實施例的步驟s701類似,因此將不進行描述。如果所選擇的打印機不是已經安裝了內嵌驅動程序所針對的打印機(步驟s1001中為“否”),則處理進行到步驟s1011。在步驟s1011中,安裝程序1052進行正常wsd即插即用安裝。
如果所選擇的打印機是已經安裝了內嵌驅動程序所針對的打印機(步驟s1001中為“是”),則處理進行到步驟s1002。在步驟s1002中,安裝程序1052檢查對應的內嵌驅動程序是否是自動安裝的驅動程序。這里將描述用于檢查對應的內嵌驅動程序是否是自動安裝的驅動程序的兩種具體方法。第一種方法用于檢查是否附加了表示內嵌驅動程序是自動安裝的屬性。第二種方法使用應用編程接口(applicationprogramminginterface,api)用于查找在os1054中準備的內嵌驅動程序是否被自動安裝。要采用的方法不限于這兩種方法,只要能夠檢查對應的內嵌驅動程序是否是自動安裝的驅動程序即可。
如果對應的內嵌驅動程序不是自動安裝的驅動程序(步驟s1002中為“否”),則處理進行到步驟s1009和步驟s1010以進行安裝,然后改變連接端口。用于進行安裝然后改變連接端口的步驟s1009和步驟s1010與第二示例性實施例的步驟s806和步驟s807類似,因此將不進行描述。
如果對應的內嵌驅動程序是自動安裝的驅動程序(步驟s1002中為“是”),則處理進行到步驟s1003。在步驟s1003中,安裝程序1052檢查在打印機2501中設置的pnpid是否是針對v3驅動程序的id。如果pnpid不是針對v3驅動程序的id(步驟s1003中為“否”),則處理進行到步驟s1004和步驟s1005以進行wsd即插即用安裝。用于進行wsd即插即用安裝的步驟s1004和步驟s1005與第一示例性實施例的步驟s702和步驟s703類似,因此將不進行描述。如果pnpid是針對v3驅動程序的id(步驟s1003中為“是”),則處理進行到步驟s1006和步驟s1007以在安裝后設置連接端口而不進行wsd即插即用安裝。用于在安裝后設置連接端口的步驟s1006和步驟s1007與第二示例性實施例的步驟s806和步驟s807類似,因此將不進行描述。在步驟s1008中,安裝程序1052刪除與現有的內嵌驅動程序相對應的打印機隊列。
在上述過程中,如果打印機隊列與自動安裝的打印機驅動程序相對應,即用戶不期望的打印機隊列,則當安裝新驅動程序時自動刪除該打印機隊列。如果打印機隊列與用戶有意安裝的打印機驅動程序相對應,則不刪除打印機隊列。因此能夠提供反應用戶意圖的打印環境。
根據示例性實施例,對于已經安裝了打印機驅動程序所針對的打印機,能夠安裝不同類型的打印機驅動程序。
其他實施例
還可以通過讀出并執行記錄在存儲介質(也可更完整地稱為“非暫時性計算機可讀存儲介質”)上的計算機可執行指令(例如,一個或更多個程序)以執行上述實施例中的一個或更多個的功能、并且/或者包括用于執行上述實施例中的一個或更多個的功能的一個或更多個電路(例如,專用集成電路(asic))的系統或裝置的計算機,來實現本發明的實施例,并且,可以利用通過由系統或裝置的計算機例如讀出并執行來自存儲介質的計算機可執行指令以執行上述實施例中的一個或更多個的功能、并且/或者控制一個或更多個電路以執行上述實施例中的一個或更多個的功能的方法,來實現本發明的實施例。計算機可以包括一個或更多個處理器(例如,中央處理單元(cpu)、微處理單元(mpu)),并且可以包括分開的計算機或分開的處理器的網絡,以讀出并執行計算機可執行指令。計算機可執行指令可以例如從網絡或存儲介質被提供給計算機。存儲介質可以包括例如硬盤、隨機存取存儲器(ram)、只讀存儲器(rom)、分布式計算系統的存儲器、光盤(諸如壓縮光盤(cd)、數字通用光盤(dvd)或藍光光盤(bd)tm)、閃存裝置以及存儲卡等中的一個或更多個。
本發明的實施例還可以通過如下的方法來實現,即,通過網絡或者各種存儲介質將執行上述實施例的功能的軟件(程序)提供給系統或裝置,該系統或裝置的計算機或是中央處理單元(cpu)、微處理單元(mpu)讀出并執行程序的方法。
雖然已經參照示例性實施例對本發明進行了描述,但是應該理解,本發明不限于所公開的示例性實施例。應當對以下權利要求的范圍給予最寬的解釋,以使其涵蓋所有這些變型例以及等同的結構及功能。