MsiGetProductInfoA 함수(msi.h)
MsiGetProductInfo 함수는 게시된 제품 및 설치된 제품에 대한 제품 정보를 반환합니다.
구문
UINT MsiGetProductInfoA(
[in] LPCSTR szProduct,
[in] LPCSTR szAttribute,
[out] LPSTR lpValueBuf,
[in, out] LPDWORD pcchValueBuf
);
매개 변수
[in] szProduct
제품의 제품 코드를 지정합니다.
[in] szAttribute
검색할 속성을 지정합니다.
필수 속성은 사용할 수 있도록 보장되지만 다른 속성은 해당 속성이 설정된 경우에만 사용할 수 있습니다. 자세한 내용은 속성에 정의된 인터페이스의 private C++ 관련 구현입니다. 다음 목록의 속성은 설치된 애플리케이션에서만 검색할 수 있습니다.
속성 | 의미 |
---|---|
|
지원 링크입니다. 자세한 내용은 ARPHELPLINK 속성을 참조하세요. |
|
지원 전화 번호입니다. 자세한 내용은 ARPHELPTELEPHONE 속성을 참조하세요. |
|
이 제품이 마지막으로 서비스를 받은 시간입니다. 이 속성의 값은 제품에서 패치가 적용되거나 제거되거나 제품을 수리하는 데 /v 명령줄 옵션이 사용될 때마다 바뀝니다. 제품이 수리 또는 패치를 받지 않은 경우 이 속성에는 이 제품이 이 컴퓨터에 설치된 시간이 포함됩니다. |
|
설치된 언어입니다.
Windows Installer 4.5 이하: 지원되지 않습니다. |
|
설치된 제품 이름입니다. 자세한 내용은 ProductName 속성을 참조하세요. |
|
설치 위치입니다. 자세한 내용은 ARPINSTALLLOCATION 속성을 참조하세요. |
|
설치 원본입니다. 자세한 내용은 SourceDir 속성을 참조하세요. |
|
로컬 캐시된 패키지입니다. |
|
게시자입니다. 자세한 내용은 Manufacturer 속성을 참조하세요. |
|
URL 정보입니다. 자세한 내용은 ARPURLINFOABOUT 속성을 참조하세요. |
|
URL 업데이트 정보입니다. 자세한 내용은 ARPURLUPDATEINFO 속성을 참조하세요. |
|
ProductVersion 속성에서 파생된 부 제품 버전입니다. |
|
ProductVersion 속성에서 파생된 주 제품 버전입니다. |
|
제품 버전입니다. 자세한 내용은 ProductVersion 속성을 참조하세요. |
설치된 애플리케이션에서 제품 ID, 등록된 소유자 또는 등록된 회사를 검색하려면 szProperty 를 다음 텍스트 문자열 값 중 하나로 설정합니다.
값 | Description |
---|---|
ProductID | 제품의 제품 식별자입니다. 자세한 내용은 ProductID 속성을 참조하세요. |
RegCompany | 이 제품을 사용하도록 등록된 회사입니다. |
RegOwner | 이 제품을 사용하도록 등록된 소유자입니다. |
제품의 instance 유형을 검색하려면 szProperty를 다음 값으로 설정합니다. 이 속성은 보급된 제품 또는 설치된 제품에 사용할 수 있습니다.
값 | 설명 |
---|---|
InstanceType | 값이 없거나 값이 0이면 일반 제품 설치를 나타냅니다. 값 1은 다중 instance 변환 및 MSINEWINSTANCE 속성을 사용하여 설치된 제품을 나타냅니다. Windows Server 2003 또는 Windows XP SP1을 실행하는 설치 관리자에서 사용할 수 있습니다. 자세한 내용은 제품 및 패치의 여러 인스턴스 설치를 참조하세요. |
다음 목록의 보급된 속성은 보급되거나 설치된 애플리케이션에서 검색할 수 있습니다.
속성 | 설명 |
---|---|
INSTALLPROPERTY_TRANSFORMS | 변환. |
INSTALLPROPERTY_LANGUAGE | 제품 언어입니다. |
INSTALLPROPERTY_PRODUCTNAME | 사람이 읽을 수 있는 제품 이름입니다. 자세한 내용은 ProductName 속성을 참조하세요. |
INSTALLPROPERTY_ASSIGNMENTTYPE | 제품이 사용자별로 보급되거나 설치된 경우 0과 같습니다.
제품이 모든 사용자에 대해 컴퓨터별로 보급되거나 설치된 경우 1(1)과 같습니다. |
INSTALLPROPERTY_PACKAGECODE | 이 제품이 설치된 원본 패키지의 식별자입니다. 자세한 내용은 패키지 코드를 참조하세요. |
INSTALLPROPERTY_VERSION | ProductVersion 속성에서 파생된 제품 버전입니다. |
INSTALLPROPERTY_PRODUCTICON | 패키지의 기본 아이콘입니다. 자세한 내용은 ARPPRODUCTICON 속성을 참조하세요. |
INSTALLPROPERTY_PACKAGENAME | 원래 설치 패키지의 이름입니다. |
INSTALLPROPERTY_AUTHORIZED_LUA_APP | 값 1은 UAC(사용자 계정 컨트롤) 패치를 사용하여 관리자가 아닌 사용자가 서비스를 받을 수 있는 제품을 나타냅니다. 값이 없거나 값이 0이면 최소 권한 패치를 사용할 수 없음을 나타냅니다. Windows Installer 3.0 이상에서 사용할 수 있습니다. |
[out] lpValueBuf
속성 값을 받는 버퍼에 대한 포인터입니다. 이 매개 변수는 null일 수 있습니다.
[in, out] pcchValueBuf
lpValueBuf 매개 변수가 가리키는 버퍼의 크기를 문자 단위로 지정하는 변수에 대한 포인터입니다. 입력할 때 종료되는 null 문자에 대한 공간을 포함하여 버퍼의 전체 크기입니다. 전달된 버퍼가 너무 작으면 반환된 개수에 종료 null 문자가 포함되지 않습니다.
lpValueBuf가 null이면 pcchValueBuf가 null일 수 있습니다. 이 경우 함수는 속성이 제품에 올바르게 등록되었는지 확인합니다.
반환 값
값 | 의미 |
---|---|
|
구성 데이터가 손상되었습니다. |
|
잘못된 매개 변수가 함수에 전달되었습니다. |
|
버퍼가 너무 작아서 요청된 데이터를 저장할 수 없습니다. |
|
함수가 성공적으로 완료되었습니다. |
|
제품이 제거되거나 제거됩니다. |
|
속성을 인식할 수 없는 경우
참고MsiGetProductInfo 함수는 쿼리 중인 애플리케이션이 보급되고 설치되지 않은 경우 ERROR_UNKNOWN_PROPERTY 반환합니다.
|
설명
MsiGetProductInfo 함수가 반환되면 pcchValueBuf 매개 변수는 버퍼에 저장된 문자열의 길이를 포함합니다. 반환된 개수에는 종료 null 문자가 포함되지 않습니다. 버퍼가 충분히 크지 않으면 MsiGetProductInfo 는 ERROR_MORE_DATA 반환하고 pcchValueBuf 는 null 문자를 계산하지 않고 문자열의 크기를 문자 단위로 포함합니다.
MsiGetProductInfo(INSTALLPROPERTY_LOCALPACKAGE)가 캐시된 패키지의 경로를 반드시 반환하지는 않습니다. 캐시된 패키지는 내부 전용입니다. 유지 관리 모드 설치는 MsiConfigureFeature, MsiConfigureProduct 또는 MsiConfigureProductEx 함수를 통해 호출되어야 합니다.
MsiGetProductInfo를 사용하여 설치된 제품에만 사용할 수 있는 속성에 대해 보급된 제품을 쿼리하려고 하면 함수는 ERROR_UNKNOWN_PROPERTY 반환합니다. 예를 들어 애플리케이션이 보급되고 설치되지 않은 경우 INSTALLPROPERTY_INSTALLLOCATION 속성에 대한 쿼리는 ERROR_UNKNOWN_PROPERTY 오류를 반환합니다.
참고
msi.h 헤더는 MSiGetProductInfo를 유니코드 전처리기 상수의 정의에 따라 이 함수의 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 Installer 버전에 필요한 최소 Windows 서비스 팩에 대한 자세한 내용은 Windows Installer 런타임 요구 사항을 참조하세요. |
대상 플랫폼 | Windows |
헤더 | msi.h |
라이브러리 | Msi.lib |
DLL | Msi.dll |