Не работает сканер: траблшутинг служб TWAIN и WIA в Windows
Архитектура подсистемы сканирования (WIA/TWAIN)
Подсистема захвата изображений в Windows опирается на два основных стандарта (API): TWAIN (устаревший, но мощный стандарт от производителей) и WIA (Windows Image Acquisition — нативный стек Microsoft). Если программа (например, 1С, FineReader или встроенное приложение 'Сканеры и камеры') не видит сканер, проблема кроется либо в остановке системной службы stisvc (Служба загрузки изображений WIA), либо в коллизии DLL-библиотек драйвера в папке twain_32. Бизнес-риски: остановка документооборота, невозможность сканирования паспортов и первичной документации.
Сравнение API и симптоматика сбоев
| Используемый API | Типичный симптом сбоя | Архитектурная причина |
|---|---|---|
WIA (Служба stisvc) | Ошибка 'Сканер не найден' во встроенных приложениях ОС. | Служба WIA остановлена, сбой зависимостей (RPC) или сломаны права на папку профиля. |
TWAIN (twain_32.dll) | Программа зависает при вызове интерфейса сканера. | Конфликт 32/64-битной архитектуры или зависший процесс драйвера в памяти. |
Сетевое сканирование (WSD) | Устройство видно, но сканирование обрывается (Тайм-аут). | Блокировка портов TCP/UDP (3910, 3911) брандмауэром или сбой WSD-монитора. |
Пошаговое восстановление работы сканера
Сценарий 1: Восстановление службы WIA (stisvc)
Если служба WIA не запускается (Ошибка 1068 или 1053), необходимо проверить её зависимости и права доступа.
Проверка статуса зависимых служб WIA
sc query RpcSs
sc query ShellHWDetection
Сброс разрешений для службы WIA (требуется PsExec)
sc sdset stisvc D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)Сценарий 2: Очистка кэша и устранение конфликтов TWAIN
Часто зависший драйвер блокирует устройство для других программ.
- Откройте Диспетчер задач и завершите процессы, связанные со сканером (например,
twain_32.exe, процессы от HP, Kyocera, Canon). - Перейдите в папку
C:\Windows\twain_32. Скопируйте её содержимое в резервную папку, затем удалите всё внутри (кроме папкиwiatwain.ds, если она там есть). - Переустановите драйвер сканера.
Сценарий 3: Настройка сетевого сканера (WSD/SMB)
Для сетевых МФУ рекомендуется отказаться от USB-драйверов TWAIN в пользу SMB-сканирования (в сетевую папку) или FTP. Если нужно сканировать в программу (Push/Pull scanning), убедитесь, что включен протокол SNMP v1/v2c на устройстве и не заблокирован брандмауэром Windows.
Типовые ошибки администраторов
- Запуск 32-битного TWAIN в 64-битном приложении: Стандарта TWAIN64 практически не существует. Если сканер имеет только 32-битный TWAIN драйвер, 64-битная программа (например, 64-битный Photoshop или 1С) его не увидит. Используйте WIA или 32-битную версию ПО.
Проброс USB-сканеров через RDP — это боль (RemoteFX не всегда спасает). Инженеры ITSTM настроят централизованное сетевое сканирование в папки DFS или внедрят системы потокового ввода данных, навсегда избавив вас от зависаний TWAIN.
Частые вопросы (FAQ)
В чем разница между драйверами WIA и TWAIN?
TWAIN предоставляет собственный графический интерфейс производителя со множеством настроек (цветокоррекция, растрирование). WIA использует стандартный интерфейс Windows, он проще, но стабильнее и поддерживает скриптинг.
Служба WIA выдает 'Ошибку 1068: Не удалось запустить дочернюю службу'. Что делать?
Это означает, что одна из зависимых служб отключена. Откройте services.msc, найдите 'Определение оборудования оболочки' (Shell Hardware Detection) и 'Удаленный вызов процедур (RPC)'. Они должны работать в автоматическом режиме.
Почему сканер работает в Paint, но не работает в 1С?
Paint использует WIA, а 1С часто полагается на TWAIN (или наоборот, в зависимости от компоненты сканирования). Либо разрядность программы (64-бит 1С) не совпадает с разрядностью драйвера TWAIN.
Как пробросить сканер на удаленный рабочий стол (RDP)?
Используйте групповую политику: 'Конфигурация компьютера' -> 'Административные шаблоны' -> 'Компоненты Windows' -> 'Службы удаленных рабочих столов' -> 'Перенаправление устройств Plug and Play'. Также требуется включить RemoteFX USB Redirection.