다음을 통해 공유


MsiGetProductInfoExA 함수(msi.h)

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

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

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

이 함수는 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

ProductCode는 쿼리 중인 제품 인스턴스의 GUID를.

[in] szUserSid

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

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

[in] dwContext

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

이름 의미
MSIINSTALLCONTEXT_USERMANAGED
제품의 사용자 단위 관리형 인스턴스에 대한 제품 속성을 검색합니다.
MSIINSTALLCONTEXT_USERUNMANAGED
사용자의 관리되지 않는 제품 인스턴스에 대한 제품 속성을 검색합니다.
MSIINSTALLCONTEXT_MACHINE
제품의 컴퓨터별 인스턴스에 대한 제품 속성을 검색합니다.

[in] szProperty

쿼리 중인 속성입니다.

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

재산 의미
INSTALLPROPERTY_PRODUCTSTATE
문자열 형식으로 반환된 제품의 상태는 보급된 경우 "1", 설치된 경우 "5"입니다.
INSTALLPROPERTY_HELPLINK
지원 링크입니다. 자세한 내용은 ARPHELPLINK 속성을 참조하세요.
INSTALLPROPERTY_HELPTELEPHONE
지원 전화입니다. 자세한 내용은 ARPHELPTELEPHONE 속성을 참조하세요.
INSTALLPROPERTY_INSTALLDATE
이 제품이 서비스를 마지막으로 받은 시간입니다. 이 속성의 값은 제품 또는 /v Command-Line 옵션 제품을 복구하는 데 패치가 적용되거나 제거될 때마다 바뀝니다. 제품이 복구 또는 패치를 받지 않은 경우 이 속성에는 이 제품이 이 컴퓨터에 설치된 시간이 포함됩니다.
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 다음 텍스트 문자열 값 중 하나로 설정합니다.

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

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

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

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

재산 묘사
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 수로 설정합니다.

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

lpValuepcchValue 모두 NULL설정되면 값을 검색하지 않고 값이 있으면 함수는 ERROR_SUCCESS 반환합니다.

[in, out, optional] pcchValue

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

이 매개 변수는 lpValue NULL경우에만 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 Run-Time 요구 사항을 참조하세요.
대상 플랫폼 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

시스템 상태 함수