1

タスクを自動的にスケジュールするアプリケーションを作成しています。Windows 7 と Windows XP の両方で動作するはずです。残念ながら、Windows XP では実行できないようです。

セットアップ .C ファイルで、バッチ ファイルを作成して実行します。Windows 7 バージョンでは、タスク コマンドは次のようになります。

schtasks /create /tn \"<Script Name>\" /xml \"%s\\<Script XML>\"

%s は、セットアップ ファイル (および一時的なバッチ スクリプト) の作業ディレクトリです。この方法は、複数の Windows 7 マシンでテストされており、すべてのマシンで問題なく動作することが確認されています。XML ファイルを使用してタスクを作成することにした理由は、タスクがラップトップでは実行されないためです。デフォルトでは、自動生成された XML によってスクリプトがバッテリで実行されないように設定されているためです。

しかし、Windows XP で同じアプリケーションを実行しようとすると、/xml パラメータが認識されないというエラーが表示されたので、XP 用のタスク スケジュール コマンドを書き直しました。いずれにせよ、このアプリケーションが実行される XP コンピュータはラップトップではないことはわかっていたので、自動生成された XML の「バッテリで実行しない」部分について心配する必要はないと考えました。

Windows XP バージョンのタスク コマンドは次のとおりです。

schtasks /create /tn \"<Script Name>\" /tr \"%s\\<File To Run>.exe\" /sc minute /mo 60

アプリケーションのインストールが完了すると、スケジュールしたタスクで「実行できませんでした」というステータス メッセージが表示されます。手動で (XP と Windows 7 の両方で) 実行すると機能するため、スケジュールしている実行可能ファイルが機能することがわかっているため、この問題の解決策を見つけようと頭を悩ませています。

問題がある場合、実行可能ファイルは C# ファイルです。バッチ ファイルと C# 実行可能ファイルのオペレーティング ディレクトリをログに記録しましたが、どちらも正しいので、Windows XP でこのタスクを自動的に実行できない理由がわかりません。

誰かが私を助けることができれば、本当に感謝しています。私はこの問題に数日間取り組んできました。

4

1 に答える 1