【问题标题】:Setting Up Continuous Deployment of a WPF Desktop Application设置 WPF 桌面应用程序的持续部署
【发布时间】:2015-03-17 20:32:34
【问题描述】:

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

我正在使用 Visual Studio Online 和 TFVC,链接到 Azure。我设置了一个测试应用程序,因此当我触发构建时,Release Management 会找到构建目录,并将文件移动到 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?
  • 是否有按照我描述的最佳做法?

感谢任何建议、参考链接或真实示例。

【问题讨论】:

    标签: azure deployment clickonce azure-devops continuous-deployment


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      • 2018-05-18
      • 1970-01-01
      • 2012-09-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多