права доступа к каталогу установки службы wix

Я устанавливаю службу с помощью wix. также я создаю каталог с помощью CreateFolder. Служба при запуске проверяет, существует ли этот каталог.

Из-за проблем с разрешениями служба не может проверить наличие каталога. Следовательно, это не удается.

Может ли кто-нибудь сказать мне, как обеспечить правильные разрешения при создании каталога, чтобы служба работала успешно.

Вот код установки и запуска службы:

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

      <ServiceDependency Id="Winmgmt"/>

      <util:PermissionEx  User="Everyone"
                          GenericAll="yes"
                          ServiceChangeConfig="yes"
                          ServiceEnumerateDependents="yes"
                          ChangePermission="yes"
                          ServiceInterrogate="yes"
                          ServicePauseContinue="yes"
                          ServiceQueryConfig="yes"
                          ServiceQueryStatus="yes"
                          ServiceStart="yes"
                          ServiceStop="yes"/>

      <util:ServiceConfig FirstFailureActionType="restart"
                          SecondFailureActionType="restart"
                          ThirdFailureActionType="none"
                          ResetPeriodInDays="1"/>
    </ServiceInstall>

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

А вот код создания каталога:

        <Directory Id="D_MYDIR" Name="Mydir">
      <Component Id="C_FolderCreate" Guid="{CCCCCCB1-47BC-44E9-AAAA-1E750E257086}">
        <CreateFolder>
          <Permission GenericAll="yes" User="SYSTEM"/>
          <Permission User="Users" Domain="[LOCAL_MACHINE_NAME]" GenericRead="yes" Read="yes" GenericExecute="yes" ChangePermission="yes" Delete="yes"/>
        </CreateFolder>
      </Component>
    </Directory>

Большое спасибо за помощь :)

С уважением, Марк


person Mark    schedule 02.12.2011    source источник


Ответы (1)


Возможно, вам просто нужно установить разрешения для пользователя LocalSystem, поскольку это пользователь, под которым работает ваша служба, поскольку вы установили Account="LocalSystem".

<Permission GenericAll="yes" User="LocalSystem"/>
person Dave Andersen    schedule 02.12.2011