MsiSourceListAddSourceExA-Funktion (msi.h)
Die MsiSourceListAddSourceEx-Funktion fügt den Satz von Quellen eines Patches oder Produkts in einem angegebenen Kontext hinzu oder sortiert sie neu. Es kann auch eine Quellliste für einen Patch erstellen, der im angegebenen Kontext nicht vorhanden ist.
Syntax
UINT MsiSourceListAddSourceExA(
[in] LPCSTR szProductCodeOrPatchCode,
[in, optional] LPCSTR szUserSid,
[in] MSIINSTALLCONTEXT dwContext,
[in] DWORD dwOptions,
[in] LPCSTR szSource,
[in, optional] DWORD dwIndex
);
Parameter
[in] szProductCodeOrPatchCode
Die ProductCode - oder Patch-GUID des Produkts oder Patches. Verwenden Sie eine NULL-endende Zeichenfolge. Wenn die Zeichenfolge länger als 39 Zeichen ist, schlägt die Funktion fehl und gibt ERROR_INVALID_PARAMETER zurück. Dieser Parameter darf nicht NULL sein.
[in, optional] szUserSid
Bei diesem Parameter kann es sich um eine Zeichenfolgen-SID handeln, 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_PATCH zurückgeben. Beim Verweisen auf einen Computerkontext muss szUserSIDNULL und dwContextMSIINSTALLCONTEXT_MACHINE sein.
[in] dwContext
Dieser Parameter gibt den Kontext des Produkt- oder Patch-instance an. Dieser Parameter kann einen der folgenden Werte enthalten.
[in] dwOptions
Der dwOptions-Wert bestimmt die Interpretation des szProductCodeOrPatchCode-Werts und den Typ der zu löschenden Quellen. Dieser Parameter muss eine Kombination aus einer der folgenden MSISOURCETYPE_ Konstanten und einer der folgenden MSICODE_ Konstanten sein.
[in] szSource
Quelle, die hinzugefügt oder verschoben werden soll. Dieser Parameter enthält voraussichtlich nur den Pfad ohne dateinamen. Der Dateiname ist bereits als "PackageName" registriert und kann über MsiSourceListSetInfo bearbeitet 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 N indiziert, wobei N die Anzahl der Quellen in der Liste ist. Jede Quelle in der Liste verfügt über einen eindeutigen Index.
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 keine Aktualisierung der Liste durchgeführt.
Wenn MsiSourceListAddSourceEx mit einer neuen Quelle aufgerufen wird und dwIndex auf einen Ungleich null-Wert kleiner als count (N) festgelegt ist, wird die neue Quelle am angegebenen Index platziert, und die anderen Quellen werden neu 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 als die Anzahl der Quellen (N) ist, 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 |
---|---|
|
Der Benutzer hat keine Möglichkeit, eine Quelle hinzuzufügen oder zu verschieben. Gibt nicht an, ob das Produkt oder patch gefunden wurde. |
|
Die Konfigurationsdaten sind beschädigt. |
|
Auf den Windows Installer-Dienst konnte nicht zugegriffen werden. |
|
Die Quelle wurde eingefügt oder aktualisiert. |
|
Das angegebene Produkt ist unbekannt. |
|
Der angegebene Patch ist unbekannt. |
|
Unerwarteter interner Fehler. |
Hinweise
Administratoren können die Installation eines Produkts oder eines Patch-instance ändern, das im Computerkontext oder unter ihrem eigenen Benutzerkontext (verwaltet oder nicht verwaltet) vorhanden ist. Sie können die Installation eines Produkts oder eines Patch-instance ändern, der im benutzerspezifischen verwalteten Kontext eines Benutzers vorhanden ist. Administratoren können die Installation eines Produkts oder eines Patch-instance eines anderen Benutzers, der unter dem benutzerspezifischen nicht verwalteten Kontext des anderen Benutzers vorhanden ist, nicht ändern.
Nicht-Administratoren können die Installation eines Produkts oder eines Patch-instance nicht ändern, der im Benutzerkontext eines anderen Benutzers (verwaltet oder nicht verwaltet) vorhanden ist. Sie können die Installation eines Produkts oder eines Patches instance ändern, das unter ihrem eigenen benutzerspezifischen nicht verwalteten Kontext vorhanden ist. Sie können die Installation eines Produkts oder Patch-instance unter dem Computerkontext oder ihrem eigenen benutzerseitig verwalteten Kontext nur ändern, wenn sie für die Suche nach einem Produkt oder einer Patchquelle aktiviert sind. Benutzer können aktiviert werden, um nach Quellen zu suchen, indem Sie eine Richtlinie festlegen. Weitere Informationen finden Sie unter den Richtlinien DisableBrowse, AllowLockdownBrowse und AlwaysInstallElevated .
Hinweis
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
Unterstützte Mindestversion (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 minimal erforderlichen Windows Service Pack für eine Windows Installer-Version finden Sie unter Windows Installer – Laufzeitanforderungen. |
Zielplattform | Windows |
Kopfzeile | msi.h |
Bibliothek | Msi.lib |
DLL | Msi.dll |