MsiProvideQualifiedComponentExA-Funktion (msi.h)
Die MsiProvideQualifiedComponentEx-Funktion gibt den vollständigen Komponentenpfad für eine qualifizierte Komponente zurück, die von einem Produkt veröffentlicht wird, und führt jede erforderliche Installation aus. Diese Funktion fordert bei Bedarf zur Quelle auf und erhöht die Nutzungsanzahl für das Feature.
Syntax
UINT MsiProvideQualifiedComponentExA(
[in] LPCSTR szCategory,
[in] LPCSTR szQualifier,
[in] DWORD dwInstallMode,
[in] LPCSTR szProduct,
[in] DWORD dwUnused1,
[in] DWORD dwUnused2,
[out] LPSTR lpPathBuf,
[in, out] LPDWORD pcchPathBuf
);
Parameter
[in] szCategory
Gibt die Komponenten-ID für die angeforderte Komponente an. Hierbei handelt es sich möglicherweise nicht um die GUID für die Komponente selbst, sondern um einen Server, der entsprechend der Spalte „ComponentId“ der PublishComponent-Tabelle die richtige Funktionalität bereitstellt.
[in] szQualifier
Gibt einen Qualifizierer in einer Liste von Werbekomponenten an (aus PublishComponent Table).
[in] dwInstallMode
Definiert den Installationsmodus. Dieser Parameter kann einen der folgenden Werte annehmen.
Wert | Bedeutung |
---|---|
|
Stellt die Komponente bereit und führt alle für die Bereitstellung der Komponente erforderlichen Installationen aus. Wenn die Schlüsseldatei einer Komponente im angeforderten Feature oder einem übergeordneten Feature fehlt, installieren Sie das Feature mithilfe von MsiReinstallFeature mit den folgenden Flagbits neu: REINSTALLMODE_FILEMISSING, REINSTALLMODE_FILEOLDERVERSION, REINSTALLMODE_FILEVERIFY, REINSTALLMODE_MACHINEDATA, REINSTALLMODE_USERDATA und REINSTALLMODE_SHORTCUT. |
|
Stellt die Komponente nur bereit, wenn das Feature vorhanden ist. Andernfalls wird ERROR_FILE_NOT_FOUND zurückgegeben.
Mit diesem Modus wird überprüft, ob die Schlüsseldatei der Komponente vorhanden ist. |
|
Stellt die Komponente nur bereit, wenn das Feature vorhanden ist. Andernfalls wird ERROR_FILE_NOT_FOUND zurückgegeben.
Dieser Modus überprüft nur, ob die Komponente registriert ist, und überprüft nicht, ob die Schlüsseldatei der Komponente vorhanden ist. |
|
Geben Sie die Komponente nur an, wenn das Feature vorhanden ist, andernfalls ERROR_FILE_NOT_FOUND zurück. |
|
Rufen Sie MsiReinstallFeature auf, um das Feature mit diesem Parameter für den dwReinstallMode-Parameter neu zu installieren, und geben Sie dann die Komponente an. |
|
Geben Sie die Komponente nur an, wenn der Installationsstatus des Features INSTALLSTATE_LOCAL ist. Wenn der Installationsstatus des Features INSTALLSTATE_SOURCE ist, geben Sie ERROR_INSTALL_SOURCE_ABSENT zurück. Andernfalls wird ERROR_FILE_NOT_FOUND zurückgegeben. Dieser Modus überprüft nur, ob die Komponente registriert ist, und überprüft nicht, ob die Schlüsseldatei vorhanden ist. |
[in] szProduct
Gibt das Produkt an, mit dem die qualifizierte Komponente veröffentlicht wurde. Wenn dies NULL ist, funktioniert diese API genauso wie MsiProvideQualifiedComponent.
[in] dwUnused1
Reserviert. Muss Null sein.
[in] dwUnused2
Reserviert. Muss Null sein.
[out] lpPathBuf
Zeiger auf eine Variable, die den Pfad zur Komponente empfängt. Dieser Parameter kann NULL sein.
[in, out] pcchPathBuf
Zeiger auf eine Variable, die die Größe des Puffers in Zeichen angibt, auf den der lpPathBuf-Parameter verweist. Bei der Eingabe ist dies die vollständige Größe des Puffers, einschließlich eines Leerzeichens für ein beendendes NULL-Zeichen. Wenn der übergebene Puffer zu klein ist, enthält die zurückgegebene Anzahl nicht das beendende NULL-Zeichen.
Wenn lpPathBuf NULL ist, kann pcchBuf NULL sein.
Rückgabewert
Wert | Bedeutung |
---|---|
|
Komponentenqualifizierer ungültig oder nicht vorhanden. |
|
Die Funktion wurde erfolgreich abgeschlossen. |
|
Das Feature ist nicht vorhanden oder nicht vorhanden. Dieser Fehler wird für dwInstallMode = INSTALLMODE_EXISTING zurückgegeben. |
|
Die angegebene Komponente ist unbekannt. |
|
Weitere Informationen finden Sie unter Fehlercodes. |
Fehler in Bezug auf die Initialisierung. |
Hinweise
Wenn die MsiProvideQualifiedComponentEx-Funktion erfolgreich ist, enthält der pcchPathBuf-Parameter die Länge der Zeichenfolge in lpPathBuf.
Features mit Komponenten, die eine beschädigte Datei oder die falsche Version einer Datei enthalten, müssen vom Benutzer oder durch den Aufruf der Anwendung MsiReinstallFeature explizit neu installiert werden.
Hinweis
Der msi.h-Header definiert MsiProvideQualifiedComponentEx 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 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 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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für