2010-07-26 94 views
0

我有一个必须运行可执行文件的Web服务。在C#中运行可执行文件我使用的是Process对象。运行可执行文件的Web服务

当我通过visual studio在本地运行它时,该服务运行可执行文件。也就是说,它正在转换文件并将其放入输出目录中。

当我在生产服务器上运行服务时,文件不会被转换,也不会被放到输出目录中。

我知道我正在向可执行文件传递正确的参数,因为我有服务输出完整的路径和参数。然后,我将完整路径和参数粘贴到服务器上的命令窗口中,并正确转换文件并将其放入输出目录。

所以我知道可执行文件和它的参数在服务器上工作,但不是通过服务。

我已经在IIS中确认该服务在“脚本和可执行文件”上具有可执行权限。

我不知道还有什么要检查或如何测试。


[编辑]更多信息:

我有我的web服务调用和运行文件未拉链。我给它的路径可执行文件和我想要un-zippped和目的地的档案参数。这工作得很好。

当我将它指向exe文件时,我需要运行它失败。这里有两点:

1)我已经给每个人完全控制文件夹,子文件夹和文件。

2)我需要运行的exe是16位。这会有所作为吗?

3)我能够得到它使用proc.StandardError返回一个错误。错误是: “此应用程序已请求运行时终止它在一个不寻常的方式”

这是Windows Server 2003


任何想法,意见或见解上运行?

谢谢! 马克

+0

运行IIS的用户帐户必须具有可执行文件,其目录和“输出”目录的权限。 – Will 2010-07-26 13:57:19

+1

即使你已经检查过,我的赌注仍然在权限或路径上。 – Orbit 2010-07-26 13:58:40

+0

要重复一些删除的文本,请尝试在管理员帐户下运行它,看看是否有帮助。 – 2010-07-26 14:05:44

回答

0

马克,

确保你有按完全合格的路径在服务器上的路径excecutable,即:

e:\private\exe\businesscat1\yourexe.exe (etc,etc) 
当然

,它也可能是一些由不存在的被引用的exe调用。

jim