Назад | Перейти на главную страницу

IIS 7 - ошибка ISAPI «Выбран недопустимый принтер»: как настроить пул ISAPI для просмотра принтера?

У меня есть isapi * .dll, созданный с помощью Delphi, который создает и возвращает PDF-файл по запросу http. Код работает, если я создаю его в автономном exe, но на isapi он вызывает исключение: «Выбранный принтер недействителен».

Кажется ApplicationPoolIdentity вопрос.

Погуглив проблему, я нашел это объяснение (https://stackoverflow.com/a/4619757/2936170):

Вероятно, это связано с изоляцией сеанса 0, которая появилась в Vista. Службы всегда запускаются в сеансе 0, но в XP и более ранних версиях первый пользователь, который вошел в систему, также работает в сеансе 0, что позволяет службам получать доступ к рабочему столу этого пользователя (таким образом, обеспечивая «интерактивные» службы) и ресурсам (например, общие ресурсы и принтеры). . Начиная с Vista, пользователи больше не работают в сеансе 0, поэтому службы больше не имеют доступа к пользовательским ресурсам. Служба должна выдавать себя за учетную запись пользователя, к которой она хочет получить доступ.

Я также создал тот же код в службе Windows и установил его с правами администратора, он работает!

Вопрос в том, как настроить пул ISAPI для просмотра принтера?

Отвечай самому себе.

правильный идентификатор пула LocalSystem