作成したexeファイ​ルをWindowsス​タートアップ時に実行​する

アプリケーションコンパイラによりexeファイルを作成しました。CUIアプリとして動作します。
そのexeをWindowsタスクスケジューラに登録し、PC起動時に自動実行されるようにしたいです。
トリガ条件を「スタートアップ時」に設定、
また、セキュリティオプションで「ユーザーがログオンしているかどうかにかかわらず実行する」にチェック、
「最上位の特権で実行する」にチェックを入れています。
この条件でPCを再起動しても、対象のexeファイルは起動しません。
タスクスケジューラの履歴には実行エラーも表示されず、トリガされていないようです。
同様のトリガ条件で、適当なテキストファイルを生成するバッチファイルをスケジューラに登録したところ、
そちらはスタートアップによって意図通りトリガされ、ファイルが生成されました。
MATLAB自体への質問ではなく恐縮ですが、もし原因がわかればご教授頂きたく、よろしくお願いします。

6 Kommentare

Kojiro Saito
Kojiro Saito am 15 Apr. 2022
EXEファイルを登録したタスクスケジューラの履歴には「コンピュータの起動によってトリガーされるタスク」、「タスクのプロセスが作成されました」、「タスクの開始」、「開始された操作」、「操作が完了しました」、「タスクが完了しました」という順で履歴が載りますが、トリガーされていないというのは履歴ではどこまでのタスクが実行されていますか?
成輝 服部
成輝 服部 am 15 Apr. 2022
すみません「トリガされていない」は誤りで、トリガされていました。
ただ、対象のMATLABアプリは、whileで常時待ち受けするようなものなので、「実行中」の状態に留まるのが期待動作と考えていますが、タスクが完了し「準備完了」の状態になっていました。
アプリ内の処理内容が関係しているかもしれません。
もう少しこちらで調査し、追記できる情報あればまたご連絡します。
成輝 服部
成輝 服部 am 15 Apr. 2022
何度か試しましたが、タスクのカテゴリが「タスクの開始(状態:実行中)」で止まる場合と、「タスクが完了しました(状態:準備完了)」の二つのケースがあり、何起因で結果が変わるのかがわかりません。
状態:実行中 の場合は、アプリの期待動作になっています。
アプリで実施している内容を簡単に記載すると、
・PCのシリアルポートのデータを読み取る
・読み取ったデータを一定周期で、指定フォルダ/ファイル名でcsvで吐き出す
・データの値がある閾値を超えたら、Slackに通知する
というようなものです。
Kojiro Saito
Kojiro Saito am 15 Apr. 2022
状態:準備完了の場合には内部処理で何かしらエラーが出ていると思われます。
コンパイル時にアプリケーションコンパイラの「ランタイム追加設定」で「ログファイルの作成」にチェックを入れて適当なファイル名(log.txt)を指定してEXEを作り直してみてください。
このログファイルはEXEが実行されたときのカレントディレクトリに作成されます。タスクスケジューラの設定で「操作の編集」で「開始 (オプション)(T:)」でEXEがあるフォルダを作業フォルダとして指定してみると、実行時にログファイルがEXEと同じ場所に出力されるので、もう少し原因が絞り込めると思います。
成輝 服部
成輝 服部 am 21 Apr. 2022
返事が遅くなりすみません。
教えて頂いた通り、ログ出力を有効にして実行しました。
MATLABアプリで定期的にcsvを出力させていましたが、その出力に失敗してエラー終了しているようでした。
-----↓エラーログイメージ---------------------------------------------------------------------------------------------------------
エラー: writematrix (行 206)
ファイル 'G:\マイドライブ\***\***.csv' を書き込み用に開けません:
No such file or directory
------------------------------------------------------------------------------------------------------------------------------------------
csv出力先フォルダにGドライブ(Googleドライブに自動アップロードされるフォルダ)を指定していました。
Windowsのスタートアップ時点ではGドライブはマウントされていないため、書き込みに失敗するようです。
出力先をDドライブにするとエラーなしで起動できるようになりました。
助言頂きましてありがとうございました。
Kojiro Saito
Kojiro Saito am 21 Apr. 2022
起動時にマウントができていないで出るエラーだったのですね。解決して良かったです。

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu スタンドアロン アプリケーション finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2021b

Gefragt:

am 15 Apr. 2022

Kommentiert:

am 21 Apr. 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!