自动更新桌面应用

use*_*076 1 c# windows asp.net-mvc github azure

我们有一个Web应用程序和桌面Windows WPF应用程序.Windows应用程序将数据发送到webapp(托管在azure上)

用户从网站下载应用程序.偶尔会有新版本的桌面应用程序可用.

为桌面应用程序设置自动更新的最有效方法是什么?我们正在使用github.

我在github中找到了"发布",但我不知道如何通知桌面应用以及如何创建更新程序.(我想我们需要在每次启动应用程序时检查github发布.我是否需要使用Github api?)

发布的最佳存储库结构是什么?

我正在寻找有关如何对桌面应用程序进行无缝更新的最佳实践.(在存储库设置方面,创建web api以获取版本信息可能?)

Gau*_*tri 6

您可以使用ClickOnce Deployment机制部署桌面应用程序.这将负责更新软件.您的用户从可公开访问的Internet站点下载该软件.每当有新版本可用时,您只需在下载链接上部署最新的部署文件即可.ClickOnce部署的应用程序会自动检查该链接上的任何更新版本,并提示用户下载并安装最新版本.

从相同的MSDN链接,ClickOnce部署解决的问题之一是促进自动更新:

更新应用程序的困难.使用Microsoft Windows Installer部署,无论何时更新应用程序,用户都必须重新安装整个应用程序; 使用ClickOnce部署,您可以自动提供更新.仅下载已更改的应用程序的那些部分,然后从新的并排文件夹重新安装完整的更新的应用程序.