Compartir a través de


Función TryCreatePackageDependency (appmodel.h)

Crea una referencia en tiempo de instalación para una dependencia de paquete de marco para la aplicación actual, usando el nombre de familia de paquetes, la versión mínima y los criterios adicionales especificados.

Sintaxis

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

Parámetros

user

Tipo: PSID

Ámbito de usuario de la dependencia del paquete. Si es NULL, se usa el contexto de usuario del autor de la llamada. Debe ser NULL si se especifica CreatePackageDependencyOptions_ScopeIsSystem .

packageFamilyName

Tipo: PCWSTR

Nombre de familia del paquete del paquete de marco en el que se va a tomar la dependencia.

minVersion

Tipo: PACKAGE_VERSION

Versión mínima del paquete de marco en la que se va a tomar la dependencia.

packageDependencyProcessorArchitectures

Tipo: PackageDependencyProcessorArchitectures

Arquitecturas de procesador de la dependencia del paquete.

lifetimeKind

Tipo: PackageDependencyLifetimeKind

Tipo de artefacto que se va a usar para definir la duración de la dependencia del paquete. Para obtener más información, vea los comentarios.

lifetimeArtifact

Tipo: PCWSTR

Nombre del artefacto usado para definir la duración de la dependencia del paquete. Debe ser NULL si el parámetro lifetimeKind es PackageDependencyLifetimeKind_Process. Para obtener más información, vea los comentarios.

options

Tipo: CreatePackageDependencyOptions

Las opciones que se aplicarán al crear la dependencia del paquete.

packageDependencyId

Tipo: PWSTR*

Cuando este método devuelve , contiene la dirección de un puntero a una cadena Unicode terminada en null que especifica el identificador de la nueva dependencia de paquete. El autor de la llamada es responsable de liberar este recurso una vez que ya no sea necesario llamando a HeapFree.

Valor devuelto

Tipo: HRESULT

Si la función se realiza correctamente, devuelve ERROR_SUCCESS. De lo contrario, la función devuelve un código de error. Los posibles códigos de error incluyen lo siguiente.

Código devuelto Descripción
E_INVALIDARG El parámetro packageDependencyId es NULL en la entrada.

Comentarios

En el instalador de la aplicación o durante la primera ejecución de la aplicación, llama a este método para especificar un conjunto de criterios para un paquete de marco que quieres usar en la aplicación. Esto informa al sistema operativo de que la aplicación tiene una dependencia en un paquete de marcos que cumple los criterios especificados. Si se instalan uno o varios paquetes de marcos que cumplen los criterios, Windows se asegurará de que al menos uno de estos paquetes de marcos permanezca instalado hasta que se elimine la referencia en tiempo de instalación. Para más información, consulte Uso de la API de dependencia dinámica para hacer referencia a paquetes MSIX en tiempo de ejecución.

Esta función produce un error si los criterios de dependencia especificados no se pueden resolver en un paquete específico. Esta comprobación de resolución de paquetes se omite si se especifica CreatePackageDependencyOptions_DoNotVerifyDependencyResolution para el parámetro options . Esto resulta útil para los instaladores que se ejecutan como contextos de usuario distintos del usuario de destino (por ejemplo, instaladores que se ejecutan como LocalSystem).

Requisitos

Requisito Value
Cliente mínimo compatible Windows 11 (introducido en la versión 10.0.22000.0)
Encabezado appmodel.h

Consulte también

Uso de la API de dependencias dinámicas para hacer referencia a paquetes MSIX en tiempo de ejecución