Ошибка 0x0000007e при подключении принтера HP на Windows 7 x64 | Windows для системных администраторов

Ошибка 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 битных клиентов не наблюдалось.
Еще записи по теме: Windows 7
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Комментариев: 3

Оставить комментарий
  1. Oleg | 18.08.2014

    Спасибо метод работает!
    Раньше приходилось менять драйвер на таких HP принтерах с универсального на родной, либо подключать принтер через TCP/IP порт.

    Ответить
  2. Алексей | 07.10.2014

    Автору респект, спас от этого геморроя!!!

    Ответить
  3. Serg | 19.12.2014

    Спасибо!

    Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

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

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



MAXCACHE: 0.24MB/0.00130 sec