使用Google代码自动更新

我想让我的软件自动进行自动更新,但我没有广泛的网页设计技能,也没有任何可用的网站/在线托管。 我想在C#/ WPF中做到这一点。

所以我想知道是否有办法使用谷歌代码制作自动更新服务,一些干净的东西。 我猜我不是第一个想到它的人。

我这样做:

1)使用WebBrowser(静默)并导航到我的谷歌代码页。 在那个页面上,我会在一个字段中输入最新的版本号。 (我需要以某种方式在页面内容中找到该数字)。

2)我将该数字与当前安装的版本进行比较(例如,我可以将CURRENT_VER_NUMBER放在软件文件夹中的* .txt中)。

3)如果我得出新版本可用的结论,我会从我的谷歌代码项目的“下载”选项卡下载它,解压缩它,覆盖安装目录中的文件,然后重新启动应用程序。

首先,那可行吗? 当我想象它时,它听起来像脏代码。

然后,我不知道如何导航到下载选项卡,更不用说如何在那里选择最新版本(可能通过非常严格的文件命名),然后下载它。

最后但并非最不重要的,如果应用程序已经运行以执行更新检查,我无法在不退出应用程序的情况下覆盖文件,这是否意味着我必须制作某种执行检查的“主应用程序”在开始我的软件之前? 听起来很脏= /

任何意见都非常欢迎,

祝你今天愉快。

我建议你看看ClickOnce。 它不需要您创建网页。 您只需要托管2个文件:.manifest文件,其中包含有关您的应用程序的信息(版本,名称和包含应用程序的软件包的链接)以及最新版本的应用程序包。 您唯一需要做的就是托管这两个文件,并将您的Google代码页上的链接放到该.manifest文件中。 用户单击该链接,.net将自动安装或检查最新版本,并在必要时进行更新。

您可能希望查看我编写并作为开源发布的库,以便透明地执行此操作 – 包括执行实际冷更新的外部更新应用程序。 见http://www.code972.com/blog/2010/08/nappupdate-application-auto-update-framework-for-dotnet/

代码位于http://github.com/synhershko/NAppUpdate (根据Apache 2.0许可证授权)

我遇到了一些问题,但总的来说并不是那么难。 我认为这种方法很简洁,所以如果有人想要实现类似的东西我会把它放在那里。

您需要查看: https : //code.google.com/p/theomniscientchimp/ ,其中包含完整的源代码,当然还可以针对您的项目进行调整。

感谢我对原帖的评论,让我有信心我做得对=)