WiX를 사용하여 Windows 서비스를 설치합니다. 설치 프로그램을 실행하는 Windows 사용자의 컨텍스트에서 서비스를 실행하려면 어떻게해야합니까?WiX ServiceInstall - 현재 Windows 사용자로 실행되도록 서비스 설정
답변
서비스를 실행하려는 사용자의 계정 이름과 암호가 모두 필요합니다. 설치 프로그램에 사용자 이름과 암호를 묻는 사용자 지정 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>
당신은 내가 SQL 인증을위한 2 가지 구성 요소와 Windows 인증을위한 1 가지 조건, 즉 조건을 추가하는 방법을 어떻게 가질 수 있는지 알려줄 수 있습니까? –
이 코드는 전혀 작동합니까? LogonAsService 권한 * 및 *을 설정하면 결과 .msi 패키지에서 순차적으로 예약되지 않습니다. 이런 이유로 설치가 실패합니다 ... 아니면 뭔가 빠졌습니까? –
- 1. Wix : 제거시 Windows 서비스 중지
- 2. Wix ServiceInstall 태그를 사용하여 Tomcat 6을 서비스로 어떻게 설치합니까?
- 3. Windows 서비스 설정 프로젝트
- 4. Windows 서비스 구성 설정
- 5. IIS를 현재 사용자로 실행
- 6. 현재 VB.net Windows 서비스 디렉터리
- 7. 암호가없는 사용자로 서비스 시작
- 8. Windows 서비스 설정 프로젝트 - 관리자 권한으로 서비스 실행
- 9. Windows 서비스 사용자 계정 설정
- 10. WiX 설치 프로그램의 매개 변수 서비스 시작 옵션
- 11. Wix 네트워크 읽기 및 쓰기 서비스
- 12. 다중 플랫폼 WiX 설치 프로그램에 아키텍처 종속 서비스 설치
- 13. WCF 서비스 하나의 사용자로 가장하지만 스틸 사용자 Windows 인증으로 가장합니까?
- 14. 사용자로 Windows 서비스를 설치하지 못했습니다.
- 15. WiX, Windows Installer 요약?
- 16. ASP.NET 연결 문자열을 특정 도메인 사용자로 설정
- 17. 플래시가있는 Windows 서비스
- 18. Wix Major 업그레이드 : Windows 서비스 재설치를 방지하려면 어떻게해야합니까?
- 19. WiX (2.0)를 사용하여 다중 파일 NT 서비스 설치
- 20. 간단한 Wix 설정 프로젝트를 만드는 방법
- 21. Windows Azure - 테이블 서비스 - 고급 설정
- 22. Windows 서비스 설정 프로젝트 - 디버그 기호 포함
- 23. VB.NET을 사용하여 Windows 7에서 서비스 설정 구성
- 24. Windows 서비스 복구 작업 설정 설명
- 25. Windows 및 Mono에서 C# 서비스 설정 저장
- 26. Wix - 파일 읽기 권한 설정
- 27. Windows 서비스 제거 문제 Windows 서비스 제거
- 28. Python 2.7에서 실행되도록 Scrapy 프레임 워크 설정
- 29. WCF 서비스 (Windows 서비스 포함)
- 30. WIX : 설치 후 WCF 서비스를 시작하는 중 오류가 발생합니다.
왜 서비스를 현재 사용자로 실행 하시겠습니까? 서비스의 요점은 로그온 한 사용자가 없을 때 실행할 수 있고 실행 파일에 대한 관리자 권한을 용이하게하기 위해 LocalSystem으로 실행할 수 있어야한다는 것입니다. 나는 당신이 좋은 이유가 있다고 확신한다 ... –
당신이 특정 사용자로서 그것을 실행할 수있는 한 가지 이유는 SQL 서버에 연결이 필요하고 SQL 서버가 Windows 인증을 사용하도록 구성되었다는 것입니다. "로컬 서비스"를 SQL 사용자 목록에 추가하십시오. –