3

我开发了一个 Web 应用程序,需要在服务器端运行 .exe 来执行某些任务。我在 Visual Studio 的内置 Web 服务器下工作得很好,但是在将它移到 IIS 8(64 位)时它会失败,因为 .exe 没有运行。

我了解,默认情况下,应用程序池在无法生成桌面窗口的用户帐户下运行,因此我在服务器计算机上创建了一个帐户以供应用程序运行,但这没有任何效果。

我还检查了“处理程序映射”部分下的“编辑功能权限”,并确保它具有“执行”权限。

这在 IIS 6 下很简单,在 IIS7/8(64 位)中发生了什么变化?如果它有助于我的应用程序是基于 .NET 的并且可执行文件是使用“Process.Start”运行的?

4

1 回答 1

3

我终于找到了为什么这不起作用,并且有一个简单的解决方案。基本上在 AppPool 高级设置中有一个“启用 32 位应用程序”选项,需要按照以下设置为 True 才能运行 32 位控制台应用程序:

高级设置

于 2013-04-23T15:34:50.723 回答