2016-08-16 102 views
1

我们有一个Web应用程序和一个桌面Windows WPF应用程序。 的Windows应用程序将数据发送到Web应用程序(托管在Azure)自动更新桌面应用程序

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

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

我发现“版本”,在github上,但我不知道如何通知桌面应用程序,以及如何创建一个更新程序。 (我想我们需要检查github上发布,每次应用程序被启动。我需要使用Github的API为这个?)

是什么版本的最好的版本库结构?

我在寻找如何进行无缝更新桌面应用程序的最佳practicies。 (在库设置方面,创建Web API提取版本信息也许?)

回答

6

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

,从同样的MSDN链接,由ClickOnce部署解决的问题之一是促进自动更新:在更新应用程序

难点。通过Microsoft Windows 安装程序部署,每当应用程序更新时,用户 都必须重新安装整个应用程序;使用ClickOnce部署,您可以自动提供更新。只下载应用程序 的那些部分,然后从新的并排文件夹重新安装完整的,更新的应用程序 。

+0

这看起来很棒!谢谢。让我试试吧,我会回复你 – user194076

+0

为什么downvote爱:)??? –

+0

我也不确定为什么有人投了这个票 - 这正是ClickOnce设计的场景。 – slugster

1

我正在考虑完成相同的需求,并遇到这个库可以做你要求的; https://github.com/Squirrel/Squirrel.Windows

有很多配置,但你要求的不是微不足道的,但也许你可以得到一些想法。

满足我们的需求;我们要让我们的构建服务器(teamcity)使用Wix项目创建一个MSI,然后应用程序将下载并执行MSI。一旦我们开始生产,我们会将MSI托管转移到更多的企业级CDN类型设置。

+0

这看起来很有趣。特别是标题:松鼠:它像ClickOnce,但工程。我会给这两个工具一枪,让你知道!非常感谢。 – user194076