서비스 구성 사용하기

서비스 구성을 사용하면 Windows Installer가 컴퓨터에서 서비스를 사용자 지정할 수 있습니다. 개발자는 ServiceControlServiceInstall 테이블과 InstallServices, StopServicesDeleteServices 작업을 사용하여 설치 중에 서비스를 설치, 중지, 시작 및 삭제하는 Windows Installer 패키지를 작성할 수 있습니다.

Windows Installer 5.0용으로 작성된 패키지부터 개발자는 MsiConfigureServices 표준 작업 및 MsiServiceConfig 테이블을 사용하여 Windows 7 및 Windows Server 2008 R2 및 Windows Vista 및 Windows Server 2008에서 사용할 수 있는 확장 서비스 사용자 지정 옵션을 구성할 수도 있습니다. MsiServiceConfig 테이블을 포함하지 않은 Windows Installer 버전용으로 작성된 기존 설치 패키지는 Windows Installer 5.0을 사용하여 설치할 수 있습니다. Windows Installer의 서비스 구성 기능은 네트워크 서비스 계정을 구성하거나, 공유 서비스 호스트(svchost) 프로세스를 설치하거나, 설치의 일부로 중지된 서비스를 다시 시작할 수 없습니다.

Windows XP 및 Windows Server 2003 이하: 지원되지 않습니다. 서비스 구성 테이블 및 표준 작업은 Windows Vista 및 Windows Server 2008에서 실행되는 Windows 7 및 Windows Server 2008 R2 및 Windows Installer 4.5에서 실행되는 Windows Installer 5.0부터 사용할 수 있습니다.

MsiServiceConfig 테이블에서 지정한 서비스 구성을 요청하려면 InstallExecuteSequence 테이블에 MsiConfigureServices 작업을 포함해야 합니다. Windows Installer는 MsiConfigureServices 표준 작업이 시퀀스 테이블에 포함된 경우에만 MsiServiceConfig 테이블의 정보를 사용합니다. MsiConfigureServices 표준 작업은 ServiceControlServiceInstall 테이블의 정보도 사용합니다.

시스템이 특정 서비스에 필요한 권한만 제공하도록 요청하려면 MsiServiceConfig 테이블에서 서비스 및 SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO 구성 옵션을 지정합니다. 서비스의 프로세스 토큰에서 불필요한 권한을 제거합니다. 이 옵션은 LocalSystem, LocalService 또는 NetworkService 서비스 사용자 계정의 보안 컨텍스트에서 실행되는 서비스를 구성하는 데 사용할 수 있습니다.

시스템이 다른 모든 자동 시작 서비스를 시작한 후 한 시간 동안 서비스의 자동 시작을 지연하도록 요청하려면 MsiServiceConfig 테이블에서 서비스 및 SERVICE_CONFIG_DELAYED_AUTO_START 옵션을 지정합니다. 지연되는 서비스는 ServiceInstall 테이블에 지정된 SERVICE_AUTO_START 현재 패키지에 의해 설치되어야 합니다. 그렇지 않으면 서비스가 이미 자동 시작 서비스로 설치되어 있어야 합니다.

시스템에서 특정 서비스의 단독 사용을 위해 리소스를 예약하도록 요청하려면 MsiServiceConfig 테이블에서 서비스, 서비스 SID 유형 및 SERVICE_CONFIG_SERVICE_SID_INFO 구성 옵션을 지정합니다. 리소스에 대한 리소스의 ACL(Access Control 목록)에 서비스의 SID를 추가합니다.

서비스에 SERVICE_CONTROL_PRESHUTDOWN 알림을 보낸 후 SCM(서비스 제어 관리자)이 대기하도록 요청하려면 다음을 수행합니다. MsiServiceConfig 테이블에서 서비스, SCM이 대기해야 하는 시간 및 SERVICE_CONFIG_PRESHUTDOWN_INFO 구성 옵션을 지정합니다.

서비스가 실패한 후 시스템이 작업을 실행해야 하는 시기를 구성하려면 MsiServiceConfig 테이블에서 서비스 및 SERVICE_CONFIG_FAILURE_ACTIONS_FLAG 옵션을 지정합니다. MsiServiceConfigFailureActions 테이블에 실행할 작업을 추가합니다.

Windows Vista 및 Windows Server 2008 운영 체제에 도입된 확장 서비스 사용자 지정 기능에 대한 자세한 내용은 Windows Vista용 서비스 변경을 참조하세요.