IIS 7 - ISAPI 错误“选定的打印机无效”:如何配置 ISAPI 池以查看打印机?

IIS 7 - ISAPI 错误“选定的打印机无效”:如何配置 ISAPI 池以查看打印机?

我有一个用 Delphi 制作的 isapi *.dll,它可以根据 http 请求生成并返回 PDF。如果我在独立 exe 中构建它,代码可以正常工作,但在 isapi 上它会引发异常:“所选打印机无效”。

这似乎应用程序池标识问题。

通过谷歌搜索该问题,我发现了这个解释(https://stackoverflow.com/a/4619757/2936170):

这可能是由于 Vista 中引入的 Session 0 Isolation。服务始终在 Session 0 中运行,但在 XP 及更早版本中,第一个登录的用户也在 Session 0 中运行,从而允许服务访问该用户的桌面(从而允许“交互式”服务)和资源(如共享和打印机)。从 Vista 开始,用户不再在 Session 0 中运行,因此服务不再有权访问用户特定的资源。服务必须模拟它想要访问的用户帐户。

我也在 Windows 服务中构建了相同的代码,并以管理员权限安装,它可以运行!

问题是,如何配置 ISAPI 池以查看打印机

答案1

回应我自己。

正确的池标识是本地系统

相关内容