Freigeben über


MsiSourceListAddSourceExW-Funktion (msi.h)

Die MsiSourceListAddSourceEx Funktion fügt den Satz von Quellen eines Patches oder Produkts in einem bestimmten Kontext hinzu oder neu. Sie kann auch eine Quellliste für einen Patch erstellen, der im angegebenen Kontext nicht vorhanden ist.

Syntax

UINT MsiSourceListAddSourceExW(
  [in]           LPCWSTR           szProductCodeOrPatchCode,
  [in, optional] LPCWSTR           szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions,
  [in]           LPCWSTR           szSource,
  [in, optional] DWORD             dwIndex
);

Parameter

[in] szProductCodeOrPatchCode

Die ProductCode oder Patch-GUID des Produkts oder Patches. Verwenden Sie eine mit Null beendete Zeichenfolge. Wenn die Zeichenfolge länger als 39 Zeichen ist, schlägt die Funktion fehl und gibt ERROR_INVALID_PARAMETERzurück. Dieser Parameter kann nicht NULL-werden.

[in, optional] szUserSid

Dieser Parameter kann eine Zeichenfolgen-SID sein, die das Benutzerkonto angibt, das das Produkt oder den Patch enthält. Die SID wird nicht überprüft oder aufgelöst. Eine falsche SID kann ERROR_UNKNOWN_PRODUCT oder ERROR_UNKNOWN_PATCHzurückgeben. Beim Verweisen auf einen Computerkontext muss szUserSID-NULL- sein und dwContext-MSIINSTALLCONTEXT_MACHINEsein.

Typ der SID Bedeutung
NULL-
NULL- kennzeichnet den aktuell angemeldeten Benutzer. Beim Verweisen auf das aktuelle Benutzerkonto kann szUserSIDNULL- und dwContext-MSIINSTALLCONTEXT_USERMANAGED oder MSIINSTALLCONTEXT_USERUNMANAGEDsein.
Benutzer-SID-
Gibt die Aufzählung für einen bestimmten Benutzer im System an. Ein Beispiel für eine Benutzer-SID ist "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Hinweis Die spezielle SID-Zeichenfolge s-1-5-18 (System) kann nicht zum Aufzählen von Produkten oder Patches verwendet werden, die pro Computer installiert sind. Durch Festlegen des SID-Werts auf "S-1-5-18" wird ERROR_INVALID_PARAMETERzurückgegeben.
 
Hinweis Die spezielle SID-Zeichenfolge s-1-1-0 (jeder) sollte nicht verwendet werden. Das Festlegen des SID-Werts auf "S-1-1-0" schlägt fehl und gibt ERROR_INVALID_PARAMzurück.
 

[in] dwContext

Dieser Parameter gibt den Kontext der Produkt- oder Patchinstanz an. Dieser Parameter kann einen der folgenden Werte enthalten.

Typ des Kontexts Bedeutung
MSIINSTALLCONTEXT_USERMANAGED
Die Produkt- oder Patchinstanz ist im vom Benutzer verwalteten Kontext vorhanden.
MSIINSTALLCONTEXT_USERUNMANAGED
Die Produkt- oder Patchinstanz ist im nicht verwalteten Kontext pro Benutzer vorhanden.
MSIINSTALLCONTEXT_MACHINE
Die Produkt- oder Patchinstanz ist im Kontext pro Computer vorhanden.

[in] dwOptions

Der dwOptions Wert bestimmt die Interpretation des szProductCodeOrPatchCode Werts und den zu löschenden Quellentyp. Dieser Parameter muss eine Kombination aus einer der folgenden MSISOURCETYPE_ Konstanten und einer der folgenden MSICODE_ Konstanten sein.

Flagge Bedeutung
MSISOURCETYPE_NETWORK
Die Quelle ist ein Netzwerktyp.
MSISOURCETYPE_URL
Die Quelle ist ein URL-Typ.
MSICODE_PRODUCT
szProductCodeOrPatchCode ist ein Produktcode.
MSICODE_PATCH
szProductCodeOrPatchCode ist ein Patchcode.

[in] szSource

Quelle, die hinzugefügt oder verschoben werden soll. Dieser Parameter wird erwartet, dass er nur den Pfad ohne dateinamen enthält. Der Dateiname ist bereits als "PackageName" registriert und kann über MsiSourceListSetInfobearbeitet werden. Dieses Argument ist erforderlich.

[in, optional] dwIndex

Dieser Parameter stellt den neuen Index für die Quelle bereit. Alle Quellen werden in der Quellliste von 1 bis Nindiziert, wobei N die Anzahl der Quellen in der Liste ist. Jede Quelle in der Liste weist einen eindeutigen Index auf.

Wenn MsiSourceListAddSourceEx- mit einer neuen Quelle aufgerufen wird und dwIndex auf 0 (null) festgelegt ist, wird die neue Quelle an die vorhandene Liste angefügt. Wenn dwIndex- auf 0 festgelegt ist und die Quelle bereits in der Liste vorhanden ist, wird in der Liste keine Aktualisierung durchgeführt.

Wenn MsiSourceListAddSourceEx- mit einer neuen Quelle aufgerufen wird und dwIndex- auf einen Wert ungleich Null festgelegt ist, der kleiner als die Anzahl ist (N), wird die neue Quelle am angegebenen Index platziert, und die anderen Quellen werden erneut indiziert. Wenn die Quelle bereits vorhanden ist, wird sie in den angegebenen Index verschoben, und die anderen Quellen werden erneut indiziert.

Wenn MsiSourceListAddSourceEx- mit einer neuen Quelle aufgerufen wird und dwIndex- auf einen Wert ungleich Null festgelegt ist, der größer ist als die Anzahl der Quellen (N), wird die neue Quelle an die vorhandene Liste angefügt. Wenn die Quelle bereits vorhanden ist, wird sie an das Ende der Liste verschoben, und die anderen Quellen werden erneut indiziert.

Rückgabewert

Die MsiSourceListAddSourceEx--Funktion gibt die folgenden Werte zurück.

Wert Bedeutung
ERROR_ACCESS_DENIED
Der Benutzer hat nicht die Möglichkeit, eine Quelle hinzuzufügen oder zu verschieben. Gibt nicht an, ob das Produkt oder patch gefunden wurde.
ERROR_BAD_CONFIGURATION
Die Konfigurationsdaten sind beschädigt.
ERROR_INSTALL_SERVICE_FAILURE
Auf den Windows Installer-Dienst konnte nicht zugegriffen werden.
ERROR_SUCCESS
Die Quelle wurde eingefügt oder aktualisiert.
ERROR_UNKNOWN_PRODUCT
Das angegebene Produkt ist unbekannt.
ERROR_UNKNOWN_PATCH
Der angegebene Patch ist unbekannt.
ERROR_FUNCTION_FAILED
Unerwarteter interner Fehler.

Bemerkungen

Administratoren können die Installation eines Produkts oder einer Patchinstanz ändern, die im Computerkontext oder im eigenen Benutzerkontext vorhanden ist (verwaltet oder nicht verwaltet).) Sie können die Installation eines Produkts oder einer Patchinstanz ändern, die im vom Benutzer verwalteten Kontext vorhanden ist. Administratoren können die Installation eines Produkts oder einer Patchinstanz eines anderen Benutzers nicht ändern, die im kontextbasierten Kontext eines anderen Benutzers vorhanden ist.

Nicht-Administratoren können die Installation eines Produkts oder einer Patchinstanz nicht ändern, die im Benutzerkontext eines anderen Benutzers vorhanden ist (verwaltet oder nicht verwaltet.) Sie können die Installation eines Produkts oder einer Patchinstanz ändern, die unter ihrem eigenen benutzerspezifischen nicht verwalteten Kontext vorhanden ist. Sie können die Installation eines Produkts oder einer Patchinstanz im Computerkontext oder in ihrem eigenen vom Benutzer verwalteten Kontext nur ändern, wenn sie für die Suche nach einer Produkt- oder Patchquelle aktiviert sind. Benutzer können aktiviert werden, um nach Quellen zu suchen, indem Sie eine Richtlinie festlegen. Weitere Informationen finden Sie unter DisableBrowse, AllowLockdownBrowseund AlwaysInstallElevated Richtlinien.

Anmerkung

Der msi.h-Header definiert MsiSourceListAddSourceEx als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Installer 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista. Informationen zum mindestens von einer Windows Installer-Version erforderlichen Windows-Service Pack finden Sie unter den Windows Installer-Run-Time Anforderungen.
Zielplattform- Fenster
Header- msi.h
Library Msi.lib
DLL- Msi.dll

Siehe auch

AllowLockdownBrowse-

AlwaysInstallElevated

DisableBrowse-

MsiSourceListSetInfo-

in Windows Installer 2.0 und früheren nicht unterstützt

ProductCode-

Quellresilienz-