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,则使用调用方的用户上下文。 如果为参数 选项指定了 scopeIsSystem,则必须为 NULL。

packageFamilyName

类型:PCWSTR

要依赖的框架包的包系列名称。

minVersion

类型:PACKAGE_VERSION

要依赖的框架包的最低版本。

packageDependencyProcessorArchitectures

类型:PackageDependencyProcessorArchitectures

包依赖项的处理器体系结构。

lifetimeKind

类型:PackageDependencyLifetimeKind

用于定义包依赖项生存期的项目类型。 有关详细信息,请参阅备注。

lifetimeArtifact

类型:PCWSTR

用于定义包依赖项生存期的项目的名称。 如果 lifetimeKind 参数 Process,则必须为 NULL。 有关详细信息,请参阅备注。

options

类型:CreatePackageDependencyOptions

创建包依赖项时要应用的选项。

packageDependencyId

类型:PWSTR*

新包依赖项的 ID。 使用 HeapAlloc 函数分配此参数的内存,并使用 HeapFree 解除分配内存。

返回值

类型:HRESULT

如果函数成功,则返回 ERROR_SUCCESS。 否则,该函数将返回错误代码。 可能的错误代码包括以下内容。

返回代码 说明
E_INVALIDARG packageDependencyId 参数在输入时为 NULL。

注解

在应用的安装程序或首次运行应用期间,调用此方法以指定要在应用中使用的框架包的一组条件。 这会通知 OS 你的应用依赖于满足指定条件的框架包。 如果安装了符合条件的一个或多个框架包,Windows 将确保至少一个这些框架包将一直安装,直到删除安装时引用。 有关详细信息,请参阅 使用动态依赖项 API 在运行时引用 MSIX 包。

如果指定的依赖项条件无法解析为特定包,则此函数将失败。 如果为 选项 参数指定了 DoNotVerifyDependencyResolution,则会跳过此包解析检查。 这对于作为目标用户以外的用户上下文运行的安装程序非常有用(例如,作为 LocalSystem 运行的安装程序)。

要求

要求 价值
最低支持的客户端 Windows 10 版本 1809(使用 Windows 应用 SDK 1.0 或更高版本)
标头 msixdynamicdependency.h