Функция 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 во время выполнения