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,则使用调用方的用户上下文。 如果为 options 参数指定了 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。 |
注解
在应用的安装程序中或在首次运行应用期间,调用此方法为要在应用中使用的框架包指定一组条件。 这会向操作系统告知应用依赖于满足指定条件的框架包。 如果安装了满足条件的一个或多个框架包,在 Windows 会确保在删除安装时引用之前至少使这些框架包中的一个保持已安装状态。 有关详细信息,请参阅 在运行时使用动态依赖项 API 引用 MSIX 包。
如果指定的依赖项条件无法解析为特定包,则此函数失败。 如果为 options 参数指定了 DoNotVerifyDependencyResolution,则会跳过此包解析检查。 这对于作为目标用户以外的用户上下文运行的安装程序非常有用 (例如,作为 LocalSystem) 运行的安装程序。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 使用 Windows 应用 SDK 1.0 或更高版本的 Windows 10 版本 1809 () |
标头 | msixdynamicdependency.h |