限于篇幅原因,如下只贴译文 (接上篇)
生成并测试你的应用程序。
AppUpdater 属性 ――这是.NET Application应用程序更新的核心,对于本程序需要做以下设置:
属性名称 |
描述 |
AutoFileLoad |
这个控制后面要描述的命令下载特征,现在将它设置为true。 |
ChangeDetectionMode
|
该枚举决定如何为更新进行检查。在该例中,我们将使用一个服务器显式检查,因此将这个值设置为“ServerManifestCheck”。 |
ShowDefaultUI
|
.NET应用程序更新组件具有一系列用户界面来通知用户一些事件,对于该例我们将使用默认的用户界面,因此将这个值设置为true。 |
UpdateUrl
|
UpdateUrl是决定更新程序到何处去寻找更新的。在该例中设置为服务器显式文件的URL:
http://yourWebserver/SampleApp_ServerSetup/UpdateVersion.xml.
用你的Web服务器名称来代替”yourWebserver” |
Downloader 属性――AppUpdater组件有两个子组件。第一个称之为Downloader,它控制组件的下载和安装。下面是该属性的描述,对于我的示例来说默认的属性值就能工作的很好。
属性名称 |
描述 |
DownloadRetryAttempts
|
在下载期间如果有错误发生(比如Web服务器宕机)downloader会稍后重试。这个属性控制downloader认为是彻底的应用程序更新错误之前重试网络请求的次数。 |
SecondsBeteweenDownloadRety |
重试网络请求之前等待的秒数。 |
UpdateRetryAttempts |
|
ValidateAssemblies
|
这个属性控制下载程序集有效完成的级别。更多信息参见这篇文章的安全一节。 |
Poller 属性――AppUpdater的第二个子组件是Poller。Poller控制更新检查。下面是该属性的描述,对于我们的示例而言,所有的默认属性值就工作的很好。
属性名称 |
描述 |
AutoStart
|
布尔值,在应用程序启动时控制Poller是否应当开始轮询或它是否应当等待直到有计划的显式开始。 |
DownloadOnDetection |
布尔值,控制Poller在一个新的更新发现时是否立即开始下载更新,或者是否通过调用DownloadUdpate()方法必须开始显式下载。 |
InitialPollInterval |
应用程序启动后在第一次执行更新检查前等待的秒数。 |
PollInterval
|
第一次更新检查之后,PollInterval控制后续每次更新检查之间间隔的秒数,注意:默认为每30秒进行一次检查。 |
所有这一切完成之后,你的属性表格看起来应当是下面这个样子:

Samples\SampleApp\SampleApp_Complete目录包含应用程序正确安装的一个版本。
第四步:生成并在客户端部署应用程序V1版本。
在这一步我们将生成应用程序V1版本并将它部署在客户端。
在SampleApp项目中,打开AssemblyInfo.cs文件。将AssemblyVersion的值从“1.0”修改为“1.0.0.0”.这会引起在生成程序集时获得值为“1.0.0.0”的标记,该标记代替VS.NET通常指定为递增的值。
1. 生成应用程序。
2. 从压缩文件中将Samples\SampleApp\SampleApp_ClientSetup目录拷贝到你的本地机器上。要注意SampleApp_ClientSetup目录已经包含了AppStart.exe。AppStart.config已经设置为指向1.0.0.0目录并且启动SampleApp.exe。
从SampleApp的release生成目录下拷贝SampleApp(Appupdater.dll,SimpleForm.dll和SampleApp.exe)到你客户端的SampleApp_ClientSetup\1.0.0.0目录下。
在这个时候,一个功能完整的应用程序版本应当被“安装”到了客户端,可以通过运行AppStart.exe来执行。
第五步:安装Web服务器
在这一步我们将安装Web服务器以在轮询应用程序更新时使用。.NET应用程序更新组件使用HTTP-DAV来下载应用程序更新因此需要一个支持HTTP-DAV的Web服务器。Windows 2000上的IIS5.0和更新的操作系统都支持HTTP-DAV。
第六步:自动更新应用程序
OK,现在是时间来通过自动安装一个新版本来看看以上这些艰苦工作的结果了。
1. 如果你部署在客户端的SampleApp版本没有运行,加载它让它运行。记得使用AppStart.exe。
2. 回到VS.NET并在SampleApp窗体中做一些可以被注意到的修改(比如修改背景色)。
3. 将AssemblyInfo.cs的版本信息修改为2.0.0.0。
4. 重新生成。
5. 回到Web服务器并生成一个和1.0.0.0目录同等的目录2.0.0.0。从release生成目录下将新版本应用程序拷贝到Web服务器上新建的2.0.0.0目录下。
6. 打开UpdateVersion.xml并修改AvailableVersion为2.0.0.0。修改ApplicationURL为指向新的2.0.0.0路径。
7. 保存对UpdateVersion.xml所做的修改。
一旦你保存了新的UpdateVersion.xml,在30秒之内,运行中的SampleApp拷贝将会探测到新的可用的版本。SampleApp将下载新版本,实现更新,并弹出默认的用户界面询问用户是否希望重启并立即开始使用新版本。单击“Yes”回应该对话框。SampleApp将会重启并运行新版本。如果你查看客户端SampleApp的部署,你会注意到现在在原始的1.0.0.0的目录后有一个2.0.0.0的目录。1.0.0.0目录将会在下一次更新发生时被清空。
(未完待续)

|