Поделиться через


Функция TryCreatePackageDependency (appmodel.h)

Создает ссылку во время установки для зависимости пакета платформы для текущего приложения, используя указанное имя семейства пакетов, минимальную версию и дополнительные условия.

Синтаксис

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

Параметры

user

Тип: PSID

Пользователь область зависимости пакета. Если значение РАВНО NULL, используется контекст пользователя вызывающего абонента. Значение должно иметь значение NULL, если указан CreatePackageDependencyOptions_ScopeIsSystem .

packageFamilyName

Тип: PCWSTR

Имя семейства пакетов пакета платформы, от которого следует принимать зависимость.

minVersion

Тип: PACKAGE_VERSION

Минимальная версия пакета платформы, от которого требуется принять зависимость.

packageDependencyProcessorArchitectures

Тип: PackageDependencyProcessorArchitectures

Архитектуры процессора зависимости пакета.

lifetimeKind

Тип: PackageDependencyLifetimeKind

Тип артефакта, используемого для определения времени существования зависимости пакета. Дополнительные сведения см. в примечаниях.

lifetimeArtifact

Тип: PCWSTR

Имя артефакта, используемого для определения времени существования зависимости пакета. Значение должно иметь значение NULL, если параметр lifetimeKind имеет PackageDependencyLifetimeKind_Process. Дополнительные сведения см. в примечаниях.

options

Тип: CreatePackageDependencyOptions

Параметры, применяемые при создании зависимости пакета.

packageDependencyId

Тип: PWSTR*

При возврате этим методом содержит адрес указателя на строку Юникода, завершающуюся null, которая указывает идентификатор новой зависимости пакета. Вызывающий объект отвечает за освобождение этого ресурса после того, как он больше не нужен, вызывая HeapFree.

Возвращаемое значение

Тип: HRESULT

Если функция выполняется успешно, она возвращает ERROR_SUCCESS. В противном случае функция возвращает код ошибки. Возможные коды ошибок включают следующие.

Код возврата Описание
E_INVALIDARG Параметр packageDependencyId имеет значение NULL для входных данных.

Комментарии

В установщике приложения или во время первого запуска приложения вызовите этот метод, чтобы указать набор условий для пакета платформы, который вы хотите использовать в приложении. Это информирует операционную систему о том, что приложение зависит от пакета платформы, отвечающего указанным критериям. Если установлены один или несколько пакетов платформы, которые отвечают критериям, Windows гарантирует, что по крайней мере один из этих пакетов будет оставаться установленным до удаления ссылки времени установки. Дополнительные сведения см. в статье Использование API динамических зависимостей для ссылки на пакеты MSIX во время выполнения.

Эта функция завершается сбоем, если указанные критерии зависимостей не могут быть разрешены в определенном пакете. Этот проверка разрешения пакета пропускается, если для параметра options указано CreatePackageDependencyOptions_DoNotVerifyDependencyResolution. Это полезно для установщиков, работающих в качестве контекстов пользователей, отличных от целевого пользователя (например, установщиков, работающих от имени LocalSystem).

Требования

Требование Значение
Минимальная версия клиента Windows 11 (появилось в версии 10.0.22000.0)
Верхняя часть appmodel.h

См. также раздел

Использование API динамических зависимостей для ссылки на пакеты MSIX во время выполнения