MsiSourceListAddSourceExA 함수(msi.h)
MsiSourceListAddSourceEx 함수는 지정된 컨텍스트에서 패치 또는 제품의 원본 집합을 추가하거나 다시 정렬합니다. 지정된 컨텍스트에 없는 패치에 대한 원본 목록을 만들 수도 있습니다.
통사론
UINT MsiSourceListAddSourceExA(
[in] LPCSTR szProductCodeOrPatchCode,
[in, optional] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] LPCSTR szSource,
[in, optional] DWORD dwIndex
);
매개 변수
[in] szProductCodeOrPatchCode
제품 또는 패치의 ProductCode 또는 패치 GUID입니다. null로 끝나는 문자열을 사용합니다. 문자열이 39자보다 길면 함수가 실패하고 ERROR_INVALID_PARAMETER반환합니다. 이 매개 변수는 NULL
[in, optional] szUserSid
이 매개 변수는 제품 또는 패치를 포함하는 사용자 계정을 지정하는 문자열 SID일 수 있습니다. SID가 유효성을 검사하거나 확인되지 않습니다. 잘못된 SID는 ERROR_UNKNOWN_PRODUCT 또는 ERROR_UNKNOWN_PATCH반환할 수 있습니다. 컴퓨터 컨텍스트를 참조할 때
[in] dwContext
이 매개 변수는 제품 또는 패치 인스턴스의 컨텍스트를 지정합니다. 이 매개 변수는 다음 값 중 하나를 포함할 수 있습니다.
[in] dwOptions
dwOptions 값은 szProductCodeOrPatchCode 값의 해석과 지울 원본 유형을 결정합니다. 이 매개 변수는 다음 MSISOURCETYPE_ 상수 중 하나와 다음 MSICODE_ 상수 중 하나의 조합이어야 합니다.
기 | 의미 |
---|---|
|
원본이 네트워크 유형입니다. |
|
원본이 URL 형식입니다. |
|
szProductCodeOrPatchCode 제품 코드입니다. |
|
szProductCodeOrPatchCode 패치 코드입니다. |
[in] szSource
추가하거나 이동할 원본입니다. 이 매개 변수는 파일 이름이 없는 경로만 포함해야 합니다.
파일 이름은 이미 "PackageName"으로 등록되어 있으며 msiSourceListSetInfo
[in, optional] dwIndex
이 매개 변수는 원본에 대한 새 인덱스입니다. 모든 원본은 원본 목록에서 1에서 N인덱싱됩니다. 여기서 N 목록의 원본 수입니다. 목록의 모든 원본에는 고유한 인덱스가 있습니다.
MsiSourceListAddSourceEx 새 원본과 dwIndex 0으로 설정된 상태에서 호출되면 새 원본이 기존 목록에 추가됩니다. dwIndex 0으로 설정되고 원본이 목록에 이미 있는 경우 목록에 업데이트가 수행되지 않습니다.
MsiSourceListAddSourceEx 새 원본으로 호출되고 dwIndex 개수(N)보다 작은 값으로 설정된 경우 새 원본은 지정된 인덱스에 배치되고 다른 원본은 다시 인덱싱됩니다. 원본이 이미 있는 경우 지정된 인덱스로 이동되고 다른 원본은 다시 인덱싱됩니다.
MsiSourceListAddSourceEx 새 원본으로 호출되고 dwIndex 원본 수(N)보다 큰 0이 아닌 값으로 설정된 경우 새 원본이 기존 목록에 추가됩니다. 원본이 이미 있는 경우 목록의 끝으로 이동되고 다른 원본은 다시 인덱싱됩니다.
반환 값
MsiSourceListAddSourceEx 함수는 다음 값을 반환합니다.
값 | 의미 |
---|---|
|
사용자에게 원본을 추가하거나 이동할 수 있는 기능이 없습니다. 제품 또는 패치가 발견되었는지 여부를 나타내지 않습니다. |
|
구성 데이터가 손상되었습니다. |
|
Windows Installer 서비스에 액세스할 수 없습니다. |
|
원본이 삽입되거나 업데이트되었습니다. |
|
지정된 제품을 알 수 없습니다. |
|
지정된 패치를 알 수 없습니다. |
|
예기치 않은 내부 오류입니다. |
발언
관리자는 컴퓨터 컨텍스트 또는 사용자별 자체 컨텍스트(관리 또는 관리되지 않음)에 있는 제품 또는 패치 인스턴스의 설치를 수정할 수 있습니다. 사용자의 사용자 단위 관리 컨텍스트에 있는 제품 또는 패치 인스턴스의 설치를 수정할 수 있습니다. 관리자는 다른 사용자의 관리되지 않는 컨텍스트에 있는 제품 또는 패치 인스턴스의 다른 사용자의 설치를 수정할 수 없습니다.
관리자가 아닌 사용자는 다른 사용자의 사용자별 컨텍스트(관리 또는 관리되지 않음)에 있는 제품 또는 패치 인스턴스의 설치를 수정할 수 없습니다. 사용자가 관리하지 않는 자체 컨텍스트에 있는 제품 또는 패치 인스턴스의 설치를 수정할 수 있습니다. 제품 또는 패치 원본을 검색할 수 있는 경우에만 컴퓨터 컨텍스트 또는 사용자별 관리 컨텍스트에서 제품 또는 패치 인스턴스의 설치를 수정할 수 있습니다. 사용자는 정책을 설정하여 원본을 찾아볼 수 있습니다. 자세한 내용은
메모
msi.h 헤더는 MSiSourceListAddSourceEx를 유니코드 전처리기 상수의 정의에 따라 이 함수의 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 |
참고 항목
AllowLockdownBrowse
alwaysInstallElevated
DisableBrowse
msiSourceListSetInfo
Windows Installer 2.0 및 이전 지원되지 않음