我一直在开发适用于 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 文件夹中以接收更新,但安装后我没有看到安装在特定位置的选项。
感谢任何帮助,请指出正确的资源。
所以,问题出在 Visual Studio 上,我希望 *.appinstaller 文件没有生成。
有关如何手动创建应用程序安装程序文件的 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>