计划任务无法运行,返回e0434f4d作为最后结果。

5
我有一个简单的vb.net应用程序。当我转到bin\debug\program.exe并双击该程序时,程序运行得很完美。但是,使用任务计划程序运行相同的程序时,它将无法执行。当我创建一个计划任务并单击“运行”时,它只会弹出一个控制台窗口一秒钟,然后关闭。此外,这个相同的程序曾经可以通过任务计划程序运行。有一天,它就突然停止工作了。
附:PS: 我在svn中管理这个程序代码,所以我可以放心地说代码没有改变。

如果可能的话,您尝试在另一台机器上运行相同的应用程序了吗?您的程序需要管理员权限吗?这个程序是做什么的?您的操作系统是什么(Vista、Win 7)?您能提供更多细节吗? - Searock
将位置重新粘贴到“运行”文本框中即可解决问题。我已经测试过了,如果您创建一个指向不存在的exe文件的任务,则会收到“无法启动消息”。所以我不知道我当时是如何得到我得到的错误代码的。 - Doug Chamberlain
5个回答

17

0xe0434f4d退出代码具有相当重要的意义。 这是托管异常的本机异常代码。 换句话说,当您的应用程序由任务管理器运行时,它会崩溃并出现未处理的异常。 我可以猜测可能的原因,但这毫无意义。 请自己找出问题,编写AppDomain.CurrentDomain.UnhandledException的事件处理程序,并记录e.ExceptionObject.ToString()的值。 这将为您提供异常消息和堆栈跟踪,几乎总能帮助您找出出现问题的原因。


3

个人而言,我不相信魔法 :-)

  1. 请仔细检查源代码是否与工作版本一致。
  2. 你确定程序被执行了吗?可能存在一些权限相关的问题(程序由哪个用户执行等)。
  3. (如果第二个步骤通过)尝试调试以查看问题的原因。

  1. 我进行了双重检查。总是个好主意。
  2. 使用F5调试运行程序,顺利运行。
  3. 运行从bin\debug文件夹中提取的版本,成功运行。
  4. 从Windows资源管理器中重新复制和粘贴运行命令到任务运行属性中……问题解决了。
- Doug Chamberlain
1
这就是为什么你(指的是我)应该始终检查所有东西(即使是显而易见的东西)。 - Doug Chamberlain

2

实际上,这个问题是由于权限引起的。作为一个计划任务,该作业没有权限访问某些文件夹和文件。


0

我会检查一下预定任务正在哪个用户下运行。也许它是在一个密码已过期的帐户下运行(正如您所说,它以前一直在运行),需要更改此密码。


0

我注意到在Windows 2000和Windows XP上,某些定时任务每次重启机器后,我们都必须重新输入密码,而其他一些任务则可以在没有密码的情况下继续工作,我从未找出其中的区别。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接