Ошибка 0x0000007e при подключении принтера HP на Windows 7 x64

Имеется сервер печати на 32 битной версии Windows (Windows Server 2003) на котором настроены несколько общих (расшаренных) принтеров HP. При попытке подключить принтер с этого сервера на 64 битном клиенте, клиент скачивает с принт-сервера нужную версию драйвера, но при попытке его установить возникает ошибка 0x0000007e:

Windows cannot connect to the printer
Operation failed with error 0x0000007e
Ошибка 0x0000007e при подключении принтера HP на Windows 7 x64

После первичной диагностики проблемы на разных системах пришли к выводу, что ошибка 0x0000007e наблюдается только на 64 битных клиентах при попытке подключить общий сетевой принтер Hewlett Packard, установленный на 32 битном принт-сервере ( под управлением как на Windows Server 2003 x86, так и на Windows Server 2008 x86). Что характерно, проблема возникает не со всеми принтерами HP, а только с теми которые, используют универсальный драйвер печати HP PCL (HP Universal Print driver). Попытка подключить принтер обходным способом через локальный порт никакого эффекта не дала – ошибка сохранилась.

В первую очередь нужно проверить, что на сервере печати установлены как 32-х так и 64-х битные версии драйвера. Как мы видим, установлены x64 и x86 версии драйвера HP Universal Printing PCL 6 . Принт-сервер x86 и x64 версии драйвера HP Universal Printing PCL 6

Покопавшись на форумах HP и Technet-а, удалось найти информацию,  что в настройках универсального драйвера печати HP используется путь к файлу очереди печати для 32-битной системы (spool\drivers\w32x86\3), который  64-битный клиент найти не может, вследствие чего и появляется ошибка установки 0x0000007e. Путь к файлу указывается в параметрах принтера на принт сервере. В нашем примере это был файл  spool\DRIVERS\W32X86\3\hpcpn112.dll, но в общем случае конкретный файл библиотеки зависит от используемой версии универсального драйвера печати HP.

Чтобы решить эту проблему на 32 битном сервере печати нужно:

  1. Открыть редактор реестра (regedit.exe)
  2. Перейти в ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\ и развернуть ветку с именем принтера (в нашем примере это HP Color LaserJet 5550 PCL 6) Ветка реестра bidi в параметрах общего сетевого принтера HP
  3. В кусте, относящемуся к проблемному принтеру нужно в разделе CopyFiles удалить ветку BIDI.
    Примечание.  В продуктивной среде рекомендуется предварительно экспортировать в отдельный reg файл параметры удаляемой ветки. В это случае всегда можно будет откатиться к первоначальным настройкам.
  4. Перезапустите диспетчер печати (spooler) на клиенте
    net stop spooler
    net start spooler

    Перезапуск диспетчера печати

  5. Попробуйте на клиенте еще раз подключить принтер HP. Он должен установиться без ошибок.
    Примечание. К слову говоря, после всех манипуляций проблем с установкой принтеров на 32 битных клиентов не наблюдалось.

Предыдущая статья Следующая статья

Комментариев: 4 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)