2011-01-10 126 views
5

我有一個簡單的vb.net應用程序。當我去bin \ debug \ program.exe並雙擊程序運行完美。使用任務調度程序不會執行相同的程序。當我創建一個計劃任務並點擊'運行'時,它會彈出一個控制檯窗口一秒鐘,關閉。此外,這個程序用於與任務調度程序一起運行。有一天,它停止工作。計劃任務將不會運行返回e0434f4d作爲最後結果

PS:
我在SVN管理這個程序代碼,所以我可以有把握地說,代碼並沒有改變。

+0

如果可能您是否嘗試過在不同的機器上運行相同的應用程序?你的程序需要管理員權限嗎?該計劃是做什麼的?你的操作系統是什麼(Vista,Win 7)?你能否提供給我們更多的細節。 – Searock 2011-01-10 15:46:56

+0

將位置重新放入運行文本框中解決了問題。我測試了這個,如果你創建了一個指向不存在的文件exe的任務,你會得到一個'無法啓動的消息'。所以我不知道我是如何得到我得到的錯誤代碼。 – 2011-01-10 19:33:45

回答

3

我個人不相信魔法:-)

  1. 仔細檢查源代碼 沒有修改比較工作 版本。
  2. 你確定該程序是否執行完畢?可能是一些與權限相關的問題(用戶從中執行程序等等)。
  3. (如果#2通過)請嘗試調試以查看導致問題的原因。
17

0xe0434f4d退出碼非常有意義。這是一個託管異常的本地異常代碼。換句話說,當應用程序由任務管理器運行時,您的應用程序會發生未處理的異常。我可以猜出原因,但這是毫無意義的。找出你自己,爲AppDomain.CurrentDomain.UnhandledException編寫一個事件處理程序,並記錄e.ExceptionObject.ToString()的值。這給了你異常消息和堆棧跟蹤,幾乎總是足夠好,以找出它爲什麼是轟炸。

0

我會檢查看看哪個用戶正在運行計劃任務。它可能是用一個密碼已過期的帳戶運行的(正如你所說的那樣,它以前一直在運行),並且要求改變它。

1

其實,這個問題是由權限造成的。作爲計劃任務,作業不具有某些文件夾和文件的權限。

0

我注意到Windows 2000和Windows XP上某些計劃任務的一件事情是,每次機器重新啓動時,我們都必須在某些任務上重新輸入密碼。其他人在沒有它的情況下繼續工作,而我從未發現其中的差異。