『タスクスケジューラで想定通りに動かない時は、この項目の値を変えてテストするのも一つの手』
というレベルの参考情報となります。
現象
Process.Start()
で別アプリケーションを起動するC#.NETのexe。
起動する別アプリケーションは下記にアイコンが載るようなもの。
(バックグラウンドで動く系のアプリ)
exeをダブルクリックで実行した時の動作は問題無し。
でも exeをタスクスケジューラ経由で実行したら 想定通りの動作にならなかった。
(別アプリケーションはタスクマネージャー上だと起動しているが ^マーク内にアイコンが載らないなど、いろいろ想定通りにならなかった)
その時は 『ユーザーがログオンしているかどうかにかかわらず実行する』 にしていた。
逆に下記のように 『ユーザーがログオンしているときのみ実行する』 に変更したら想定通りに動くようになった。
(タスクを実行するユーザーアカウントは変えず)
『ユーザーがログオンしているときのみ実行する』 の設定でも支障が無い要件だったので、これで良しとした。
蛇足
『exeを直接実行すると問題無いのに、タスクスケジューラ経由で実行すると想定通りにならない』ってこと結構ある。
『タスクスケジューラで実行して動作確認』(より本番に近い状況で動作確認)
を忘れないようにしよう!
バージョン
Windows 10 Pro 21H2 OSビルド 19045.2251
Microsoft .NET Framework Version 4.8.04084