Не удается печатать COM-объекты при вызове из ASP
Эта статья поможет устранить проблему, из-за чего com-объект отправляет выходные данные на принтер при вызове из active Server Pages.
Исходная версия продукта: Страницы активного сервера
Исходный номер базы знаний: 184291
Симптомы
Com-объект, который отправляет выходные данные на принтер, завершается сбоем при вызове из Active Server Pages (ASP), но работает правильно при вызове из интерактивного приложения. Этот COM-объект может быть либо коммерческим продуктом, например приложением Microsoft Office, либо пользовательским сторонним объектом. Распространенное сообщение об ошибке — "Ошибка принтера имени класса "800a01e2".
Причина
Стандартные API, используемые большинством объектов для печати, зависят от записей реестра, расположенных в HKEY_CURRENT_USER. Этот куст реестра является динамическим. В зависимости от контекста пользователя, в котором выполняется процесс, в этот куст будут загружены разные сведения. Страницы ASP выполняются в службах IIS, которые выполняются от имени учетной записи SYSTEM. При создании экземпляра COM-объекта в коде ASP он по умолчанию также будет выполняться от имени учетной записи SYSTEM. По умолчанию учетная запись SYSTEM не имеет принтеров, настроенных в реестре.
Разрешение
Чтобы устранить эту проблему, можно настроить принтеры для учетной записи SYSTEM. Чтобы настроить принтеры для учетной записи SYSTEM, выполните следующие действия:
Предупреждение
Для этого метода требуется изменить реестр с помощью Редактор реестра. Неправильное использование Редактор реестра может привести к серьезным проблемам на уровне системы, которые могут потребовать переустановки Windows для их устранения. Корпорация Майкрософт не может гарантировать, что любые проблемы, возникающие в результате использования Редактор реестра, могут быть решены. Используйте это средство на свой страх и риск.
Убедитесь, что у пользователя, в который вы вошли в систему на сервере, установлены нужные принтеры.
Запустите Редактор реестра (Regedit.exe).
Выберите следующий ключ:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices
В меню Реестр выберите Экспорт файла реестра.
В текстовом поле Имя файла введите c:\Devices.reg.
Выберите следующий ключ:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts
В меню Реестр выберите Экспорт файла реестра.
В текстовом поле Имя файла введите c:\PrinterPorts.reg.
Выберите следующий ключ:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows
В меню Реестр выберите Экспорт файла реестра.
В текстовом поле Имя файла введите c:\Windows.reg.
На кнопке Пуск выберите Выполнить. Откройте Devices.reg в Блокноте, введя блокнот Devices.reg в диалоговом окне Запуск .
Замените текст
HKEY_CURRENT_USER
на текстHKEY_USERS\.DEFAULT
.Сохраните файл. Затем импортируйте его в реестр, дважды щелкнув файл в Windows Обозреватель.
Повторите шаги 13–15 для PrinterPorts.reg и Windows.reg.
Примечание.
Эти действия работают только для локальных принтеров.
Чтобы разрешить IIS перечислять сетевые принтеры с помощью учетной записи SYSTEM, выполните следующие действия.
Примечание.
Если процесс выполняется под учетной записью сетевой службы, требуются явные разрешения для только что созданного реестра.
Убедитесь, что вы вошли на сервер в качестве пользователя, у которого установлены нужные сетевые принтеры.
Откройте редактор реестра.
Выберите следующий ключ:
HKEY_CURRENT_USER\Printers\Connections
В меню Реестр выберите Экспорт файла реестра.
В поле Имя файла введите c:\printconns.reg.
Чтобы открыть файл printconns.reg в Блокноте, нажмите кнопку Пуск, выберите Выполнить, введите Блокнот printconns.reg в поле Открыть , а затем нажмите кнопку ОК.
Замените текст
HKEY_CURRENT_USER
текстомHKEY_USERS\.DEFAULT
.Сохраните файл.
Чтобы импортировать файл в реестр, дважды щелкните файл в Windows Обозреватель.
Перезапустите службу очереди печати.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по