Мне кажется, что ваше приложение не было правильно спроектировано для используемой операционной системы.
Это приложение звучит так, как будто оно действительно должно работать как служба Windows, а затем должен быть уровень пользователяприложение, которое может использоваться для управления им, в зависимости от ситуации.
Запуск программного обеспечения настольного интерфейса пользователя без действительного сеанса рабочего стола - плохая идея, тот факт, что Windows позволяет планировать именно такие вещи, несмотря на это.Но то, что вы хотите пойти дальше лучших практик, чтобы программное обеспечение «иногда» было доступным, на мой взгляд, напрашивается на архитектуру, которую я отметил выше.