随着网络应用的普及,桌面应用逐渐减少,这带来了功能和用户体验方面的双重影响。为了确保在任何情况下都能提供最佳的用户体验,许多应用需要一种简单可靠的部署方法,以适应任何场景。这种部署方法应该能够优雅地处理应用更新,并能够远程轻松管理。
因此,DDay.Update应运而生,它提供了一个简单的接口,用于为应用添加自动更新功能,避免了更新过程中的大部分头痛问题,同时尽可能地保持灵活性。
本文介绍的技术使用微软的ClickOnce发布机制,这是Visual Studio 2005内置的。它不使用ClickOnce本身,原因有很多:
如果还没有尝试过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,并且不会发生更新。
就是这样!
应用现在已启用自动更新。