MsiSetTargetPathA-Funktion (msiquery.h)
Die MsiSetTargetPath--Funktion legt den vollständigen Zielpfad für einen Ordner in der Verzeichnistabellefest.
Syntax
UINT MsiSetTargetPathA(
[in] MSIHANDLE hInstall,
[in] LPCSTR szFolder,
[in] LPCSTR szFolderPath
);
Parameter
[in] hInstall
Behandeln Sie die Installation, die für eine benutzerdefinierte DLL-Aktion bereitgestellt wird, oder erhalten Sie über MsiOpenPackage, MsiOpenPackageEx-oder MsiOpenProduct-.
[in] szFolder
Gibt den Ordnerbezeichner an. Dies ist ein Primärschlüssel in der Verzeichnistabelle.
[in] szFolderPath
Gibt den vollständigen Pfad für den Ordner an, der auf einem Verzeichnistrennzeichen endet.
Rückgabewert
Die funktion MsiSetTargetPath gibt die folgenden Werte zurück:
Bemerkungen
Die MsiSetTargetPath--Funktion ändert die Pfadangabe für das Zielverzeichnis, das in der Verzeichnistabelle im Arbeitsspeicherbenannt ist. Außerdem werden die Pfadspezifikationen aller anderen Pfadobjekte in der Tabelle aktualisiert, die entweder untergeordnete oder gleichwertig mit dem geänderten Pfad sind, um die Änderung widerzuspiegeln. Die Eigenschaften für jeden betroffenen Pfad werden ebenfalls aktualisiert.
MsiSetTargetPath schlägt fehl, wenn das ausgewählte Verzeichnis schreibgeschützt ist.
Wenn in dieser Funktion ein Fehler auftritt, werden alle aktualisierten Pfade und Eigenschaften auf ihre vorherigen Werte zurückgesetzt. Daher ist es sicher, fehler zu behandeln, die von dieser Funktion als nichtfatal zurückgegeben werden.
Versuchen Sie nicht, den Zielpfad zu konfigurieren, wenn die Komponenten, die diese Pfade verwenden, bereits für den aktuellen Benutzer oder für einen anderen Benutzer installiert sind. Überprüfen Sie die ProductState-Eigenschaft, bevor Sie MsiSetTargetPath- aufrufen, um festzustellen, ob das Produkt, das diese Komponente enthält, installiert ist.
Siehe Aufrufen von Datenbankfunktionen aus Programmen.
Wenn die Funktion fehlschlägt, können Sie erweiterte Fehlerinformationen mithilfe MsiGetLastErrorRecordabrufen.
Anmerkung
Der msiquery.h-Header definiert MsiSetTargetPath 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. Windows Installer unter Windows Server 2003 oder Windows XP |
Zielplattform- | Fenster |
Header- | msiquery.h |
Library | Msi.lib |
DLL- | Msi.dll |