2013-07-02 82 views
0

我試圖在vb.net中執行一個exe文件,但我沒有得到任何好運。在VB.net中執行EXE

我在互聯網上找到了多個例子,但它不適合我。

Dim file As String = "C:\Inetpub\wwwroot\TEST\TestConsoleApp.exe" 

    Dim str As SecureString = ConvertToSecureString("PASSWORD") 

    Dim info As ProcessStartInfo = New ProcessStartInfo(file, new_num) 
    info.UserName = "USERNAME" 
    info.Password = str 
    info.UseShellExecute = False 
    info.CreateNoWindow = True 

    Dim p As Process = Process.Start(info) 

Function ConvertToSecureString(ByVal str As String) 
    Dim password As New SecureString 
    For Each c As Char In str.ToCharArray 
     password.AppendChar(c) 
    Next 
    Return password 
End Function 

當我通過VS 2010手動或本地運行exe文件,它工作正常,我,但是當我把在服務器上的響應都沒有。我的意思是,當exe文件完成時,我寫入一個exe文件已完成的文本文件。

在此先感謝

+0

您是否嘗試調試調用代碼的頁面? –

+0

這聽起來像是一個權限問題。驗證該目錄是否具有讀取/寫入IIS用戶的權限。 – logixologist

+0

嗨邁克,是的,我嘗試調試它,並且它在本地工作正常,但是當我把它放在網絡服務器上它不起作用。我想這也是一個權限問題,但我在Web應用程序上使用相同的模擬用戶名和密碼,並且它們工作正常。我只是不明白這個控制檯應用程序是如何不同的? – Will

回答

0

你試過HttpContext.Current.Server.MapPath(TestConsoleApp.exe),而不是硬編碼C:\Inetpub\wwwroot\TEST\TestConsoleApp.exe?我假設TEST是你的虛擬目錄的名稱,對吧?

+0

我嘗試了您的建議,並在服務器上收到錯誤消息:異常未知軟件異常(0xc06d007e)。你有什麼想法是什麼意思? – Will

+0

這聽起來像是TestConsoleApp.exe本身的錯誤,而不是程序的調用,所以我認爲你距離更近一步。您是否也創建了'TestConsoleApp.exe';換句話說,你可以或者你有控制檯應用程序內的異常處理? –