Кажется, что планировщик задач Windows не запускает приложение так же, как когда я запускаю его из командной строки или из файлового менеджера, хотя я запускаю его под своим логином и с самыми высокими привилегиями.
У меня есть приложение ac # (visual studio 17), которое открывает настольную версию quickbooks версии 19, а затем немедленно закрывает его.
У меня есть командный файл, который я запускаю с вызываемым exe-файлом.Пакетный файл запускает exe только с командой для проверки открытия / закрытия быстрых книг.
Если я запускаю пакетный файл из проводника или из командной строки (как администратор), он работает многократно.Проверяя диспетчер задач, я вижу, что в списке есть Quickbooks.
Если я затем запускаю его из планировщика задач (используя немедленный запуск), он работает в первый раз, а затем в любое другое время не сможет подключиться.Проверяя диспетчер задач, я вижу, что Quickbooks снова все еще открыт.
Если я очищаю quickbooks в диспетчере задач, я могу снова запустить его в планировщике задач, но затем мне придется каждый раз снова очищать его.
Моя задача настроена на использование того же идентификатора пользователя, с которым я вошел в систему на этом компьютере (также там, где у меня запущены быстрые книги) с тем же паролем и настроен на запуск с наивысшим приоритетом.
Так что, если я сделаю эти вещи: очистите это.запустить его из файлового менеджера.(это работает) запустить его из планировщика задач (это не удается) запустить его снова из файлового менеджера (это работает!)
Кажется, что-то в планировщике задач препятствует его закрытию, но я понятия не имею, что.
Если я посмотрю журнал, похоже, что при попытке BeginSession запустить планировщик задач не удается.
sessionManager.OpenConnection("", _UseAppNameToQuickbooks);
sessionManager.BeginSession(_quickbooksFileLocation, ENOpenMode.omDontCare);
И затем закрываем его:
sessionManager.EndSession();
sessionManager.CloseConnection();
Редактировать: Хорошо, так что я думаю, что это может иметь какое-то отношение к тому, как планировщику задач нравится запускать все в 64-битной среде.Я нашел это: https://social.msdn.microsoft.com/Forums/aspnet/en-US/29446adf-8304-4b9f-bbc4-95daf2941d53/program-runs-fine-but-task-scheduler-wont-run-it?forum=winserver2008appcompatabilityandcertification но, похоже, это не помогло, когда я открыл окно командной строки с ним.
%systemroot%\Syswow64\cmd.exe /C myprogram.exe
Я все еще вижу ту же проблему.