应用程序自动更新指南

随着网络应用的普及,桌面应用逐渐减少,这带来了功能和用户体验方面的双重影响。为了确保在任何情况下都能提供最佳的用户体验,许多应用需要一种简单可靠的部署方法,以适应任何场景。这种部署方法应该能够优雅地处理应用更新,并能够远程轻松管理。

因此,DDay.Update应运而生,它提供了一个简单的接口,用于为应用添加自动更新功能,避免了更新过程中的大部分头痛问题,同时尽可能地保持灵活性。

本文介绍的技术使用微软的ClickOnce发布机制,这是Visual Studio 2005内置的。它不使用ClickOnce本身,原因有很多:

  • 使用自己的部署方法(例如Windows Installer)同时使用ClickOnce进行自动更新很困难。
  • 使用ClickOnce无法轻松更新单个文件,它默认是全有或全无的更新。当应用体积较大或用户较少时,这会成为问题。
  • 要使用ClickOnce的不同GUI,需要手工构建完整的界面。DDay.Update的GUI是可插拔的。目前有一个为Windows Forms 2.0预构建的界面,不久将为.NET 3.0(WPF)提供。
  • DDay.Update不会干扰应用的安全权限。
  • 开源应用有助于更好地理解底层技术。由于DDay.Update及其所有控件都是开源的,可以自由地研究和扩展代码。

如果还没有尝试过ClickOnce,建议尝试一下。可能会发现它符合需求。当发现它的某些功能不足时,再尝试DDay.Update。

注意:DDay.Update不是ClickOnce的包装器。它只是使用ClickOnce清单文件。

操作步骤

在本文中,将展示一个基本的应用,并为其添加自动更新功能。

首先,从SourceForge.net下载DDay.Update的最新二进制版本。为了方便起见,本文也包含了这个版本。下载后,就可以开始了。

在Visual Studio中创建一个新的控制台项目。点击文件->新建->项目,并从列表中选择“控制台应用”。将其命名为“AutoUpdatingApplication”。可以选择任何喜欢的名字(尽管如果使用相同的名字,可能会更容易跟随示例)。

向这个应用添加一行基本代码,例如:

Console.WriteLine("This is my application.");

将使用Visual Studio的ClickOnce机制来发布这个简单的应用。这个过程非常简单。如果已经知道如何发布ClickOnce应用,可以跳到步骤3。

首先,右键单击控制台应用项目,并选择“属性”。然后,点击左侧的“发布”选项卡,并点击“发布向导”按钮:

然后,按照向导的步骤操作。以下是所做的:

点击“完成”,应用现在应该已经发布到在向导的第一步中指定的位置。在例子中,它是"C:\Deployment\DDay.Update.Test"。

就是这样,应用现在应该已经通过ClickOnce发布了!

DDay.Update使用引导应用来“模仿”“真实”应用的外观和感觉。为了创建这个引导应用,需要使用DDay.Update的二进制分发中包含的配置工具。

首先,打开在本示例的准备步骤中下载的配置工具。然后,选择文件->打开部署清单。

然后,将看到以下屏幕:

输入发布应用的位置。这将包括项目的名称,带有.application扩展名。在例子中,它是:C:\Deployment\DDay.Update.Test\AutoUpdatingApplication.application

然后,点击“打开”。然后,将看到主配置屏幕,其中一些信息已经自动确定。更新URI应该已经提供 - 如果没有,它应该与发布应用的位置匹配。在例子中,它是C:\Deployment\DDay.Update.Test。当提供了更新URI时,可以点击“验证URI”按钮以确保URI有效:

然后,选择一个更新通知器。这是DDay.Update用于向用户显示更新信息的“可插拔”GUI。

之后,选择一个目标文件夹,用于创建引导应用。在桌面上添加了一个新文件夹:

完成这些步骤后,就可以构建引导应用了。点击“创建引导”按钮,应该看到如下消息:

然后,目标文件夹将自动打开,将看到全新引导!如果在该文件夹中运行可执行文件,将看到应用下载最新版本并运行它,文件夹将如下所示:

注意名为“1.0.0.0”的文件夹。那是“真实”应用存储的地方。

恭喜,已经设置了应用自动更新

要查看更新的实际效果,请再次打开Visual Studio,并发布应用的新版本。然后,回到创建引导的“目标文件夹”,并运行应用。应该看到如下消息:

选择“立即升级”,新版本将下载并运行。还会注意到应用的目录结构如下所示:

注意新的“1.0.0.1”文件夹。应用的新版本已经放在这里了。

注意:如果选择了“稍后升级”,将运行版本1.0.0.0,并且不会发生更新。

就是这样!

应用现在已启用自动更新

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485