.NET MAUI - 自动更新桌面应用程序

问题描述 投票:0回答:1

我一直在开发适用于 Windows 的 MAUI Blazor 混合桌面应用程序。我想为该应用程序配置自动/自我更新。我已按照 Visual Studio Code 说明进行发布。

官方文档链接

按照原样操作,对于发布向导中的 Installer location 字段,我输入了一个公共 s3 存储桶 URL,其中将包含应用程序的未来版本。网址看起来像这样。

https://<bucket-name>.s3.us-east-1.amazonaws.com/blazor-application

安装应用程序后,我生成了另一个具有增量版本的版本,并将输出文件夹的内容发布到 s3 存储桶。我关闭了正在运行的应用程序并再次启动它,但自动更新似乎不起作用。

我发现应用程序需要一个配置了更新设置的 .appinstaller 文件,但我的理解是该文件是在发布时由 Visual Studio 自动创建的。这是正确的吗?

另一篇文章建议应用程序应安装在 root 文件夹中以接收更新,但安装后我没有看到安装在特定位置的选项。

感谢任何帮助,请指出正确的资源。

c# .net-core blazor maui desktop-application
1个回答
0
投票

所以,问题出在 Visual Studio 上,我希望 *.appinstaller 文件没有生成。

我的问题与此 stackoverflow 问题相关

有关如何手动创建应用程序安装程序文件的 Microsoft 文档

因此,我根据上述答案中的步骤手动生成了 appinstaller 文件,它应该可以正常工作。

此外,我将此包与应用程序安装程序一起部署在S3中,它的工作原理就像一个魅力,存储桶必须是公共的。

另一个重要注意事项是,必须通过 appinstaller 文件而不是 MSIX 文件完成安装,才能启用自动更新。

如果有人想知道的话,我的文件版本看起来像这样,

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="s3 path to the appinstaller file" >
    
    <MainPackage
        Name=""
        Publisher=""
        Version="1.0.0.0"
        ProcessorArchitecture="x64"
        Uri="s3 path to the MSIX package" />
    
    <UpdateSettings>
        <OnLaunch 
            HoursBetweenUpdateChecks="0"
            ShowPrompt="true" />
        <AutomaticBackgroundTask />
    </UpdateSettings>
</AppInstaller>
© www.soinside.com 2019 - 2024. All rights reserved.