PackageExtensionCatalog.PackageUpdating 事件

定义

更新扩展包时触发的事件。

// Register
event_token PackageUpdating(TypedEventHandler<PackageExtensionCatalog, PackageExtensionPackageUpdatingEventArgs const&> const& handler) const;

// Revoke with event_token
void PackageUpdating(event_token const* cookie) const;

// Revoke with event_revoker
PackageExtensionCatalog::PackageUpdating_revoker PackageUpdating(auto_revoke_t, TypedEventHandler<PackageExtensionCatalog, PackageExtensionPackageUpdatingEventArgs const&> const& handler) const;
public event TypedEventHandler<PackageExtensionCatalog,PackageExtensionPackageUpdatingEventArgs> PackageUpdating;
function onPackageUpdating(eventArgs) { /* Your code */ }
packageExtensionCatalog.addEventListener("packageupdating", onPackageUpdating);
packageExtensionCatalog.removeEventListener("packageupdating", onPackageUpdating);
- or -
packageExtensionCatalog.onpackageupdating = onPackageUpdating;
Public Custom Event PackageUpdating As TypedEventHandler(Of PackageExtensionCatalog, PackageExtensionPackageUpdatingEventArgs) 

事件类型

注解

此事件将标记包更新开始时间。 它位于 PackageUpdated 事件之前。 在大多数情况下,请将此问题视为 PackageUninstalling

处理此事件的一种好方法是在处理 PackageUpdating 时将包中的关联扩展视为不可用,然后在处理 PackageUpdated 事件时重新加载它们。 这两个事件之间的时间通常小于一秒。

事件参数 PackageExtensionPackageUpdatingEventArgs 仅包含扩展的 Package.appxmanifest 文件中指定的 Package 和 PackageExtensionName 作为 <uap17:PackageExtension Name=...> 它不包含扩展列表。

处理 PackageUpdating 事件时,将正在更新的包与从该包加载的任何扩展相匹配,以便跟踪哪些扩展现在可用。 因此,应跟踪已加载的 PackageExtensions 、它们所属的包,以及它们的唯一标识符,如 PackageExtensionCatalog.Open 的注释中所述,可以将其用作键。

适用于

另请参阅