Помилка 0x0000007e при підключенні мережевого принтера зустрічається досить часто як у Windows 10, так і Windows 7. У більшості випадків вона спостерігається, коли принтер безпосередньо підключений до іншого комп’ютера з Windows (принт-серверу) і до нього відкритий загальний мережевий доступ.

У моєму випадку помилка з’явилася в наступній конфігурації. є сервер друку на 32 бітної версії Windows Server 2008 на якому налаштовані кілька загальних (расшаренних) принтерів Hewlett-Packard. При спробі підключити будь-який принтер з цього сервера на комп’ютері з 64 бітної Windows 10 або Windows 7, операційна система успішно викачує з принт-сервера потрібну версію драйвера принтера HP, але при спробі його встановити виникає помилка 0x0000007e.

У Windows 7 помилка підключення мережевого принтера виглядає так:

Windows не може підключитися до принтера
Помилка операції з помилкою 0x0000007e.

Помилка 0x0000007e при підключенні принтера HP на Windows 7 x64

У російській версії ОС:

установка принтера
Підключення до принтера
Windows не вдається підключити до принтера.
В ході операції сталася помилка 0x0000007e.

На комп’ютерах з Windows 10 помилка підключення принтера виглядає трохи по-іншому:

Не вдалося виконати операцію (помилка 0x0000007e).
Вказаний модуль не вдалося знайти.

Операція не може бути завершена (помилка 0x0000007e). Зазначений модуль не знайдено.

Операція не може бути завершена (помилка 0x0000007e).  Зазначений модуль не знайдено

При цьому проблем з підключенням і установкою мережевих принтерів з принт-сервера на 32 бітних редакціях Windows немає.
Після діагностики проблеми на різних версіях Windows, я прийшов до висновку, що помилка 0x0000007e спостерігається тільки на 64 бітних клієнтів при спробі підключити загальний мережевий принтер Hewlett Packard, встановлений на 32 бітному принт-сервері (під управлінням як на Windows Server 2003 x86, так і Windows Server 2008 x86). Що характерно, проблема виникає не з усіма принтерами HP, а тільки з тими, які, використовують універсальний драйвер друку HP PCL (Драйвер HP Universal Print).

Що потрібно зробити, щоб виправити помилку? В першу чергу потрібно перевірити, що на сервері друку встановлені як 32-х так і 64-х бітні версії драйвера принтера. Як ми бачимо, встановлені x64 і x86 версії драйвера HP Universal Printing PCL 6.

Принт-сервер x86 і x64 версії драйвера HP Universal Printing PCL 6

Покопавшись на форумах HP і Technet-а, мені вдалося знайти інформацію, що в налаштуваннях універсального драйвера друку HP використовується фіксований шлях до файлу черги друку для 32-бітної системи (котушка драйвери w32x86 3), Який 64-бітний клієнт знайти не може, внаслідок чого і з’являється помилка установки 0x0000007e. Шлях до файлу вказується в параметрах принтера на принт-сервері. У нашому прикладі це був файл spool DRIVERS W32X86 3 hpcpn112.dll, але в загальному випадку конкретний файл бібліотеки залежить від використовуваної версії універсального драйвера друку HP. Тобто 32 бітна версія драйвера друку HP Universal Printing виявилася несумісна з x64 версіями Windows. Але це можна виправити вручну.

Отже, щоб вирішити цю проблему потрібно на сервері-друку (комп’ютері), до якого підключений принтер і через який надається загальний доступ потрібно видалити пошкоджений (некоректний) ключ реєстру драйвера друку HP:

  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. Перезапустіть диспетчер друку (Print spooler) на клієнті:
    net stop spooler
    net start spooler

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

  5. Після видалення гілки реєстру BIDI на сервері, спробуйте на клієнті Windows 10 ще раз підключити мережевий принтер HP. Він повинен успішно встановитися без помилок.

У тому випадку, якщо цей варіант не спрацював, або у вас помилка 0x0000007e з’являється при підключенні принтерів інших виробників (не компанією HP), в якості обхідного рішення можна спробувати підключити принтер через локальний порт. Ось як це зробити:

  1. Через панель управління додайте в систему новий (локальний !!!) Принтер (Додати локальний або мережевий принтер з параметрами, заданими вручну).додати локальний мережевий принтер в Windows 10
  2. Вкажіть, що потрібно створити новий локальний порт (тип порту Local Port).
  3. Як ім’я порту потрібно вказати повний UNC шлях до мережного принтера. Наприклад, якщо ім’я комп’ютера, до якого підключений принтер – OfficePC1, а ім’я принтера із загальним доступом на ньому Xerox3320, то UNC адресу цього принтера буде виглядати так: \OfficePC1Xerox3320, Або можна вказувати IP адреса комп’ютера замість імені \192.168.1.100Xerox3320.Підключити мережевий принтер через UNC адреса
  4. Після цього залишилося вибрати (або встановити) відповідний драйвер принтера.

Є ще один схожий варіант підключення такого мережевого принтера.

  1. Видаліть драйвер підключається принтера з локального сховища. Властивості сервера друку -> вкладка Драйвери -> виберіть драйвер (як 32 так, і 64 бітний) і натисніть кнопку Видалити (Remove).видалити драйвер з принт сервера
  2. Спочатку створюється локальний принтер з підключенням через новий порт lpt.
  3. Потім за допомогою команди створюється постійне зіставлення даного віртуального LPT порту з UNC адресою мережевого принтера: net use LPT2 \OfficePC1Xerox3320 /persistent:yes підключити мережевий принтер через локальний lpt порт

Leave a Reply

Your email address will not be published. Required fields are marked *