Freigeben über


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

Siehe auch

Installationsprogramm-Standortfunktionen