2013-06-20 6 views
2

Я пытаюсь установить службы Windows с помощью WIX. Услуги окна устанавливаются в порядке, и если я проверяю в Service Manager, я в состоянии видеть, что установлены мои услуги и пытаюсь начать, как показано ниже:WIX Установка службы windows

logservice

После 3-х до 4 минут я получаю сообщение об ошибке требуются достаточные привилегии. Пожалуйста, смотрите изображение для сообщения об ошибке:

setupinstalling

Если я запускаю мою установку Windows Services вручную, то это установка отлично без каких-либо проблем в запуске. Что я делаю неправильно, кто-нибудь может помочь?

Ниже приведен код, который я использую:

public ProjectInstaller() 
     {this.ServiceProcessInstaller = new System.ServiceProcess.ServiceProcessInstaller(); 
      this.ServiceInstaller = new System.ServiceProcess.ServiceInstaller(); 
      // 
      // ServiceProcessInstaller 
      // 
      this.ServiceProcessInstaller.Account = System.ServiceProcess.ServiceAccount.LocalService; 
      this.ServiceProcessInstaller.Password = null; 
      this.ServiceProcessInstaller.Username = null; 
      // 
      // ServiceInstaller 
      // 
      this.ServiceInstaller.ServiceName = "Service"; 
      this.ServiceInstaller.StartType = System.ServiceProcess.ServiceStartMode.Automatic; 
     } 

Ниже мой WIX код:

<File Id='SetupService' Name='SetupService' DiskId='1' Source='setup.exe' KeyPath='yes'/> 
<ServiceInstall Id="ServiceInstaller" Type="ownProcess" Name="SetupService" DisplayName="DataLogsetup" Description="Service" Start="auto" Account="[SERVICEACCOUNT]" Password="[SERVICEPASSWORD]" ErrorControl="normal"/> 
<ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="SetupService" Wait="yes" /> 

Я также пытался передать в [LocalService] на счете, но все-таки я я получаю ту же ошибку. Есть ли способ установить мой сервис с помощью WIX?

ответ

2

Я вижу несколько причин, которые могут привести к провалу здесь:

  1. Вы не зовем

    Installers.Add(this.ServiceInstaller); Installers.Add(this.ServiceProcessInstaller);

в конце вашего метода. The Installers.Add(..) линия должна фактически добавить сервис в таблицу обслуживания. See the example at the end of this page

  1. Насколько я знаю, классы Installer не поддерживаются в WIX, пользовательские действия используются вместо этого. Как вы называете свой код из WIX?

  2. WIX имеет элемент <ServiceInstall> для установки услуг. Хотя это и не очень важно, этот элемент очень мощный и предпочтительный метод установки служб Windows. См. Installing and starting a Windows Service using WiX

+0

: Благодарю вас за ответ. Я смог установить службу. Поскольку я сделал несколько изменений внутри product.wxs. Предоставьте ниже рабочий. – reapen

+1

<Идентификатор файла = "Setup.exe" Имя = "Setup.exe" Источник = "setup.exe" DiskId = '1' KeyPath = 'yes' /> reapen

Смежные вопросы