IMsmMerge::OpenModule 메서드(mergemod.h)
OpenModule 메서드는 읽기 전용 모드에서 Windows Installer 병합 모듈을 엽니다. 설치 데이터베이스와 통합하려면 먼저 모듈을 열어야 합니다. 자세한 내용은 Merge 개체의 OpenModule 메서드를 참조하세요.
IMsmMerge2::OpenModule Mergemod.dll 버전 2.0 이상.
구문
HRESULT OpenModule(
[in] const BSTR Path,
[in] const short Language
);
매개 변수
[in] Path
병합 모듈을 가리키는 정규화된 파일 이름입니다. BSTR 대신 LPCWSTR을 사용할 수 있습니다.
[in] Language
언어 식별자(LANGID)입니다.
반환 값
OpenModule 함수는 다음 값을 반환합니다.
값 | 의미 |
---|---|
|
지정된 파일은 Windows Installer 데이터베이스이지만 병합 모듈이 아닙니다( ModuleSignature 테이블 누락). |
|
언어는 모듈에서 지원되지 않습니다. |
|
언어는 모듈에서 지원되지만 변환을 적용하는 동안 오류가 발생했습니다. |
|
파일을 Windows Installer 데이터베이스로 열 수 없습니다. |
|
이미 열려 있는 모듈이 있습니다. 현재 모듈을 먼저 닫습니다. |
|
함수가 성공했습니다. |
설명
이 함수는 병합 모듈을 읽기 전용 모드(MSIDBOPEN_READONLY)로 열고 CloseModule 함수가 호출될 때까지 병합 모듈에 쓰는 다른 프로그램을 제외합니다. 병합 모듈을 병합하려면 먼저 열어야 합니다.
설치 관리자는 언어로 지정된 언어 또는 더 이상 일반 언어로 모듈을 열려고 시도합니다. 예를 들어 언어 값으로 1033을 지정하면 기본 언어가 1033, 9 또는 0인 모듈이 기본 언어로 열립니다. Language 값이 9이면 기본 언어가 9 또는 0인 모듈이 열립니다. 모듈의 기본 언어가 지정된 요구 사항을 충족하지 않으면 모듈을 요청된 언어로 변환하려고 시도합니다. 실패하면 설치 관리자는 모듈을 점점 더 일반적인 언어로 변환하려고 시도합니다. 어떤 변환도 성공하지 못하면 모듈이 열리지 않습니다. 이 경우 msmErrorLanguageUnsupported 형식의 오류 목록에 오류가 추가되고 함수는 ERROR_INSTALL_LANGUAGE_UNSUPPORTED HRESULT로 반환합니다.
모듈을 원하는 언어로 변환하는 동안 오류가 발생하면 msmErrorLanguageFailed 형식의 오류가 생성되고 함수는 ERROR_INSTALL_TRANSFORM_FAILURE HRESULT로 반환합니다.
자세한 내용은 Error 개체의 Type 속성을 참조하세요.
통합 모듈을 열면 아직 검색되지 않은 오류가 지워집니다.
요구 사항
지원되는 최소 클라이언트 | Mergemod.dll 1.0 이상 |
대상 플랫폼 | Windows |
헤더 | mergemod.h |
DLL | Mergemod.dll |