Desktop Bridge 应用在请求更新时收到错误代码:0x769e4192

Desktop Bridge app got an error code when request update: 0x769e4192

以下是我参考的代码here and here。 btnRequestUpdate_Click可以执行并且可以正确询问我是否需要下载更新,点击"OK"的时候会报错:“0x769e4192(位于appName.exe) 异常:Microsoft C++ 异常:winrt::hresult_error,位于内存位置 0x06a8f0a0"

我尝试使用 RequestDownloadStorePackageUpdatesAsync,但遇到了同样的错误。

那么我该如何解决这个问题呢?非常感谢。

[ComImport]
[Guid("3E68D4BD-7135-4D10-8018-9FB6D9F33FA1")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IInitializeWithWindow
{
    void Initialize(IntPtr hwnd);
}

private async void btnRequestUpdate_Click(object sender, RoutedEventArgs e)
{
    var context = StoreContext.GetDefault();
    IInitializeWithWindow initWindow = (IInitializeWithWindow)(object)context;
    initWindow.Initialize(System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle);

    IReadOnlyList<StorePackageUpdate> storePackageUpdates =
        await context.GetAppAndOptionalStorePackageUpdatesAsync();
    if (storePackageUpdates.Count == 0) return;
    IAsyncOperationWithProgress<StorePackageUpdateResult, StorePackageUpdateStatus> downloadOperation =
        context.RequestDownloadAndInstallStorePackageUpdatesAsync(storePackageUpdates);
    downloadOperation.Progress = (asyncInfo, progress) =>
    {
        Consolo.WriteLine($"progress: {progress}");
    };
}

我想我知道我以前遇到过什么问题。关键是要区分"packaged version (released version)"和"unpackaged version (debug version)"。我无法从 "unpackaged version" 升级到 "packaged version"。所以我尝试把高版本和低版本的app都发布到商店,然后通过低版本升级到高版本。

另外,使用"package flights"测试升级比使用"submissions"快很多,因为"package flights"审核通常只需要半个小时。