Вчера еще прокачал свой скилл на предмет борьбы с Windows. При установке сетевого принтера HP LaserJet 4250 столкнулся с ошибкой следующего рода, операционная система нашла соответствующие драйвера, но на финальном этапе, аля finishing, выскочило сообщение:

В Google сразу нашелся ответ на предмет данной ошибки, да, де она есть, освещена в базе знаний компании Microsoft. Правда везде говорилось о том, что ошибка возникает в Windows 7 64 bit, однако у меня была 32-битная система. Но не суть дело, в базе знаний патч был и для x86.
Однако, его установка не решила проблему. Хороший однако патч, полезный
Решение оказалось нетривиальным и нашлось тут:
- Откройте Пуск -> Устройства и принтеры -> «Установка принтера».
- В появившемся окне выберите «Добавить локальный принтер».
- Далее выберите «Создать новый порт». Тип порта — Local Port.
- Нажимаем «Далее». В окне «Имя порта» в текстовом поле необходимо ввести адрес принтера в таком виде ||Computer-name|Printer-share-name, где Computer-name — NETBios имя компьютера к которому подключен принтер, Printer-share-name — сетевое имя принтера. Обратите внимание, что вместо косой черты — \ необходимо вводить вертикальную — | (в моем случае это все же были обычные слэши). Если после нажатия на Ок, вы получаете ошибку «Сетевой путь не найден», значит в адресе где-то присутствует ошибка или опечатка. В этом случае, чтобы не мучиться, можно прямо из сетевого окружения перетащить ярлык принтера к себе на рабочий стол, открыть его свойства и скопировать путь к принтеру.
- Далее, если все правильно, появится стандартный диалог установки драйвера принтера. Мой драйвер корректно установился автоматически, но, как советует автор, в некоторых случаях необходимо предварительно скачать файлы драйвера, распаковать их и выбрать установку из указанного места.
После выполнения этих действий драйвер нормально установился, принтер ожил, засверкал своими диодами и довольно заурчал валиком.
Обновление 1. По материалам http://winitpro.ru/index.php/2014/07/09/oshibka-0x0000007e-pri-podklyuchenii-printera-hp-na-windows-7-x64/ Это решение корректнее, и после того как я опробовал это на паре рабочих станций я решил, что дополнить статью этим обновлением будет важно.
Итак, проблема возникает, при следующих условиях:
Имеется сервер печати на 32 битной версии Windows (Windows Server 2003) на котором настроены несколько общих (расшаренных) принтеров HP. При попытке подключить принтер с этого сервера на 64 битном клиенте, клиент скачивает с принт-сервера нужную версию драйвера, но при попытке его установить возникает ошибка 0x0000007e.
В первую очередь нужно проверить, что на сервере печати установлены как 32-х так и 64-х битные версии драйвера. Как мы видим, установлены x64 и x86 версии драйвера HP Universal Printing PCL 6 .
Покопавшись на форумах HP и Technet-а, удалось найти информацию, что в настройках универсального драйвера печати HP используется путь к файлу очереди печати для 32-битной системы (spool\drivers\w32x86\3), который 64-битный клиент найти не может, вследствие чего и появляется ошибка установки 0x0000007e. Путь к файлу указывается в параметрах принтера на принт сервере. В нашем примере это был файл spool\DRIVERS\W32X86\3\hpcpn112.dll, но в общем случае конкретный файл библиотеки зависит от используемой версии универсального драйвера печати HP.
Чтобы решить эту проблему на 32 битном сервере печати нужно:
- Открыть редактор реестра (regedit.exe)
- Перейти в ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\ и развернуть ветку с именем принтера (в нашем примере это HP Color LaserJet 5550 PCL 6)
- В кусте, относящемуся к проблемному принтеру нужно в разделе CopyFiles удалить ветку BIDI.
Примечание. В продуктивной среде рекомендуется предварительно экспортировать в отдельный reg файл параметры удаляемой ветки. В это случае всегда можно будет откатиться к первоначальным настройкам.
- Перезапустите диспетчер печати (spooler) на клиенте
1net stop spooler
1net start spooler
- Попробуйте на клиенте еще раз подключить принтер HP. Он должен установиться без ошибок.
Примечание. К слову говоря, после всех манипуляций проблем с установкой принтеров на 32 битных клиентов не наблюдалось.