UWP App的预安装配置任务未运行

时间:2017-08-04 07:56:49

标签: uwp windows-runtime win-universal-app windows-10-universal winrt-component

对于作为Windows通用应用程序编写的LOB应用程序,我想在安装应用程序时注册后台任务而无需启动它。从我所看到的,文档指向我在Package.appxmanifest中的预安装配置功能,我找到了this

但是,使用此扩展时,后台任务未注册,也无法看到它运行任何内容。

以下是我在Package.appxmanifest中的预安装配置扩展程序:

<Extension Category="windows.preInstalledConfigTask" EntryPoint="Foo.BackgroundTasks.DefaultRegistrationBackgroundTask" />

要验证Task和Entrypoint是否设置正确,我使用更新任务功能注册了它,增加了App版本,再次部署它并注册后台任务,一切都按预期工作。

这是我在Package.appxmanifest中的更新任务扩展:

 <Extension Category="windows.updateTask" EntryPoint="Foo.BackgroundTasks.DefaultRegistrationBackgroundTask" />

预安装配置任务是否有限制或需要其他配置?我该如何调试这类问题?没有断点被击中。

Foo.BackgroundTasks.DefaultRegistrationBackgroundTask代码:

public sealed class DefaultRegistrationBackgroundTask : IBackgroundTask
{
    private BackgroundTaskDeferral _backgroundTaskDeferral;
    public void Run(IBackgroundTaskInstance taskInstance)
    {

        // Deferral is required if code uses any async call
        _backgroundTaskDeferral = taskInstance.GetDeferral();

        // Location Services
        BackgroundTaskHelper.RegisterBackgroundTask("Foo.BackgroundTasks.LocationBackgroundTask",
            "Foo.LocationBackgroundTask",
            new SystemTrigger(SystemTriggerType.UserPresent, false),
            null);

        // Referal releases
        _backgroundTaskDeferral.Complete();
    }  
}

1 个答案:

答案 0 :(得分:1)

PreinstalledConfigTask仅限于预装的应用程序,即OEM或Microsoft随设备提供的应用程序。对于用户从商店(或通过侧载)获取的应用程序,它不会被触发。