在 Windows 2000 或 Windows Server 2003 的伺服器上安裝 Service Pack、更新彙總套件或印表機 Hotfix 之後,使用者無法列印

文章翻譯 文章翻譯
文章編號: 832219 - 檢視此文章適用的產品。
重要 本文包含如何修改登錄的相關資訊。修改登錄之前,請務必將它備份起來,並了解如何在發生問題時還原登錄。如需有關如何備份、還原和修改登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
256986 Description of the Microsoft Windows registry
全部展開 | 全部摺疊

徵狀

在安裝 Microsoft Windows 2000 Service Pack 2 (SP2)、Windows Server 2003 Service Pack、更新彙總套件或用以更新 Unidrvui.dll 檔案的 Hotfix 之後,使用者可能會遭遇下列兩個徵狀:
  • 當用戶端或伺服器嘗試列印時,列印多工緩衝處理器服務可能會停止回應 (或「擱置」),且會出現下列錯誤訊息:
    Unable to create Print job. (無法建立列印工作)
  • 當您嘗試從伺服器主控台列印測試頁時,收到下列錯誤訊息:
    Test page failed to print. (無法列印測試頁)

發生的原因

如果您在擁有許多 Unidrv Printer Control Language (PCL) 印表機驅動程式的伺服器上安裝 Service Pack 或 Hotfix 套件,就可能會發生這個問題。

當您在擁有許多 Unidrv PCL 印表機驅動程式的伺服器上安裝 Service pack 或用以更新 Unidrvui.dll 的 Hotfix 檔案時,伺服器可能會花很多時間 (長達 2 小時) 來重新產生剖析的二進位印表機說明檔 (.bud files),以用來為這些驅動程式增加多工緩衝處理程式的效率。在這段時間內,「列印多工緩衝處理器」無法接收傳入的列印工作,並會傳回指示列印佇列已滿的訊息至用戶端。這是一次性的剖析作業,在順利重新產生剖析的二進位 .bud 檔案之後不會發生。

因為 GPD 剖析器檔案版本已變更,所以必須重新產生由一般印表機說明 (GPD) 檔案所產生的二進位 .bud 檔案。剖析所有 Unidrv PCL 驅動程式後,多工緩衝處理程式便可再次接收列印工作。因此,Microsoft 建議您在擁有許多 Unidrv PCL 印表機驅動程式的伺服器上排程 Service Pack 和 Hotfix 安裝,以配合這個長達兩小時的 .bud 檔案編譯。

解決方案

如果要解決這個問題,請為伺服器排程足夠的時間,來針對每個升級的驅動程式檔案完成剖析所有 Unidrv 印表機驅動程式,再為使用這些檔案的每個印表機排程足夠的時間。

其他可行方案

警告 不當使用「登錄編輯程式」可能導致嚴重的問題,甚至必須重新安裝作業系統。Microsoft 並不保證可以解決您不當使用「登錄編輯程式」所導致的問題。請自行承擔使用「登錄編輯程式」的一切風險。

如果您無法等待伺服器完成剖析所有 Unidrv 印表機驅動程式,請手動移除所有快取的二進位印表機說明檔案 (.bud 檔案),然後讓它們被自動建立。根據您伺服器的速度而定,這項自動重新建立可能在更短的時間內完成。通常此作業可在 30 分鐘內完成。

注意 當「列印多工緩衝處理器」啟動時,它會安裝更新版的 Unidrv.dll。因此,.bud 檔案會過期。.bud 檔案是經過編譯的 .ppd 檔案,且可從那些 .ppd 檔案中完整重新產生。因此,您可以移除 .bud 檔案。如果要執行這項操作,請依照下列步驟執行:
  1. 停止「列印多工緩衝處理器」服務。如果要執行這項操作,請從命令提示字元執行下列命令:
    net stop spooler
  2. 搜尋所有 .bud 檔案,確認它們有目前的時間和日期的戳記。檔案會顯示今天的日期。
  3. 移除具有今天日期以前的日期和時間戳記的所有 .bud 檔案。這些檔案位於下列資料夾:
    %SYSTEMROOT%\System32\Spool\Drivers\w32x86\3
  4. 移除下列登錄機碼 (如果存在的話):
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PostSPUpgrade
    如果要執行這項操作,請依照下列步驟執行:
    1. 按一下 [開始],再按一下 [執行],在 [開啟] 方塊中輸入 regedit,然後按一下 [確定]
    2. 找出並按一下下列登錄子機碼:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print
    3. [登錄] 功能表上,按一下 [匯出登錄檔案]
    4. [檔案名稱] 方塊中,輸入 printkey,然後按一下 [儲存]

      注意 如果您稍後必須還原
      Print
      登錄機碼,可以按兩下您儲存的 Printkey.reg 檔案來執行。
    5. 找出並按一下下列登錄子機碼 (如果有的話):
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\PostSPUpgrade
    6. [編輯] 功能表上,按一下 [刪除],然後按一下 [是],確認移除
      PostSPUpgrade
      登錄機碼。

      注意
      PostSPUpgrade
      登錄機碼可能會在您重新啟動電腦之後重新出現。如果有其他尚未剖析的 .bud 檔案,就可能會發生這個問題。在剖析這些檔案之後,會自動移除此登錄機碼。
  5. 重新啟動伺服器。
在重新啟動伺服器後約 30 分鐘,使用者就可以使用列印功能。

屬性

文章編號: 832219 - 上次校閱: 2007年12月7日 - 版次: 5.1
這篇文章中的資訊適用於:
  • Microsoft Windows 2000 Advanced Server SP4
  • Microsoft Windows 2000 Advanced Server SP3
  • Microsoft Windows 2000 Advanced Server SP2
  • Microsoft Windows 2000 Server SP4
  • Microsoft Windows 2000 Service Pack 3
  • Microsoft Windows 2000 Server SP2
  • Microsoft Windows 2000 Professional SP4
  • Microsoft Windows 2000 Service Pack 3
  • Microsoft Windows 2000 Professional SP2
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
關鍵字:?
kbprint kbprb KB832219
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com