如何创建自动更新 UWP 包以在 DevOps 构建或发布管道中进行侧载?

How to create auto-updating UWP package for sideloading in DevOps build or release pipelines?

我一直在阅读关于从 Visual Studio 生成 .appinstallerauto-updates for sideloaded UWP apps and I'd like to explore this approach for one of our enterprise products. I can find documentation,但我找不到从 DevOps/VSTS 生成它的文档。有没有办法做到这一点?也许 MSBuild 的构建参数?还是发布管道中的任务?

我知道我们可以使用 Visual Studio 或在必要时从头开始制作文件,但我们正在尝试更多地使用 DevOps 并减少本地构建。谢谢!

Is there a way to do this? Perhaps a build parameter to MSBuild? Or a task in a release pipeline?

是的,我们应该在 DevOps 构建管道中配置构建任务时添加一些 MSbuild 参数:

/p:AppxPackageDir="$(Build.ArtifactStagingDirectory)\AppxPackages\"
/p:UapAppxPackageBuildMode=StoreUpload
/p:AppxBundlePlatforms="$(Build.BuildPlatform)"
/p:AppxBundle=Always

查看文档 Set up automated builds for your UWP app 了解更多详细信息。

希望对您有所帮助。

我能够为 Visual Studio 生成的构建打开诊断日志记录。这样做时,我发现了以下 MSBuild 参数并将它们添加到我的 DevOps 构建管道中的构建任务中。我必须添加的 new 参数在下面以粗体显示。

/p:AppxPackageDir="$(Build.ArtifactStagingDirectory)\AppxPackages\"
/p:UapAppxPackageBuildMode=StoreUpload /p:AppxBundlePlatforms="$(BuildPlatform)" /p:AppxBundle=Always /p:GenerateAppInstallerFile=true /p:AppInstallerUri="http://localhost/MyPackageEndpoint" /p:AppInstallerUpdateFrequency=1 /p:AppInstallerCheckForUpdateFrequency=OnApplicationRun

有了这个,我的输出生成了 .appinstaller 文件。我唯一的问题是我必须指定 URI,当我将它部署到不同环境的不同 Web 服务器时,我将不得不手动更改它。我可能会考虑使用发布管道中的脚本自动执行此操作。