MsiSourceListClearAllExA-Funktion (msi.h)

Die MsiSourceListClearAllEx-Funktion entfernt alle vorhandenen Quellen eines bestimmten Quelltyps für das angegebene Produkt oder den angegebenen Patch instance. Die Patchregistrierung wird auch entfernt, wenn die einzige Quelle des Patches entfernt wird und wenn der Patch nicht von einem Client im selben Kontext als neuer Patch installiert wird. Wenn Sie angeben, dass MsiSourceListClearAllEx die aktuelle Quelle für dieses Produkt oder dieses Patch entfernt, wird der Installer gezwungen, die Quellliste nach einer Quelle zu durchsuchen, wenn das nächste Mal eine Quelle erforderlich ist.

Syntax

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

Parameter

[in] szProductCodeOrPatchCode

Die ProductCode - oder Patch-GUID des Produkts oder Patches. Verwenden Sie eine NULL-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 dwContext MSIINSTALLCONTEXT_MACHINE sein. Mithilfe der Computer-SID ("S-1-5-18") wird ERROR_INVALID PARAMETER zurückgegeben. Beim Verweisen auf das aktuelle Benutzerkonto kann szUserSIDNULL und dwContext MSIINSTALLCONTEXT_USERMANAGED oder MSIINSTALLCONTEXT_USERUNMANAGED sein.

[in] dwContext

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

Typ des Kontexts Bedeutung
MSIINSTALLCONTEXT_USERMANAGED
Das Produkt oder patch instance ist im benutzerseitig verwalteten Kontext vorhanden.
MSIINSTALLCONTEXT_USERUNMANAGED
Das Produkt oder der Patch instance ist im nicht verwalteten Benutzerkontext vorhanden.
MSIINSTALLCONTEXT_MACHINE
Das Produkt oder der Patch instance ist im Kontext pro Computer vorhanden.

[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.

Flag Bedeutung
MSISOURCETYPE_MEDIA
Die Quelle sind Medien.
MSISOURCETYPE_NETWORK
Die Quelle ist ein Netzwerktyp.
MSISOURCETYPE_URL
Die Quelle ist ein URL-Typ.
MSICODE_PATCH
szProductCodeOrPatchCode ist ein Patchcode.
MSICODE_PRODUCT
szProductCodeOrPatchCode ist ein Produktcode.

Rückgabewert

Wert Bedeutung
ERROR_ACCESS_DENIED
Der Benutzer kann keine Quelle hinzufügen oder 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 kann nicht zugegriffen werden.
ERROR_INVALID_PARAMETER
Es wurde ein ungültiger Parameter an die Funktion übergeben.
ERROR_SUCCESS
Alle Quellen des angegebenen Typs wurden entfernt.
ERROR_UNKNOWN_PRODUCT
Das angegebene Produkt ist unbekannt.
ERROR_UNKNOWN_PATCH
Der angegebene Patch ist unbekannt.
ERROR_FUNCTION_FAILED
Unerwarteter interner Fehler.

Hinweise

Administratoren können die Installation eines Produkts oder 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, das unter dem benutzerspezifischen benutzerseitig verwalteten Kontext vorhanden ist. Administratoren können die Installation eines Produkts oder Patch-instance eines anderen Benutzers nicht ändern, der unter dem nicht verwalteten Kontext dieses anderen Benutzers vorhanden ist.

Nicht-Administratoren können die Installation eines Produkts oder Patch-instance nicht ändern, das unter dem Benutzerkontext eines anderen Benutzers (verwaltet oder nicht verwaltet) vorhanden ist. Sie können die Installation eines Produkts oder eines Patch-instance ändern, das unter ihrem eigenen benutzerspezifischen nicht verwalteten Kontext vorhanden ist. Sie können die Installation eines Produkts oder eines 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 zum Suchen nach Quellen durch Festlegen einer Richtlinie aktiviert werden. Weitere Informationen finden Sie unter DisableBrowse, AllowLockdownBrowse und AlwaysInstallElevated .

Hinweis

Der msi.h-Header definiert MsiSourceListClearAllEx als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code 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
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. Windows Installer 3.0 oder höher unter Windows Server 2003 oder Windows XP. Informationen zum mindestens 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

Weitere Informationen

AllowLockdownBrowse

AlwaysInstallElevated

DisableBrowse

In Windows Installer 2.0 und früher nicht unterstützt

ProductCode