打印服務器的升級遷移
Microsoft Windows 2000 引入了一個全新的 Microsoft Windows NT 操作系統版本。與Windows NT 的以前版本相比,Windows 2000 在許多方面都進行了重大改動,打印子系統只是其中的一個方面。即便這些改動所帶來的好處在操作系統的穩定性和可靠性方面得到了印證,但仍然付出了一定的代價。在升級和遷移到 Windows 2000 或 Windows Server 2003 之時,公司常常發現自己處在一個混合了 Windows NT 4.0 以及 Windows 2000、Windows XP 或 Windows Server 2003 系列操作系統的環境中。
使用本地和遠程(客戶端和服務器)驅動程序功能和設置生成打印作業的網絡打印更增加了互操作性方面的復雜性。由于這個原因,包含 Windows NT 4.0 以及 Windows 2000、Windows XP 或 Windows Server 2003 系列操作系統的環境中的網絡打印會給各家公司帶來一些難題。
本文旨在幫助解釋存在于網絡打印環境中的過程及環境條件,尤其當這些條件與 Windows NT 操作系統的混合版本相關時。另外,還討論了可用于處理這些問題的各種方法。
一些由混合了 Windows NT 4.0 及更新的 Windows 版本的環境所引起的互操作性問題扎根于對打印機驅動程序結構模型所做的改動。本文分析了從內核模式到用戶模式進程空間的遷移,以及 Microsoft 通用打印機驅動程序的升級。只有當驅動程序模式產生互操作性問題時,才會涉及與打印機硬件的設備局限性相關的其他問題。本文還探討了設備字體支持如何影響處在 Windows NT 4.0 升級過渡期的客戶。
請注意有關這方面的論述緊緊圍繞各公司因升級數萬臺客戶端以遷移到 Windows 2000 或更新版本所帶來的挑戰而要面對的過渡期,這一點很重要?;旌匣蚺f式客戶端無法完全獲得 Windows 2000 及更新版本的打印改進功能所帶來的裨益。本文假設客戶的目標是為了獲得一個所有客戶端和服務器都運行 Windows 2000 或更新版本的網絡打印環境。
Windows 2000 和 Windows Server 2003 打印體系結構
認識 Windows 打印子系統對于確定因存在包含 Windows NT、Windows 2000 或 Windows Server 2003 系列操作系統的混合環境而引發的互操作性問題很有幫助。Windows 2000(及 Windows 的更新版本)的打印體系結構由一個后臺打印程序和一組打印機驅動程序組成。通過調用與設備無關的 Win32 打印和圖形設備接口 (GDI) 函數,應用程序可以創建打印作業并發送給各種設備,包括激光打印機、矢量繪圖儀、光柵打印機和傳真機。打印機驅動程序包括一個允許用戶控制打印機的可選項的用戶接口 (UI) 組件。
應用程序對 Win32 GDI 函數的調用會傳遞給 GDI 圖形引擎,由該引擎將繪圖指令作為增強型圖元文件 (EMF) 進行后臺處理,或者同打印機驅動程序一起提供可發送給后臺打印程序的可打印的圖像。后臺打印程序組件會解析 EMF 文件,并能在數據流中插入頁面布局信息和作業控制指令。后臺打印程序隨后會將數據流發送給目標打印機的 I/O 端口相關聯的串行、并行或網絡端口驅動程序。設備會解析作業(針對設備以打印機描述語言 (PDL) 進行了格式化),并輸出打印好的文檔。
后臺打印程序和驅動程序組件被設計為可替代的,從而使硬件供應商可以輕松地對新的硬件增加支持。
Windows 2000 對打印機驅動程序所做的改動
打印機驅動程序是一種可將應用程序數據轉化為打印設備可用以創建打印頁的格式的軟件。在 Windows NT 4.0 中,所有打印機驅動程序都以內核模式運行。這些驅動程序稱為 Windows 打印環境中的第 2 版驅動程序。Windows 2000 及更新版本本質上支持用戶模式驅動程序,同時還專門支持內核模式驅動程序以實現向后兼容。Microsoft 轉而采用用戶模式驅動程序(也稱為第 3 版驅動程序)以實現系統可靠性和穩定性。采用內核模式驅動程序,出現一個錯誤就會令整臺服務器崩潰,而對于用戶模式驅動程序,錯誤僅會影響運行驅動程序的進程——通常是后臺打印程序。重新啟動后臺打印程序要比重啟整個系統快得多。此外,當后臺打印程序出現故障時,用戶仍可運用服務器的其他服務。Windows Server 2003 默認對后臺打印程序服務提供自動恢復功能。(服務控制管理器中的一項設置)
將打印機驅動程序從內核模式遷移到用戶模式并不是 Windows 2000 所做的唯一改動,還引入了 Microsoft 通用打印機驅動程序 (Unidrv)。這一打印機驅動程序核心取代了 Windows NT 4.0 及更早版本中的光柵設備驅動程序 (RASDD) 接口。Unidrv 背后的概念是:不用獨立硬件供應商 (IHVs) 編寫整個驅動程序,就可使用 Unidrv 引擎的核心打印功能,并且只需通過運用微型驅動程序提供特定于設備的功能。微型驅動程序通常是一個自定義文件,或者可能是一個插件,可提供特殊的生成功能或自定義的 UI 選項。核心打印機控制語言 (PCL) 引擎 (Unidriv.dll) 和 PostScript 引擎 (PScript5.dll) 均允許使用微型驅動程序。Unidrv 微型驅動程序的自定義文件為 .gpd 文件,而對于 PostScript 微型驅動程序,則為 .ppd 文件。
Windows Server 2003 附帶了 3,800 種打印設備的驅動程序。雖然這些驅動程序由 Microsoft 提供給 Windows Server 2003,但是其中大部分都是各個打印機制造商提供給 Microsoft 的。這些所謂的 inbox 驅動程序都包含在各自的產品中。雖然標準打印驅動程序完全可滿足絕大多數企業打印設備,但是打印機制造商可能會選擇開發自己的驅動程序以供用戶使用,而不采用 Unidrv.這類驅動程序通常稱為一體化驅動程序,因為它們并未被實施為 UniDrv 微型驅動程序。(許多制造商現在都開始致力于讓他們所有的驅動程序都采用 UniDrv 模型而非傳統的一體化模型。)
總的來說,有這幾種驅動程序類型:
內核模式(第 2 版)或用戶模式(第 3 版)
PostScript (PS) 或 PCL
微型驅動程序或一體化驅動程序
注意:
驅動程序可以是上述不同類型的組合——例如,核心模式 PCL 驅動程序、用戶模式一體化驅動程序、PostScript 微型驅動程序。(Windows 2000 或 Windows Server 2003 所附帶的驅動程序均為用戶模式。)
根據具體的設備類型,所有這些驅動程序類型都可從打印機制造商處獲得。Windows 2000 及更新版本所附帶的 inbox 驅動程序也由打印機制造商提供,并經許可才能分發。Microsoft 為 Windows 2000、Windows XP 和 Windows Server 2003 提供的所有驅動程序均為 Unidrv 或 PostScript 微型驅動程序,并且在所有這些平臺上都可兼容。
獨立硬件供應商 (IHV) 還提供了 Windows CD 所沒有附帶的微型驅動程序。
如果能夠認識到各種打印機驅動程序間的差異,就會更清楚地了解混合與匹配驅動程序如何導致網絡打印環境出現問題。因為 Windows NT 4.0 只能運行內核模式打印驅動程序,而 Windows 2000 和 Windows Server 2003 可同時支持用戶模式和內核模式驅動程序,解決不兼容問題有時牽涉到修改運行 Windows 2000 或 Windows Server 2003 的服務器,以便匹配 Windows NT 4.0 服務器。
升級到 Windows 2000 Server 或 Server 2003 系列操作系統
從 Windows NT 4 Server 升級到 Windows 2000 或 Windows Server 2003 之前,許多 IHV 都建議卸載所有 IHV 打印機驅動程序,并對 Windows 2000 和 Windows Server 2003 系列操作系統重新安裝有關打印機驅動程序的最新版本。Microsoft 推薦用戶使用 Fixprnsv.exe 實用工具,其位于 Windows Server CD 上的 \Printers\Fixprnsv 目錄。此實用工具可幫助在升級前確定已知的不良驅動程序,并用兼容的驅動程序取而代之。如果 Windows CD 上沒有可供替代的驅動程序,那么該實用工具會提示用戶從打印機制造商那里獲取經過更新的驅動程序。Microsoft 推薦用戶按照 IHV 的指示更新系統上的打印驅動程序,然后運用 Fixprnsv.exe 實用工具定位可能在升級期間產生問題的其他打印驅動程序。
下面幾節將介紹如果在升級到 Windows 2000 或 Windows Server 2003 系列操作系統之前沒有卸載驅動程序可能發生的情況。
驅動程序的升級過程
從 Windows NT 4.0 升級到 Windows 2000 或更新版本時,可能會發生許多與打印機驅動程序有關的情況。本節對每一種情況都進行了介紹。
Windows NT 4.0 操作系統附帶的 inbox 驅動程序(PCL 和 PostScript)都被升級到 Windows 2000 或 Windows Server 2003 系列操作系統的新版驅動程序。(將 Windows 2000 Server 升級到 Windows Server 2003 系列操作系統也會發生同樣的替代/更新狀況。)
驅動程序型號名與 Windows 2000 或 Windows Server 2003 系列操作系統的驅動程序名稱完全匹配的 IHV 驅動程序(PCL 或 PostScript)會在不受用戶干涉的情況下升級到 inbox 驅動程序。
不使用因穩定性因素而被阻止的驅動程序。在升級期間,使用這些驅動程序的打印機會被移除。如果某臺打印機直接到一臺計算機并擁有一個可識別的即插即用 ID,那么 Windows 會為其搜索一個合適的驅動程序。如果找到了合適的驅動程序,該打印機會在升級期間作為新的打印機進行安裝。
未被阻止并且不存在名稱匹配的驅動程序將在整個升級期間保持不變。
Windows NT 4.0 Inbox 驅動程序
在升級過程中,所有 Windows NT 4.0 PCL 驅動程序 (RASDD) 都將被升級到最新的 Unidrv 驅動程序。(UNIDRV5 用于 Windows 2000,而 UNIDRV5.1 則用于 Windows Server 2003 系列操作系統。)Windows NT 4.0 所附帶的 PostScript 驅動程序在 Windows 2000 或 Windows Server 2003 系列操作系統

















