azure - 设置 WPF 桌面应用程序的持续部署

标签 azure deployment clickonce azure-devops continuous-deployment

对于我当前正在进行的项目,我需要为现有桌面应用程序创建一个安装应用程序。安装应用程序将从网站下载,并将所需文件下载到正确的位置。当应用程序启动时,它将查找这些文件的较新版本,如果存在则下载它们,然后启动应用程序。

我正在使用 Visual Studio Online 和 TFVC,链接到 Azure。我设置了一个测试应用程序,以便当我触发构建时,发布管理会找到构建目录,并将文件移动到 Azure Blob 存储,但会在要传输的文件名前面添加一个 GUID。所以我的存储容器里有:

{Some GUID}/2390/Test.exe
{Some GUID}/2389/Test.exe
{Some GUID}/2387/Test.exe
...

我的容器中想要的是最新版本的 Test.exe,这样我就可以连接到容器,并确定是否要下载。

我已经编写了一个 NullSoft 安装程序来检查网站并下载文件。我还编写了一个 NullSoft“启动器”,它将本地文件版本与网站上的版本进行比较(使用网站上的版本 xml 文件),如果较新则下载,然后启动应用程序。我需要弄清楚的是如何在构建后将较新的文件获取到网站,自动化是目标之一。

我是一名实习生,总体来说是部署新手,我什至不知道我是否以正确的方式进行此操作。

问题:

  • 我正在做的事情对我想要实现的目标有意义吗?
  • 我们正在尝试模拟 ClickOnce 功能,但由于应用程序动态加载许多 DLL,因此无法使用 ClickOnce。有没有办法配置 ClickOnce 以包含非引用的 DLL?
  • 是否有执行我所描述的操作的最佳实践?

我很欣赏任何建议、引用链接或实际示例。

最佳答案

您提到了 ClickOnce,您对此进行了调查但无法使用。您是否已经尝试过另一种选择:松鼠?使用 Squirrel,您可以指定哪些文件应该是安装的一部分,从而允许您显式指定要包含哪些文件,即使动态加载它们也是如此。

链接:https://github.com/Squirrel/Squirrel.Windows

Squirrel 是一个用于创建自动更新应用程序的完整框架,可以与 Azure Blob 存储托管(如果需要扩展,还可以使用 CDN)配合使用

关于azure - 设置 WPF 桌面应用程序的持续部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28031362/

相关文章:

javascript - 管理和部署大型 JavaScript 应用程序的最佳实践

entity-framework - 发布 Web 对话框未将我的 Entity Framework 5 上下文检测为 Code First

c# - Clickonce 遗漏了 bin 中的文件夹

azure - 如何使用 OData 筛选器对逻辑应用中的唯一姓氏筛选 Azure 存储表?

sql - 查看简单查询的结果

deployment - node.js 服务器实例在单机上的横向扩展

.net - JumpList 和 ClickOnce - 这种组合可能吗?

.net - 如何在 ClickOnce 应用程序中部署修补程序?

c# - 在 azure 上使用 pkcs#12 调用服务

Azure 数据工厂查询