Я не могу понять, как мы можем изменить режим существующего сервиса с автоматического на ручной с помощью installscript в InstallShield.Как изменить режим существующего сервиса с автоматического на ручной и наоборот в InstallShield через installscript?
ответ
Вы хотите запустить CMD с помощью installscript и запустить команду для изменения службы.
Я считаю, что вы используете метод LaunchApplication, передайте его WINSYDIR^"cmd.exe"
для запуска приложения в качестве первого параметра.
Для следующего параметра метода, который является аргументы для передачи приложению, которое требуется для запуска, передать его
"/c " + WINSYDIR^sc +" config servicename start=mode"
Заменить SERVICENAME с именем службы, которую вы хотите изменить, и режим с одним из этих вариантов
- авто - сервис запускается автоматически во время загрузки, даже если нет пользователей журналов на
- ботинка - это устройство драйвер загружен загрузчиком
- спроса - это услуга, которая должна быть запущена вручную (по умолчанию)
- отключена - это услуга, которая не может быть запущена
- системы - сервис запускается при инициализации ядра
Возможно, вам придется столкнуться с этим вторым параметром. В основном, то, что мы делаем здесь, это запустить командную строку и команду запускать ее одним выстрелом. Параметр/c, переданный в CMD, сообщает ему, что вы также хотите передать CMD команду для запуска при ее запуске. Таким образом, фактическая команда, которая запускается, - «sc config servicename start = mode». WINSYDIR - это просто макрос Installscript, который возвращает местоположение папки windows/system32, где живут приложения, такие как cmd.exe и sc.exe. Это может не понадобиться, если этот путь уже является переменной среды на машине.
Дайте мне знать, если возникнут какие-либо вопросы.