служба wix не запускается, но если я запускаю вручную, она работает - PullRequest
0 голосов
/ 20 января 2012

Я пишу установщик, используя wix.Как часть установки, я устанавливаю сервис и запускаю его.Но я не могу запустить службу.

Это код wix:

      <Component Id="Service" Guid="*">
    <File Id="MyService.exe"
          Name="MyService.exe"
          Source="MyService.exe"/>

    <ServiceInstall Id="ServiceInstaller"
                    Type="ownProcess"
                    Vital="yes"
                    Name="MyService"
                    DisplayName="Name="MyService.exe"
                    Description="Name="MyService.exe"
                    Start="auto"
                    Account="LocalSystem"
                    ErrorControl="normal"
                    Interactive="no">

      <ServiceDependency Id="CcmExec"/>
    </ServiceInstall>

    <ServiceControl Id="ServiceController"
                    Start="install"
                    Stop="both"
                    Remove="uninstall"
                    Name="MyService"
                    Wait="no"/>
  </Component>
</DirectoryRef>

После просмотра подробных журналов MSI появляется ошибка 1920

Но если яустановите службу вручную (используя MyService -service из командной строки cmd) и запустите ее с помощью Services.msc, все работает нормально.После этого мой установщик может удалить, а при переустановке снова запустить службу без каких-либо проблем.

1 Ответ

6 голосов
/ 20 января 2012

Атрибут Name вашего элемента ServiceControl не соответствует атрибуту Name вашего элемента ServiceInstall. Вы создаете службу с именем «MyService», но пытаетесь запустить службу с именем «MyService.exe». Эта услуга не существует, поэтому вы получите 1920.

Также вторичной причиной может быть то, что ваш exe-сервис имеет метаданные COM, и вы не создали это в wxs.

...