2011-12-02 2 views
0

wix를 사용하여 서비스를 설치하고 있습니다. 또한 CreateFolder를 사용하여 디렉토리를 만들고 있습니다. 서비스가 시작될 때이 디렉토리가 존재하는지 여부를 확인합니다.wix serviceinstall 디렉토리 사용 권한

사용 권한 문제로 인해 서비스에서 디렉터리가 있는지 확인할 수 없습니다. 그러므로 그것은 실패하고있다.

누구든지 서비스를 만들 수 있도록 디렉터리를 만드는 동안 적절한 사용 권한을 부여하는 방법을 알려주십시오.

여기 서비스가 설치 및 코드 시작이다 :

<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> 

덕분에 도움을 많이 :)

최고 감사합니다, 마크

답변

2

아마도 사용 권한을 설정하기 만하면됩니다.을 설정 한 이후로 LocalSystem 사용자가 서비스를 실행중인 사용자이기 때문에 LocalSystem 사용자입니다.

<Permission GenericAll="yes" User="LocalSystem"/> 
관련 문제