Compartilhar via


Função TryCreatePackageDependency (appmodel.h)

Cria uma referência de tempo de instalação para uma dependência de pacote de estrutura para o aplicativo atual, usando o nome da família de pacotes especificado, a versão mínima e critérios adicionais.

Sintaxe

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

Parâmetros

user

Tipo: PSID

O escopo do usuário da dependência do pacote. Se NULL, o contexto de usuário do chamador será usado. Deve ser NULL se CreatePackageDependencyOptions_ScopeIsSystem for especificado.

packageFamilyName

Tipo: PCWSTR

O nome da família de pacotes do pacote da estrutura no qual assumir a dependência.

minVersion

Tipo: PACKAGE_VERSION

A versão mínima do pacote da estrutura na qual assumir a dependência.

packageDependencyProcessorArchitectures

Tipo: PackageDependencyProcessorArchitectures

As arquiteturas do processador da dependência do pacote.

lifetimeKind

Tipo: PackageDependencyLifetimeKind

O tipo de artefato a ser usado para definir o tempo de vida da dependência do pacote. Para obter mais informações, consulte as observações.

lifetimeArtifact

Tipo: PCWSTR

O nome do artefato usado para definir o tempo de vida da dependência do pacote. Deve ser NULL se o parâmetro lifetimeKind for PackageDependencyLifetimeKind_Process. Para obter mais informações, consulte as observações.

options

Tipo: CreatePackageDependencyOptions

As opções a serem aplicadas ao criar a dependência do pacote.

packageDependencyId

Tipo: PWSTR*

Quando esse método é retornado, contém o endereço de um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que especifica a ID da nova dependência do pacote. O chamador é responsável por liberar esse recurso depois que ele não é mais necessário chamando HeapFree.

Valor de retorno

Tipo: HRESULT

Se a função for bem-sucedida, ela retornará ERROR_SUCCESS. Caso contrário, a função retornará um código de erro. Os códigos de erro possíveis incluem o seguinte.

Código de retorno Description
E_INVALIDARG O parâmetro packageDependencyId é NULL na entrada.

Observações

No instalador do aplicativo ou durante a primeira execução do aplicativo, chame esse método para especificar um conjunto de critérios para um pacote de estrutura que você deseja usar em seu aplicativo. Isso informa ao sistema operacional que seu aplicativo tem uma dependência em um pacote de estrutura que atenda aos critérios especificados. Se um ou mais pacotes de estrutura forem instalados que atendam aos critérios, o Windows garantirá que pelo menos um desses pacotes de estrutura permanecerá instalado até que a referência de tempo de instalação seja excluída. Para obter mais informações, consulte Usar a API de dependência dinâmica para fazer referência a pacotes MSIX em tempo de execução.

Essa função falhará se os critérios de dependência especificados não puderem ser resolvidos para um pacote específico. Essa verificação de resolução de pacote será ignorada se CreatePackageDependencyOptions_DoNotVerifyDependencyResolution for especificado para o parâmetro de opções . Isso é útil para instaladores em execução como contextos de usuário diferentes do usuário de destino (por exemplo, instaladores em execução como LocalSystem).

Requirements

Requirement Value
Cliente mínimo suportado Windows 11 (introduzido na versão 10.0.22000.0)
Header appmodel.h
Library OneCoreUAP.Lib

Consulte também

Usar a API de dependência dinâmica para referenciar pacotes MSIX em tempo de execução