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


Функция 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

Тип: PackageDependencyLifetimeKindd

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

lifetimeArtifact

Тип: PCWSTR

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

options

Тип: CreatePackageDependencyOptions

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

packageDependencyId

Тип: PWSTR*

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

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

Тип: HRESULT

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

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

Замечания

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

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

Требования

Требование Ценность
Минимальный поддерживаемый клиент Windows 11 (появилась в версии 10.0.22000.0)
Header appmodel.h
Library OneCoreUAP.Lib

См. также

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