У меня есть собственный тип .acust, связанный с самодельным приложением. Планирование работает нормально до тех пор, пока оно является «Запускать только при входе пользователя в систему», но не работает как служба «Запускать независимо от того, вошел ли пользователь в систему или нет».
Очевидный обходной путь заключается в том, что вместо запуска файла .acust запускает задачу с приложением и передает параметр xxxx.acust in, но я все равно хотел бы, чтобы ассоциация работала, когда задача выполняется как служба. Это возможно ?
Проблема возникает как минимум в Windows Server 2012 и Windows 10. Этого не было в Windows 2008
Нет, невозможно запустить неисполняемый файл как службу, так как он должен взаимодействовать с диспетчером служб, сообщать свое состояние и т. Д.
Но вы все равно можете добиться того, что вам нужно, передав имя файла вашего .acust-скрипта исполняемому файлу программы.
На самом деле вы не можете создать сервис с помощью "Планировщика заданий", поэтому вам нужно скачать NSSM - Non-Sucking Service Manager. Распакуйте исполняемый файл в безопасное место (рекомендую распаковать в c: \ Windows), так как из этого файла будут запускаться новые службы. После этого выполните следующую команду (при условии, что nssm.exe
находится в системе PATH) nssm install RunAcust
(который должен открыть окно nssm), где вы сможете указать все, что вам нужно).