MsiSetFeatureStateA 함수(msiquery.h)
MsiSetFeatureState 함수는 기능을 지정된 상태로 설정합니다.
통사론
UINT MsiSetFeatureStateA(
[in] MSIHANDLE hInstall,
[in] LPCSTR szFeature,
[in] INSTALLSTATE iState
);
매개 변수
[in] hInstall
DLL 사용자 지정 작업에 제공되거나
[in] szFeature
기능의 이름을 지정합니다.
[in] iState
설정할 상태를 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
기능이 설치되지 않았습니다. |
|
이 기능은 로컬 드라이브에 설치됩니다. |
|
이 기능은 원본, CD 또는 네트워크에서 실행됩니다. |
|
이 기능은 보급됩니다. |
반환 값
MsiSetFeatureState 함수는 다음 값을 반환합니다.
발언
MsiSetFeatureState 함수는 기능 테이블 및 해당 자식에서 기능의 선택 상태 변경을 요청합니다. 따라서 변경된 기능 레코드에 연결된 모든 구성 요소의 작업 상태도 새 기능 선택 상태에 따라 적절하게 업데이트됩니다.
msiSetFeatureState호출하기 전에
MsiSetFeatureState 호출되면 설치 관리자는 지정된 기능에 연결된 각 구성 요소의 작업 상태를 지정된 상태로 설정하려고 시도합니다. 그러나 요청을 완전히 구현할 수 없는 일반적인 상황이 있습니다. 예를 들어 기능이
두 개 이상의 기능이 단일 구성 요소(일반적인 시나리오)에 연결된 경우 해당 구성 요소의 최종 작업 상태는 다음과 같이 결정됩니다.
- 하나 이상의 기능을 구성 요소를 로컬로 설치해야 하는 경우 이 기능은 로컬 상태로 설치됩니다.
- 하나 이상의 기능을 원본에서 구성 요소를 실행해야 하는 경우 이 기능은 원본 상태로 설치됩니다.
- 하나 이상의 기능에서 구성 요소를 제거해야 하는 경우 작업 상태가 없습니다.
함수가 실패하면 MsiGetLastErrorRecord사용하여 확장 오류 정보를 가져올 수 있습니다.
메모
msiquery.h 헤더는 MSiSetFeatureState를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Server 2012, Windows 8, Windows Server 2008 R2 또는 Windows 7의 Windows Installer 5.0. Windows Server 2008 또는 Windows Vista의 Windows Installer 4.0 또는 Windows Installer 4.5. Windows Server 2003 또는 Windows XP의 Windows Installer |
대상 플랫폼 | Windows |
헤더 | msiquery.h |
라이브러리 | Msi.lib |
DLL | Msi.dll |