다음을 통해 공유


MsiGetProductInfoExA 함수(msi.h)

MsiGetProductInfoEx 함수는 보급 및 설치된 제품에 대한 제품 정보를 반환합니다. 이 함수는 정보를 검색할 수 있습니다.

현재 사용자 이외의 사용자 계정으로 설치된 제품의 instance 대한 정보입니다.

호출 프로세스에는 현재 사용자와 다른 사용자에 대한 관리 권한이 있어야 합니다. MsiGetProductInfoEx 함수는 현재 사용자 이외의 사용자 계정에 대해 사용자별 관리되지 않는 컨텍스트로 보급된 제품의 instance 쿼리할 수 없습니다.

이 함수는 MsiGetProductInfo 함수의 확장입니다.

구문

UINT MsiGetProductInfoExA(
  [in]                LPCSTR            szProductCode,
  [in]                LPCSTR            szUserSid,
  [in]                MSIINSTALLCONTEXT dwContext,
  [in]                LPCSTR            szProperty,
  [out, optional]     LPSTR             szValue,
  [in, out, optional] LPDWORD           pcchValue
);

매개 변수

[in] szProductCode

쿼리 중인 제품 instance ProductCode GUID입니다.

[in] szUserSid

쿼리 중인 제품의 instance 있는 계정의 SID(보안 식별자)입니다. NULL은 현재 사용자 SID를 지정합니다.

SID 의미
NULL
현재 로그온한 사용자입니다.
사용자 SID
시스템의 특정 사용자에 대한 열거형입니다. 사용자 SID의 예는 "S-1-3-64-2415071341-1358098788-3127455600-2561"입니다.
 
참고 특수 SID 문자열 "S-1-5-18"(시스템)은 컴퓨터별로 설치된 제품을 열거하는 데 사용할 수 없습니다. dwContext가 "MSIINSTALLCONTEXT_MACHINE"인 경우 szUserSidNULL이어야 합니다.
 

[in] dwContext

쿼리 중인 제품 instance 설치 컨텍스트입니다.

Name 의미
MSIINSTALLCONTEXT_USERMANAGED
제품의 사용자별 관리형 instance 대한 제품 속성을 검색합니다.
MSIINSTALLCONTEXT_USERUNMANAGED
제품의 사용자별 관리되지 않는 instance 대한 제품 속성을 검색합니다.
MSIINSTALLCONTEXT_MACHINE
제품의 컴퓨터별 instance 대한 제품 속성을 검색합니다.

[in] szProperty

쿼리 중인 속성입니다.

검색할 속성입니다. 다음 표의 속성은 이미 설치된 애플리케이션에서만 검색할 수 있습니다. 모든 필수 속성은 사용할 수 있도록 보장되지만 다른 속성은 속성이 설정된 경우에만 사용할 수 있습니다. 자세한 내용은
필수 속성속성입니다.

속성 의미
INSTALLPROPERTY_PRODUCTSTATE
보급된 제품의 경우 "1", 설치된 경우 "5"로 문자열 형식으로 반환된 제품의 상태입니다.
INSTALLPROPERTY_HELPLINK
지원 링크입니다. 자세한 내용은 ARPHELPLINK 속성을 참조하세요.
INSTALLPROPERTY_HELPTELEPHONE
지원 전화. 자세한 내용은 ARPHELPTELEPHONE 속성을 참조하세요.
INSTALLPROPERTY_INSTALLDATE
이 제품이 마지막으로 서비스를 받은 시간입니다. 이 속성의 값은 제품에서 패치가 적용되거나 제거되거나 제품을 수리하는 데 /v 명령줄 옵션이 사용될 때마다 바뀝니다. 제품이 수리 또는 패치를 받지 않은 경우 이 속성에는 이 제품이 이 컴퓨터에 설치된 시간이 포함됩니다.
INSTALLPROPERTY_INSTALLEDLANGUAGE
설치된 언어입니다.

Windows Installer 4.5 이하: 지원되지 않습니다.

INSTALLPROPERTY_INSTALLEDPRODUCTNAME
설치된 제품 이름입니다. 자세한 내용은 ProductName 속성을 참조하세요.
INSTALLPROPERTY_INSTALLLOCATION
설치 위치입니다. 자세한 내용은 ARPINSTALLLOCATION 속성을 참조하세요.
INSTALLPROPERTY_INSTALLSOURCE
설치 원본입니다. 자세한 내용은 SourceDir 속성을 참조하세요.
INSTALLPROPERTY_LOCALPACKAGE
로컬 캐시된 패키지입니다.
INSTALLPROPERTY_PUBLISHER
게시자입니다. 자세한 내용은 Manufacturer 속성을 참조하세요.
INSTALLPROPERTY_URLINFOABOUT
URL 정보입니다. 자세한 내용은 ARPURLINFOABOUT 속성을 참조하세요.
INSTALLPROPERTY_URLUPDATEINFO
URL 업데이트 정보입니다. 자세한 내용은 ARPURLUPDATEINFO 속성을 참조하세요.
INSTALLPROPERTY_VERSIONMINOR
ProductVersion 속성에서 파생된 부 제품 버전입니다.
INSTALLPROPERTY_VERSIONMAJOR
ProductVersion 속성에서 파생된 주 제품 버전입니다.
INSTALLPROPERTY_VERSIONSTRING
제품 버전입니다. 자세한 내용은 ProductVersion 속성을 참조하세요.
 

설치된 애플리케이션에서 제품 ID, 등록된 소유자 또는 등록된 회사를 검색하려면 szProperty 를 다음 텍스트 문자열 값 중 하나로 설정합니다.

Description
ProductID 제품 식별자입니다. 자세한 내용은 ProductID 속성을 참조하세요.
RegCompany 제품을 사용하도록 등록된 회사입니다.
RegOwner 제품을 사용하도록 등록된 소유자입니다.
 

제품의 instance 유형을 검색하려면 szProperty를 다음 값으로 설정합니다. 이 속성은 보급된 제품 또는 설치된 제품에 사용할 수 있습니다.

설명
InstanceType 값이 없거나 값이 0이면 일반 제품 설치를 나타냅니다. 값 1은 다중 instance 변환 및 MSINEWINSTANCE 속성을 사용하여 설치된 제품을 나타냅니다. 자세한 내용은 제품 및 패치의 여러 인스턴스 설치를 참조하세요.
 

다음 표의 속성은 보급되거나 설치된 애플리케이션에서 검색할 수 있습니다. 이러한 속성은 현재 사용자 계정이 아닌 사용자 계정에 대해 사용자별 관리되지 않는 컨텍스트에 설치된 제품 인스턴스에 대해 검색할 수 없습니다.

속성 Description
INSTALLPROPERTY_TRANSFORMS 변환.
INSTALLPROPERTY_LANGUAGE 제품 언어입니다.
INSTALLPROPERTY_PRODUCTNAME 사람이 읽을 수 있는 제품 이름입니다. 자세한 내용은 ProductName 속성을 참조하세요.
INSTALLPROPERTY_ASSIGNMENTTYPE 제품이 사용자별로 보급되거나 설치된 경우 0과 같습니다.

제품이 모든 사용자에 대해 컴퓨터별로 보급되거나 설치된 경우 1입니다.

INSTALLPROPERTY_PACKAGECODE 제품이 설치된 패키지의 식별자입니다. 자세한 내용은 패키지 코드 속성을 참조하세요.
INSTALLPROPERTY_VERSION ProductVersion 속성에서 파생된 제품 버전입니다.
INSTALLPROPERTY_PRODUCTICON 패키지의 기본 아이콘입니다. 자세한 내용은 ARPPRODUCTICON 속성을 참조하세요.
INSTALLPROPERTY_PACKAGENAME 원래 설치 패키지의 이름입니다.
INSTALLPROPERTY_AUTHORIZED_LUA_APP 값 1은 UAC(사용자 계정 컨트롤) 패치를 사용하여 관리자가 아닌 사용자가 서비스할 수 있는 제품을 나타냅니다. 값이 없거나 값이 0이면 최소 권한 패치를 사용할 수 없음을 나타냅니다. Windows Installer 3.0 이상에서 사용할 수 있습니다.

[out, optional] szValue

속성 값을 받는 버퍼에 대한 포인터입니다. 이 버퍼는 정보를 포함할 수 있을 만큼 커야 합니다. 버퍼가 너무 작으면 함수는 ERROR_MORE_DATA 반환하고 *pcchValue 를 종료 NULL 문자를 포함하지 않고 값의 TCHAR 수로 설정합니다.

lpValueNULL로 설정되고 pcchValue가 유효한 포인터로 설정된 경우 함수는 ERROR_SUCCESS 반환하고 *pcchValue를 종료 NULL 문자를 포함하지 않고 값의 TCHAR 수로 설정합니다. 그런 다음 함수를 다시 호출하여 값을 검색할 수 있으며 lpValue 버퍼는 *pcchValue + 1자를 포함할 만큼 충분히 큽니다.

lpValuepcchValue가 모두 NULL로 설정된 경우 함수는 값을 검색하지 않고 값이 있는 경우 ERROR_SUCCESS 반환합니다.

[in, out, optional] pcchValue

lpValue 버퍼의 TCHAR 수를 지정하는 변수에 대한 포인터입니다. 함수가 반환될 때 이 매개 변수는 함수가 지정된 버퍼에 값을 복사하는지 여부에 관계없이 요청된 값의 크기로 설정됩니다. 크기는 종료 null 문자를 포함하지 않고 요청된 값의 TCHAR 수로 반환됩니다.

lpValueNULL인 경우에만 이 매개 변수를 NULL로 설정할 수 있습니다. 그렇지 않으면 함수는 ERROR_INVALID_PARAMETER 반환합니다.

반환 값

MsiGetProductInfoEx 함수는 다음 값을 반환합니다.

반환 코드 설명
ERROR_ACCESS_DENIED
호출 프로세스에서 현재 사용자 이외의 사용자에 대해 설치된 제품의 정보를 얻으려면 관리 권한이 있어야 합니다.
ERROR_BAD_CONFIGURATION
구성 데이터가 손상되었습니다.
ERROR_INVALID_PARAMETER
잘못된 매개 변수가 함수에 전달됩니다.
ERROR_MORE_DATA
버퍼가 너무 작아서 요청된 데이터를 보유할 수 없습니다.
ERROR_SUCCESS
함수가 성공적으로 완료되었습니다.
ERROR_UNKNOWN_PRODUCT
제품이 제거되거나 제거됩니다.
ERROR_UNKNOWN_PROPERTY
속성을 인식할 수 없는 경우
참고MsiGetProductInfo 함수는 쿼리 중인 애플리케이션이 보급되고 설치되지 않은 경우 ERROR_UNKNOWN_PROPERTY 반환합니다.
 
ERROR_FUNCTION_FAILED
예기치 않은 내부 오류입니다.

설명

MsiGetProductInfoEx 함수가 반환되면 pcchValue 매개 변수는 버퍼에 저장된 문자열의 길이를 포함합니다. 반환된 개수에는 종료 null 문자가 포함되지 않습니다. 버퍼가 충분히 크지 않으면 MsiGetProductInfoExERROR_MORE_DATA 반환하고 pcchValue 매개 변수는 null 문자를 계산하지 않고 TCHAR에 문자열의 크기를 포함합니다.

msiGetProductInfoEx 함수(INSTALLPROPERTY_LOCALPACKAGE)는 캐시된 패키지의 경로를 반환합니다. 캐시된 패키지는 내부 전용입니다. 유지 관리 모드 설치는 MsiConfigureFeature, MsiConfigureProduct 또는 MsiConfigureProductEx 함수를 통해 호출되어야 합니다.

MsiGetProductInfo 함수는 쿼리 중인 애플리케이션이 보급되고 설치되지 않은 경우 ERROR_UNKNOWN_PROPERTY 반환합니다. 예를 들어 애플리케이션이 보급되고 설치되지 않은 경우 INSTALLPROPERTY_INSTALLLOCATION 쿼리는 ERROR_UNKNOWN_PROPERTY 오류를 반환합니다.

참고

msi.h 헤더는 MSiGetProductInfoEx를 유니코드 전처리기 상수의 정의에 따라 이 함수의 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 Installer 버전에 필요한 최소 Windows 서비스 팩에 대한 자세한 내용은 Windows Installer 런타임 요구 사항을 참조하세요.
대상 플랫폼 Windows
헤더 msi.h
라이브러리 Msi.lib
DLL Msi.dll

추가 정보

ARPHELPLINK

ARPHELPTELEPHONE

ARPINSTALLLOCATION

ARPPRODUCTICON

ARPURLINFOABOUT

ARPURLUPDATEINFO

제조업체

MsiConfigureFeature

MsiConfigureProduct

MsiConfigureProductEx

Windows Installer 2.0 이하에서 지원되지 않음

패키지 코드

ProductCode

ProductID

ProductName

ProductVersion

속성

필수 속성

SourceDir

시스템 상태 함수