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


Функция MddTryCreatePackageDependency (msixdynamicdependency.h)

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

Синтаксис

HRESULT MddTryCreatePackageDependency(
  PSID                                       user,
  PCWSTR                                     packageFamilyName,
  PACKAGE_VERSION                            minVersion,
  MddPackageDependencyProcessorArchitectures packageDependencyProcessorArchitectures,
  MddPackageDependencyLifetimeKind           lifetimeKind,
  PCWSTR                                     lifetimeArtifact,
  MddCreatePackageDependencyOptions          options,
  PWSTR                                      *packageDependencyId
) noexcept;

Параметры

user

Тип: PSID

Область пользователя зависимости пакета. Если значение NULL, используется контекст пользователя вызывающего объекта. Значение NULL, если ScopeIsSystem указан для параметра .

packageFamilyName

Тип: PCWSTR

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

minVersion

Тип: PACKAGE_VERSION

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

packageDependencyProcessorArchitectures

Тип: PackageDependencyProcessorArchitectures

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

lifetimeKind

Тип: PackageDependencyLifetimeKindd

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

lifetimeArtifact

Тип: PCWSTR

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

options

Тип: CreatePackageDependencyOptions

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

packageDependencyId

Тип: PWSTR*

Идентификатор новой зависимости пакета. Используйте функцию HeapAlloc, чтобы выделить память для этого параметра и использовать HeapFree для освобождения памяти.

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

Тип: HRESULT

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

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

Замечания

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

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

Требования

Требование Ценность
Минимально поддерживаемый клиент Windows 10 версии 1809 (с пакетом SDK для приложений Windows 1.0 или более поздней версии)
Заголовок msixdynamicdependency.h