Freigeben über


TryCreatePackageDependency-Funktion (appmodel.h)

Erstellt einen Installationszeitverweis für eine Frameworkpaketabhängigkeit für die aktuelle App, wobei der angegebene Paketfamilienname, die Mindestversion und zusätzliche Kriterien verwendet werden.

Syntax

HRESULT TryCreatePackageDependency(
  PSID                                    user,
  PCWSTR                                  packageFamilyName,
  PACKAGE_VERSION                         minVersion,
  PackageDependencyProcessorArchitectures packageDependencyProcessorArchitectures,
  PackageDependencyLifetimeKind           lifetimeKind,
  PCWSTR                                  lifetimeArtifact,
  CreatePackageDependencyOptions          options,
  PWSTR                                   *packageDependencyId
);

Die Parameter

user

Typ: PSID

Der Benutzerbereich der Paketabhängigkeit. Wenn NULL, wird der Benutzerkontext des Aufrufers verwendet. Muss NULL sein, wenn CreatePackageDependencyOptions_ScopeIsSystem angegeben ist.

packageFamilyName

Typ: PCWSTR-

Der Paketfamilienname des Frameworkpakets, von dem Abhängigkeiten berücksichtigt werden sollen.

minVersion

Typ: PACKAGE_VERSION

Die Mindestversion des Frameworkpakets, von der Abhängigkeiten berücksichtigt werden sollen.

packageDependencyProcessorArchitectures

Typ: PackageDependencyProcessorArchitectures

Die Prozessorarchitekturen der Paketabhängigkeit.

lifetimeKind

Typ: PackageDependencyLifetimeKind

Der Art des Artefakts, der zum Definieren der Lebensdauer der Paketabhängigkeit verwendet werden soll. Weitere Informationen finden Sie in den Anmerkungen.

lifetimeArtifact

Typ: PCWSTR-

Der Name des Artefakts, mit dem die Lebensdauer der Paketabhängigkeit definiert wird. Muss NULL sein, wenn der parameter lifetimeKindPackageDependencyLifetimeKind_Process ist. Weitere Informationen finden Sie in den Anmerkungen.

options

Typ: CreatePackageDependencyOptions

Die Beim Erstellen der Paketabhängigkeit anzuwendenden Optionen.

packageDependencyId

Typ: PWSTR*

Wenn diese Methode zurückgegeben wird, enthält sie die Adresse eines Zeigers auf eine mit Null beendete Unicode-Zeichenfolge, die die ID der neuen Paketabhängigkeit angibt. Der Aufrufer ist dafür verantwortlich, diese Ressource frei zu geben, sobald sie nicht mehr benötigt wird, indem HeapFree aufgerufen wird.

Rückgabewert

Typ: HRESULT-

Wenn die Funktion erfolgreich verläuft, wird ERROR_SUCCESSzurückgegeben. Andernfalls gibt die Funktion einen Fehlercode zurück. Die möglichen Fehlercodes umfassen Folgendes.

Rückgabecode Description
E_INVALIDARG Der parameter packageDependencyId ist NULL für die Eingabe.

Bemerkungen

Rufen Sie im Installationsprogramm Ihrer App oder während der ersten Ausführung Der App diese Methode auf, um eine Reihe von Kriterien für ein Frameworkpaket anzugeben, das Sie in Ihrer App verwenden möchten. Dadurch wird das Betriebssystem darüber informiert, dass Ihre App von einem Frameworkpaket abhängig ist, das den angegebenen Kriterien entspricht. Wenn mindestens ein Frameworkpaket installiert ist, das den Kriterien entspricht, stellt Windows sicher, dass mindestens eines dieser Frameworkpakete installiert bleibt, bis der Installationszeitverweis gelöscht wird. Weitere Informationen finden Sie unter Verwenden der dynamischen Abhängigkeits-API, um zur Laufzeit auf MSIX-Pakete zu verweisen.

Diese Funktion schlägt fehl, wenn die angegebenen Abhängigkeitskriterien nicht in ein bestimmtes Paket aufgelöst werden können. Diese Paketauflösungsprüfung wird übersprungen, wenn CreatePackageDependencyOptions_DoNotVerifyDependencyResolution für den Optionsparameter angegeben ist. Dies ist nützlich für Installationsprogramme, die als andere Benutzerkontexte als der Zielbenutzer ausgeführt werden (z. B. Installationsprogramme, die als LocalSystem ausgeführt werden).

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows 11 (eingeführt in 10.0.22000.0)
Header appmodel.h
Library OneCoreUAP.Lib

Siehe auch

Verwenden der dynamischen Abhängigkeits-API zum Verweisen auf MSIX-Pakete zur Laufzeit