2011-01-10 88 views
5

私は単純なvb.netアプリケーションを持っています。 bin \ debug \ program.exeに移動してダブルクリックすると、完璧に動作します。同じプログラムはタスクスケジューラを使用して実行されません。スケジュールされたタスクを作成して「実行」をクリックすると、コンソールウィンドウが1秒間ポップアップして閉じます。さらに、この同じプログラムはタスクスケジューラで実行するために使用されました。ある日、それはちょうど仕事をやめた。スケジュールされたタスクは実行されません最終結果としてe0434f4dを返します

PS:
私は安全にコードが変更されていないことを言うことができますので、SVNで管理し、このプログラムコードを持っています。

+0

可能であれば、別のマシンで同じアプリケーションを実行しようとしましたか?あなたのプログラムには管理者権限が必要ですか?プログラムは何をしていますか?あなたのOSは何ですか(Vista、Win 7)?詳細を教えてください。 – Searock

+0

実行テキストボックスに場所を再割り当てすることで問題が解決されました。私はこれをテストし、存在しないファイルexeを指すタスクを作成すると、「メッセージを開始できませんでした」というメッセージが表示されます。だから私はどのように私が得ていたエラーコードを取得していたのか分からない。 –

答えて

3

個人的に私は、ソースコードが 作業 バージョンとの比較修正されていないことを再確認し

  1. 魔法:-)を信じていません。
  2. プログラムはまったく実行されていますか?アクセス許可に関連するいくつかの問題があります(ユーザーがプログラムを実行するなど)。
  3. (#2が合格の場合)デバッグを試して、問題の原因を確認してください。
+0

1.私は二重チェックをしました。常に良いアイデア。
2. f5 debugを使用してプログラムを実行し、細かいファイルを実行します。
3.正常に実行されたbin \ debugフォルダからバージョンを実行します。
4. Windowsエクスプローラの実行コマンドをタスク実行プロパティ...にコピーして貼り付け直しました。 –

+0

..これがあなた(私を意味する)が常に(明らかなものであっても)すべてをチェックすべき理由です。 –

17

0xe0434f4d終了コードは非常に意味があります。これは、管理対象例外のネイティブ例外コードです。言い換えれば、タスクマネージャによって実行されているときに、処理されていない例外が発生してアプリケーションがクラッシュしています。私は理由を推測することができますが、それはかなり無意味です。自分自身を見つけ、AppDomain.CurrentDomain.UnhandledExceptionのイベントハンドラを作成し、e.ExceptionObject.ToString()の値を記録します。それは例外メッセージとスタックトレースを提供します。なぜなら、それがなぜ爆破されたのかを知るには十分です。

0

スケジュールされたタスクが実行されているユーザーを確認します。パスワードが期限切れになっているアカウントで実行している可能性があります。

1

実際、この問題はアクセス許可によって発生しています。スケジュールされたタスクとして、ジョブには特定のフォルダやファイルに対する権限がありませんでした。

0

Windows 2000とWindows XPで特定のスケジュールされたタスクに気づいた点は、マシンが再起動されるたびに、いくつかのタスクでパスワードを再入力する必要があることです。他はそれなしで仕事を続け、私は違いを特定したことはありません。

関連する問題