2012-03-05 4 views
6

설치 중에 사용자가 지정한 도메인 계정으로 실행해야하는 Windows 서비스가 있습니다..사용자가 서비스가 실행되는 계정을 지정하도록 허용

Wix 설치 프로그램에서 어떻게 가능합니까? 즉, 서비스에 사용해야하는 계정 + 비밀번호를 물어보십시오.

배경

내 서비스는 네트워크 공유에 대한 액세스를 필요로하고 내가 기존 도메인 사용자 계정을 사용할 수 있도록 LocalSystem 적절한 권한이 없습니다.

답변

7

ServiceInstall 요소는 여기에 친구입니다. 계정 및 비밀번호 속성을 포함합니다.

<Control Type="Edit" Property="ACCOUNT" ... /> 
<Control Type="Edit" Property="PASSWORD" Password="Yes" ... /> 

을 그리고 ServiceInstall 지시 이러한 속성을 사용하여 : : 그래서, 당신의 대화 상자에서 컨트롤의 몇 제작이 도움이

<ServiceInstall Id="..." Account="[ACCOUNT]" Password="[PASSWORD]" Type="ownProcess" ... /> 

희망을.

+0

난 당신이 무슨 뜻인지 볼 생각합니다. 'ServiceInstall' 엘리먼트의 값을 사용하여 계정을 설정할 수 있습니다. 옳은? 내가 사용할 수있는 표준 대화 상자가 없습니다. – nabulke

+0

수정하십시오. 아니요, 제가 아는 한 표준 대화 상자가 없습니다. 그러나 매우 간단해야합니다. –

+0

도움을 주셔서 감사합니다. – nabulke

3

서비스를 실행하려는 사용자의 계정 이름과 암호가 모두 필요합니다. 설치 프로그램에 사용자 이름과 암호를 묻는 사용자 지정 UI를 추가 한 다음 ServiceInsall 요소의 계정 및 암호 특성에 대해 제공된 값을 사용하여이 작업을 수행 할 수있었습니다.

서비스 실행에 사용 된 계정에는 서비스로 로그온 권한이 있어야합니다. 이것은 기본적으로 사용자에게 부여되지 않습니다. UtilExtension 스키마의 User 요소를 사용하여이 priveledge를 사용자에게 추가 할 수있었습니다. 사용자에게 권한을 추가하는 것은 설치 프로그램을 실행하는 사용자가 관리자 인 경우에만 성공합니다.

다음은 내가 사용한 코드입니다. SERVICECREDENTIALS_USERLOGIN 및 SERVICECREDENTIALS_PASSWORD는 사용자 지정 UI에서 채워진 속성입니다. 자세한 내용은

<Component Id="ServiceEXE" Guid="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"> 
    <File Id="ServiceEXE" Name="YourService.exe" DiskId="1" 
     Source="path\to\YourService.exe" KeyPath="yes" /> 
    <util:User Id="UpdateUserLogonAsService" UpdateIfExists="yes" CreateUser="no" Name="[SERVICECREDENTIALS_USERLOGIN]" 
      LogonAsService="yes" /> 
    <ServiceInstall Id="ServiceInstall" Type="ownProcess" Vital="yes" Name="YourService" 
        DisplayName="Your Service" Description="Your Service description" 
        Start="auto" Account=".\[SERVICECREDENTIALS_USERLOGIN]" Password="[SERVICECREDENTIALS_PASSWORD]" 
        ErrorControl="normal" Interactive="no" /> 

    <ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="YourService" Wait="yes" /> 
</Component> 

: 나는 계정 + 사용자에게 암호를 묻는 설치에 내 자신의 사용자 정의 대화 상자를 추가 할 수 있습니다 http://skullpsgblog.blogspot.in/2015/11/in-wix-setting-services-user-account.html

관련 문제