Служба Windows, установленная Wix
Я использую WiX 3.6, чтобы создать установщик для службы Windows. У меня есть решение, и я могу установить службу на моей машине для разработки, и служба запускается так, как я хотел.
Проблема возникает, когда я копирую msi (Build или Release) на компьютер с Windows Server 2003 R2, на котором будет работать служба.
Я могу установить службу, но при попытке запустить службу выдает ошибку
"Не удалось запустить службу. Убедитесь, что у вас достаточно прав для запуска службы системы".
Теперь я могу установить и запустить другие службы, которые я создал, поэтому у меня теперь есть права доступа к серверу. Ниже мой сервисный элемент установки.
У меня вопрос, что мне не хватает, что служба запускается на компьютере разработчика, а не на сервере?
<File Id="CopyService.exe" Name="CopyService.exe" Source="..\CopyService\bin\$(var.CopyService.Configuration)\CopyService.exe" Vital="yes" KeyPath="yes" DiskId="1"/>
<File Id="App.config" Name="CopyService.exe.config" Source="..\CopyService\bin\$(var.CopyService.Configuration)\CopyService.exe.config" Vital="yes" KeyPath="no" DiskId="1"/>
<ServiceInstall
Id="ServiceInstaller"
Type="ownProcess"
Vital="yes"
Name="ACSIAccountingReports"
DisplayName="ACSI Accounting Reports"
Description="Service copies accounting reports from NetForum into an ACSI network folder."
Start="auto"
Account="LocalSystem"
ErrorControl="ignore"
Interactive="no">
</ServiceInstall>
<ServiceControl Id="StartService" Name="ACSIAccountingReports" Start="install" Wait="yes" />
<ServiceControl Id="StopService" Name="ACSIAccountingReports" Stop="both" Wait="yes" Remove="uninstall" />
1 ответ
Сообщение об ошибке, которое вы видите, является сообщением об ошибке по умолчанию от установщика Windows для всех сбоев установки службы. Это не очень полезно. Чтобы отладить реальную проблему, попробуйте снова запустить службу, пока открыто диалоговое окно с сообщением об ошибке. Скорее всего, вы получите более подробное сообщение об ошибке, почему ваша служба не запускается. Если вы по-прежнему ничего не получаете, попробуйте использовать инструмент, подобный зависимости.exe или fuslogvw (чтобы включить ошибки загрузки сборок NETFX), чтобы проверить, есть ли в вашем исполняемом файле службы некоторые недостающие зависимости.
Помните, что файлы GAC не будут завершены до самого конца установки. Следовательно, ваша служба не может зависеть от файлов GAC и запускать службу во время установки.