【发布时间】:2016-08-04 00:43:24
【问题描述】:
我从我的 Web 应用程序运行 wkhtmltopdf.exe 时遇到问题,我的 Web 应用程序已部署到 Windows Server 2012 上。似乎我的应用程序池没有执行此操作的权限,尽管 Web 应用程序和 exe 都不会引发任何错误。它根本不执行。
到目前为止我做了什么:
- 从属性 -> 安全 授予应用程序池对 exe 和与其相关的所有目录的完全权限
- 试图在应用程序池中使用除应用程序池标识之外的其他标识
- 试图通过 WCF 和 Windows 服务执行它
- 将工作目录中的所有文件、文件夹设置为非只读
- 设置exe以管理员身份运行
我使用 procexp 来查看 exe 是否被执行,但它没有 - 没有 wkhtmltopdf.exe 进程出现在后台。我不需要显示 UI,我只需要在后台运行它并让它完成它的工作 - 从 html 生成 pdf。
当我从命令行手动运行这个 exe 时,它工作正常。 我还将我的 Web 应用程序部署到另一台 win 2012 r2 服务器上,使用默认设置和应用程序池标识创建新的应用程序池,设置文件/文件夹和 exe 的权限。令人惊讶的是它在那里工作。
所以我认为我错过了一些东西,但我无法弄清楚。我认为第一台服务器在 ASPUSER 或 IIS 或管理员权限等方面有某种特殊配置。
有谁知道如何确定应用程序池是否对其用户具有 *.exe 执行权限?或者这个问题对某人来说似乎很熟悉?是否可以明确告诉 IIS 或应用程序池不要运行 exe?
【问题讨论】:
标签: .net permissions exe application-pool iis-8.5