Как установить и запустить службу Windows с помощью WiX
Я попытался использовать коды ниже в Wix.
но при установке установщик зависал в течение 3 минут в состоянии: запуск служб, затем я получил это сообщение " Service Jobservice не удалось запустить. Убедитесь, что у вас достаточно прав для запуска системных служб". Есть ли ошибки в моих кодах? И могу ли я попросить пользователя ввести имя пользователя и пароль системы windows во время установки, чтобы получить "привилегии"?
спасибо a много!
<File Id='JobServiceEXE' Name='JobService.exe' DiskId='1'
Source='JobService.exe' Vital='yes' KeyPath='yes'/>
<ServiceInstall Id="ServiceInstaller" Type="ownProcess" Vital="yes"
Name="JobService" DisplayName="123 Co. JobService"
Description="Monitoring and management Jobs" Start="auto"
Account="LocalSystem" ErrorControl="ignore" Interactive="no" />
<ServiceControl Id="StartService" Stop="both" Remove="uninstall"
Name="JobService" Wait="yes" />
</Component>
3 ответа:
следующий код работает для меня... нет необходимости запрашивать имя пользователя/пароль :)
<File Id='JobServiceEXE' Name='JobService.exe' DiskId='1' Source='JobService.exe' KeyPath='yes'/> <ServiceInstall Id="ServiceInstaller" Type="ownProcess" Name="JobService" DisplayName="123 Co. JobService" Description="Monitoring and management Jobs" Start="auto" Account="[SERVICEACCOUNT]" Password="[SERVICEPASSWORD]" ErrorControl="normal" /> <ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="JobService" Wait="yes" /> </Component>
Я нашел решение на этой странице установит службу правильно, но что элемент ServiceControl не будет запускать службу.
сравнение установленного сервиса wix с установленным вручную сервисом ("JobService.exe / install"), в поле "путь к исполняемому файлу" отсутствовал переключатель запуска. Исправлено это в wix с атрибутом аргументов ServiceInstall;
<File Id='JobServiceEXE' Name='JobService.exe' DiskId='1' Source='JobService.exe' KeyPath='yes'/> <ServiceInstall Id="ServiceInstaller" Type="ownProcess" Name="JobService" DisplayName="123 Co. JobService" Description="Monitoring and management Jobs" Start="auto" Account="[SERVICEACCOUNT]" Password="[SERVICEPASSWORD]" ErrorControl="normal" Arguments=" /start JobService" /> <ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="JobService" Wait="yes" /> </Component>
долгое время lurker, это мой первый пост здесь - я надеюсь, что это поможет кому-то.
обновление для пользователей версии 3.х Уикс. Следующий код установит и запустит службу под локальной учетной записью. Обратите внимание на свойство Arguments в теге ServiceInstall.
<File Source="$(var.MyService.TargetPath)" /> <ServiceInstall Id="ServiceInstaller" Name="MyService" Type="ownProcess" Vital="yes" DisplayName="My Service" Description="My Service Description" Start="auto" Account="LocalSystem" ErrorControl="normal" Arguments=" /start MyService" Interactive="no" /> <ServiceControl Id="StartService" Name="MyService" Stop="both" Start="install" Remove="uninstall" Wait="yes" />