2010-07-26 99 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