При настройке рабочих мест на базе облегченных операционных систем, таких как Windows 7 Embedded (WES7) или Windows Thin PC, системные администраторы часто сталкиваются с аппаратной несовместимостью. Типичный пример — подключение многофункционального устройства (МФУ) HP LaserJet M1132. В то время как принтер на такой системе заводится без особых усилий, попытка установить драйвер сканера заканчивается неудачей.
В этой статье мы подробно разберем, почему возникает эта проблема, проанализируем логи операционной системы и рассмотрим несколько проверенных способов решения, которые помогут «подружить» ваш сканер с Windows 7 Embedded x86.
---
Для начала проанализируем лог установки устройств, который находится по адресу C:\Windows\inf\setupapi.dev.log. При сбое установки сканера в нем можно обнаружить следующие строки:
!!! dvi: Error: No INF AddService directives contained the flag SPSVCINST_ASSOCSERVICE
!!! dvi: Error while installing services.
!!! dvi: Error 0xe0000219: The installation failed because a function driver was not specified for this device instance.
Эта ошибка однозначно указывает на то, что системе не удается связать устанавливаемое устройство с соответствующей службой (функцией драйвера). Причина кроется в архитектуре самой Windows 7 Embedded. Из соображений экономии дискового пространства и оптимизации производительности из дистрибутива этой ОС часто вырезают компоненты работы с изображениями.
Для работы абсолютно любого сканера в Windows необходима служба WIA (Windows Image Acquisition), системная библиотека stisvc.dll, драйвер ядра sti.sys, а также базовые конфигурационные файлы, такие как sti.inf. Если эти компоненты отсутствуют в вашей сборке Embedded-системы, инсталлятор HP не сможет завершить ассоциацию службы, что и приведет к ошибке 0xe0000219.
---
Самый надежный способ решить проблему — вернуть в операционную систему недостающие компоненты поддержки сканирования. Рассмотрим по шагам, как это сделать, если у нас есть доступ к полноценной рабочей версии Windows 7 x86 (той же разрядности).
Шаг 1. Проверка наличия службы
Нажмите сочетание клавиш Win + R, введите services.msc и проверьте, присутствует ли в списке служб Служба получения изображений Windows (WIA). Скорее всего, вы ее там не обнаружите.
Шаг 2. Перенос недостающих файлов
Перейдите на рабочий компьютер с полноценной Windows 7 x86 и скопируйте следующие файлы на целевой ПК с Windows Embedded:
C:\Windows\System32\ скопируйте файл stisvc.dll в аналогичную папку на Embedded-системе.C:\Windows\System32\drivers\ скопируйте драйвер sti.sys.C:\Windows\inf\ скопируйте файлы конфигурации устройств обработки изображений: sti.inf и sti.pnf. Если папка inf скрыта, включите отображение скрытых элементов в настройках проводника.Шаг 3. Регистрация службы в реестре
Чтобы операционная система узнала о существовании службы WIA, необходимо импортировать соответствующую ветку реестра. На рабочем компьютере откройте редактор реестра (regedit) и экспортируйте следующую ветку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\stisvc
Перенесите полученный .reg файл на компьютер с Windows Embedded и запустите его для внесения изменений в реестр. После этого обязательно перезагрузите компьютер.
Шаг 4. Установка драйвера
После перезагрузки откройте Диспетчер устройств. Сканер HP M1132 должен отображаться в списке неизвестных устройств. Нажмите по нему правой кнопкой мыши, выберите «Обновить драйвер» и укажите путь к распакованному официальному драйверу от HP. Теперь установка должна пройти успешно, так как система найдет необходимую службу WIA.
---
Многие МФУ компании HP, включая модель LaserJet M1132, оснащены встроенной технологией HP Smart Install. При первом подключении к компьютеру устройство определяется не как принтер или сканер, а как виртуальный CD-дисковод, на котором записаны драйверы. Это сделано для удобства обычных пользователей, но в среде Windows Embedded часто вызывает конфликты оборудования.
Выясним, как отключить эту функцию, чтобы устройство определялось системой напрямую:
UTIL.SIUtility.exe (или ее 64-битную версию, если настраиваете x64 систему).После этого устройство перестанет эмулировать CD-привод и определится в Диспетчере устройств как стандартный принтер и сканер, готовые к установке драйверов вручную.
---
Если вы сами собираете образ Windows Embedded Standard 7 при помощью конструктора Target Designer или имеете доступ к дистрибутиву, правильнее всего будет интегрировать поддержку сканирования на этапе создания системы.
Для этого в набор компонентов необходимо включить пакет, отвечающий за функции печати и работы с изображениями. В каталоге компонентов он находится по следующему пути:
Devices and Printers -> Printing-and-Imaging-Features
Если система уже установлена, но у вас есть оригинальный CAB-файл данного пакета, его можно установить с помощью консольной утилиты DISM, запущенной от имени администратора:
DISM /Online /Add-Package /PackagePath:"C:\PathToPackage\Printing-and-Imaging-Features.cab"
После успешного выполнения команды перезагрузите систему и повторите попытку установки драйвера сканера.
---
Если по каким-то причинам восстановить системные файлы службы WIA не представляется возможным (например, жесткие политики безопасности запрещают редактирование реестра и системных каталогов), можно пойти по альтернативному пути — использовать сторонний софт для сканирования, который умеет общаться с аппаратной частью устройств напрямую.
stisvc.dll в операционной системе и способна работать со сканером HP M1132 напрямую через собственный низкоуровневый доступ к USB-порту.Таким образом, комбинируя методы восстановления недостающих системных компонентов WIA и правильную подготовку самого МФУ (отключение Smart Install), мы можем гарантированно запустить сканирование на любой сборке Windows 7 Embedded x86.