MsiProvideAssemblyA-Funktion (msi.h)
Die MsiProvideAssembly-Funktion gibt den vollständigen Pfad zu einer Windows Installer-Komponente zurück, die eine Assembly enthält. Die Funktion fordert eine Quelle an und führt jede erforderliche Installation aus. MsiProvideAssembly erhöht die Nutzungsanzahl für das Feature.
Syntax
UINT MsiProvideAssemblyA(
[in] LPCSTR szAssemblyName,
[in] LPCSTR szAppContext,
[in] DWORD dwInstallMode,
[in] DWORD dwAssemblyInfo,
[out] LPSTR lpPathBuf,
[in, out] LPDWORD pcchPathBuf
);
Parameter
[in] szAssemblyName
Der Assemblyname als Zeichenfolge.
[in] szAppContext
Legen Sie bei globalen Assemblys den Wert NULL fest. Legen Sie für private Assemblys szAppContext auf den vollständigen Pfad der Anwendungskonfigurationsdatei oder auf den vollständigen Pfad der ausführbaren Datei der Anwendung fest, für die die Assembly privat ist.
[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 der Installationsstatus des Features INSTALLSTATE_LOCAL ist. Wenn der Featureinstallationsstatus 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. |
|
Geben Sie die Komponente an, wenn ein Feature aus einem installierten Produkt 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. Dieses Flag ähnelt dem INSTALLMODE_NODETECTION Flag, mit der Ausnahme, dass wir mit diesem Flag auf jedes Produkt überprüfen, das die Assembly installiert hat, im Gegensatz zum letzten Produkt, wie es beim INSTALLMODE_NODETECTION-Flag der Fall ist. Dieses Flag kann nur mit MsiProvideAssembly verwendet werden. |
|
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. |
[in] dwAssemblyInfo
Assemblyinformationen und Assemblytyp. Legen Sie einen der folgenden Werte fest:
Wert | Bedeutung |
---|---|
|
.NET Assembly |
|
Win32-Assembly |
[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 pcchPathBuf NULL sein.
Rückgabewert
Wert | Bedeutung |
---|---|
|
Die Konfigurationsdaten sind beschädigt. |
|
Das Feature ist nicht vorhanden oder nicht vorhanden. Dieser Fehler wird für dwInstallMode = INSTALLMODE_EXISTING zurückgegeben. |
|
Fehler bei der Installation. |
|
Die angeforderte Komponente ist auf dem Computer deaktiviert. |
|
Es wurde ein ungültiger Parameter an die Funktion übergeben. |
|
Die Funktion wurde erfolgreich abgeschlossen. |
|
Die Feature-ID identifiziert kein bekanntes Feature. |
|
Die Komponenten-ID gibt keine bekannte Komponente an. |
|
Der Produktcode identifiziert kein bekanntes Produkt. |
|
Ein nicht erkanntes Produkt oder ein Featurename wurde an die Funktion übergeben. |
|
Der Pufferüberlauf wird zurückgegeben. |
|
Das System verfügt nicht über genügend Arbeitsspeicher, um den Vorgang abzuschließen. Verfügbar mit Windows Server 2003. |
|
Eine Quelle kann nicht erkannt werden. |
Weitere Informationen finden Sie unter Angezeigte Fehlermeldungen.
Hinweise
Wenn die MsiProvideAssembly-Funktion erfolgreich ist, enthält der pcchPathBuf-Parameter die Länge der Zeichenfolge in lpPathBuf.
Die Option INSTALLMODE_EXISTING kann nicht in Kombination mit dem REINSTALLMODE-Flag verwendet werden.
Features mit Komponenten, die eine beschädigte Datei oder die falsche Version einer Datei enthalten, müssen vom Benutzer explizit neu installiert werden, oder indem die Anwendung MsiReinstallFeature aufruft.
Hinweis
Der msi.h-Header definiert MsiProvideAssembly 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 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 |