Condividi tramite


Funzione TryCreatePackageDependency (appmodel.h)

Crea un riferimento in fase di installazione per una dipendenza del pacchetto framework per l'app corrente, usando il nome della famiglia di pacchetti, la versione minima e i criteri aggiuntivi specificati.

Sintassi

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

Parametri

user

Tipo: PSID

Ambito utente della dipendenza del pacchetto. Se NULL, viene usato il contesto utente del chiamante. Deve essere NULL se viene specificato CreatePackageDependencyOptions_ScopeIsSystem.

packageFamilyName

Tipo: PCWSTR

Nome della famiglia di pacchetti del pacchetto framework in cui accettare la dipendenza.

minVersion

Tipo: PACKAGE_VERSION

Versione minima del pacchetto framework in cui accettare la dipendenza.

packageDependencyProcessorArchitectures

Tipo: PackageDependencyProcessorArchitectures

Architetture del processore della dipendenza del pacchetto.

lifetimeKind

Tipo: PackageDependencyLifetimeKind

Tipo di artefatto da usare per definire la durata della dipendenza del pacchetto. Per altre informazioni, vedere le osservazioni.

lifetimeArtifact

Tipo: PCWSTR

Nome dell'artefatto utilizzato per definire la durata della dipendenza del pacchetto. Deve essere NULL se il parametro lifetimeKind è PackageDependencyLifetimeKind_Process. Per altre informazioni, vedere le osservazioni.

options

Tipo: CreatePackageDependencyOptions

Opzioni da applicare durante la creazione della dipendenza del pacchetto.

packageDependencyId

Tipo: PWSTR*

Quando termina, questo metodo contiene l'indirizzo di un puntatore a una stringa Unicode con terminazione Null che specifica l'ID della nuova dipendenza del pacchetto. Il chiamante è responsabile della liberazione di questa risorsa dopo che non è più necessaria chiamando HeapFree.

Valore restituito

Tipo: HRESULT

Se la funzione ha esito positivo, restituisce ERROR_SUCCESS. In caso contrario, la funzione restituisce un codice di errore. I codici di errore possibili includono quanto segue.

Codice restituito Descrizione
E_INVALIDARG Il parametro packageDependencyId è NULL all'input.

Osservazioni

Nel programma di installazione dell'app o durante la prima esecuzione dell'app chiamare questo metodo per specificare un set di criteri per un pacchetto framework che si vuole usare nell'app. In questo modo il sistema operativo informa il sistema operativo che l'app ha una dipendenza da un pacchetto framework che soddisfa i criteri specificati. Se vengono installati uno o più pacchetti framework che soddisfano i criteri, Windows garantirà che almeno uno di questi pacchetti framework rimarrà installato fino all'eliminazione del riferimento in fase di installazione. Per altre informazioni, vedere Usare l'API di dipendenza dinamica per fare riferimento ai pacchetti MSIX in fase di esecuzione.

Questa funzione ha esito negativo se i criteri di dipendenza specificati non possono essere risolti in un pacchetto specifico. Questo controllo di risoluzione del pacchetto viene ignorato se CreatePackageDependencyOptions_DoNotVerifyDependencyResolution viene specificato per le opzioni di parametro. Ciò è utile per i programmi di installazione in esecuzione come contesti utente diversi dall'utente di destinazione, ad esempio i programmi di installazione in esecuzione come LocalSystem.

Fabbisogno

Requisito Valore
client minimo supportato Windows 11 (introdotto nella versione 10.0.22000.0)
intestazione appmodel.h

Vedere anche

Usare l'API di dipendenza dinamica per fare riferimento ai pacchetti MSIX in fase di esecuzione