views:

47

answers:

1

Hello,

I have a web service that must run an executable. To run the executable in C# I am using the Process object.

The service runs the executable when I run it locally through visual studio. That is, it is converting a file and putting it in the output directory.

When I run the service on the production server the file does not get converted nor put into the Output directory.

I know that I am passing in the correct parameters to the executable because I had the service output the full path and parameter. Then I pasted the full path and parameters into a command window on the server and it properly converted the file and placed it into the Output directory.

So I know the executable and its parameters are working on the server, but just not through the service.

I have confirmed in IIS that the service has Executable Permissions on "Scripts and Executables."

I am not sure what else to check or how else to test.


[Edit] More Info:

I had my web service call and run a file un-zipper. I gave it the path to the executable and arguments for the archive I wanted un-zippped and the destination. This worked fine.

When I point it back to the exe I need run it fails. Here are two more points:

1) I have given Everyone full control of the folders, subfolders, and files.

2) The exe I need run is 16 bit. Would that make a difference?

3) I was able to get it to return an error using proc.StandardError. The error is: "This application has requested the Runtime to terminate it in an unusual way"

This is running on Windows Server 2003.


Any thoughts, ideas, or insight?

Thanks! Mark

A: 

Mark,

Ensure that you've got the path to the excecutable as per the fully qualified path on the server, i.e.:

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

of course, it could also be something being invoked by the exe that isn't present that is being referenced.

jim

jim