MsiSourceListClearAllExA 함수(msi.h)

MsiSourceListClearAllEx 함수는 지정된 제품 또는 패치 instance 지정된 원본 유형의 모든 기존 원본을 제거합니다. 패치의 유일한 원본이 제거되고 패치가 동일한 컨텍스트의 클라이언트에 의해 새 패치로 설치되지 않은 경우에도 패치 등록이 제거됩니다. MsiSourceListClearAllEx가 이 제품 또는 패치에 대한 현재 원본을 제거하도록 지정하면 다음에 원본이 필요할 때 설치 관리자가 원본 목록을 검색하도록 강제합니다.

구문

UINT MsiSourceListClearAllExA(
  [in]           LPCSTR            szProductCodeOrPatchCode,
  [in, optional] LPCSTR            szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions
);

매개 변수

[in] szProductCodeOrPatchCode

제품 또는 패치의 ProductCode 또는 패치 GUID입니다. null로 끝나는 문자열을 사용합니다. 문자열이 39자를 초과하면 함수가 실패하고 ERROR_INVALID_PARAMETER 반환합니다. 이 매개 변수는 NULL일 수 없습니다.

[in, optional] szUserSid

이 매개 변수는 제품 또는 패치가 포함된 사용자 계정을 지정하는 문자열 SID일 수 있습니다. SID의 유효성이 검사되거나 확인되지 않았습니다. 잘못된 SID는 ERROR_UNKNOWN_PRODUCT 반환하거나 ERROR_UNKNOWN_PATCH 수 있습니다. 컴퓨터 컨텍스트를 참조할 때 szUserSIDNULL 이어야 하며 dwContext 는 MSIINSTALLCONTEXT_MACHINE 합니다. 컴퓨터 SID("S-1-5-18")를 사용하면 ERROR_INVALID PARAMETER가 반환됩니다. 현재 사용자 계정을 참조할 때 szUserSIDNULL 일 수 있고 dwContext 는 MSIINSTALLCONTEXT_USERMANAGED 또는 MSIINSTALLCONTEXT_USERUNMANAGED 수 있습니다.

[in] dwContext

이 매개 변수는 제품 또는 패치 instance 컨텍스트를 지정합니다. 이 매개 변수는 다음 값 중 하나를 포함할 수 있습니다.

컨텍스트 유형 의미
MSIINSTALLCONTEXT_USERMANAGED
제품 또는 패치 instance 사용자별 관리형 컨텍스트에 있습니다.
MSIINSTALLCONTEXT_USERUNMANAGED
제품 또는 패치 instance 사용자별 관리되지 않는 컨텍스트에 있습니다.
MSIINSTALLCONTEXT_MACHINE
제품 또는 패치 instance 머신별 컨텍스트에 있습니다.

[in] dwOptions

dwOptions 값은 szProductCodeOrPatchCode 값의 해석과 지울 원본 유형을 결정합니다. 이 매개 변수는 다음 MSISOURCETYPE_* 상수 중 하나와 다음 MSICODE_* 상수 중 하나의 조합이어야 합니다.

플래그 의미
MSISOURCETYPE_MEDIA
원본은 미디어입니다.
MSISOURCETYPE_NETWORK
원본은 네트워크 유형입니다.
MSISOURCETYPE_URL
원본은 URL 유형입니다.
MSICODE_PATCH
szProductCodeOrPatchCode 는 패치 코드입니다.
MSICODE_PRODUCT
szProductCodeOrPatchCode 는 제품 코드입니다.

반환 값

의미
ERROR_ACCESS_DENIED
사용자는 원본을 추가하거나 이동할 수 없습니다. 제품 또는 패치가 발견되었는지 여부를 나타내지 않습니다.
ERROR_BAD_CONFIGURATION
구성 데이터가 손상되었습니다.
ERROR_INSTALL_SERVICE_FAILURE
Windows Installer 서비스에 액세스할 수 없습니다.
ERROR_INVALID_PARAMETER
잘못된 매개 변수가 함수에 전달되었습니다.
ERROR_SUCCESS
지정된 형식의 모든 원본이 제거되었습니다.
ERROR_UNKNOWN_PRODUCT
지정된 제품을 알 수 없습니다.
ERROR_UNKNOWN_PATCH
지정된 패치를 알 수 없습니다.
ERROR_FUNCTION_FAILED
예기치 않은 내부 오류.

설명

관리자는 컴퓨터 컨텍스트 또는 사용자별 컨텍스트(관리형 또는 비관리형)에 있는 제품 또는 패치 instance 설치를 수정할 수 있습니다. 사용자별 관리되는 컨텍스트에 있는 제품 또는 패치 instance 설치를 수정할 수 있습니다. 관리자는 다른 사용자의 관리되지 않는 컨텍스트에 있는 제품 또는 패치 instance 다른 사용자의 설치를 수정할 수 없습니다.

관리자가 아닌 사용자는 다른 사용자의 사용자별 컨텍스트(관리 또는 관리되지 않음)에 있는 제품 또는 패치 instance 설치를 수정할 수 없습니다. 사용자별 관리되지 않는 컨텍스트에 있는 제품 또는 패치 instance 설치를 수정할 수 있습니다. 제품 또는 패치 원본을 검색할 수 있는 경우에만 컴퓨터 컨텍스트 또는 사용자별 관리 컨텍스트에서 제품 또는 패치 instance 설치를 수정할 수 있습니다. 사용자는 정책을 설정하여 원본을 검색할 수 있습니다. 자세한 내용은 DisableBrowse, AllowLockdownBrowseAlwaysInstallElevated 정책을 참조하세요.

참고

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

추가 정보

AllowLockdownBrowse

AlwaysInstallElevated

DisableBrowse

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

ProductCode