AppUpdater组件自动更新 [转]

AppUpdater组件是可以更新的,主要的问题在于,要把服务端的虚拟目录配置,访问权限设置 "目录浏览".

Smart Client开发: 使用AppUpdater组件

使用AppUpdater组件要用到下面这些文件:大家可以在http://windowsforms.net/downloads/GDN/dotnetupdater.zip 中下载

文件名 功能描述

AppStart.exe 类似中介代理的程序,由它来启动真正的应用程序。不直接启动主应用程序是为了防止主应用程序升级的过程中被锁死而造成升级失败。

AppStart.config AppStart.exe的配置文件,它指定要启动的应用程序所在目录,以及要启动应用程序的名称

appupdater.dll 最重要的部件,自动升级的主要组件

system.Resources.dll 资源文件

mscorlib.Resources.dll 核心资源文件

UpdateVersion.xml 服务器端版本升级配置文件

OK,开始介绍如何使用它吧。

(1) .在Custom Control中导入AppUpdater

(2).配置自动下载选项

AutoFileLoad :True

ChangeDetectionMode ServerManifestCheck

UpdateUrl http://YourServerDomainName/SmartServer/UpdateVersion.xml

ShowDefaultUI: True

AutoFileLoad 可以让 服务器上的文件动态加载,大家可以把它想像成 Un-Touch 部署中的Assembly.LoadFrom类似的功能

ChangeDetectonMode是设置检测模式:根据配置文件进行检测,也就是UpdateUrl属性指定的文件。如果设成DirectFileCheck则是比较每一个文件的时间戳来决定要不要下载这个文件。

UpdaterUrl指服务器上的更新配置文件,其中UpdateVersion.xml内容如下:

 

2.0.0.0

http://YourServerDomainName/SmartServer/Ver/

 

UpdateVersion.xml解释:

2.0.0.0

告诉客户端目前可用的版本,客户端appupdater组件会比较本地主应用程序版本号和该项配置的版本号,如果比本地的版本号更高,则进行下载更新。

http://YourServerDomainName/SmartServer/Ver/

告诉客户端到哪个网址进行下载更新

建议大家把这个属性设置成Dynamic,即从配置文件中读出来,不过,要让服务器的.config文件允许被下载,我们还要在IIS中 ASP.net应用程序”配置“中对它进行设置,默认是不允许访问的。

ShowDefaultUI表示下载结束时用一个简单的界面提示你要不要启动新版本。你还可以用自己的窗体显示,方法是设成False,并在OnUpdateComplete事件中写代码把你的窗体显示出来。

当然,还有一些其他的属性,比如,是否要使用公钥(可以是一个,也可以提供一个Assembly,里面包括多个公钥)验证要下载的文件。由于时间关系,我就不多说了。

(3) 使用AppStart.exe启动实际的应用程序。

(4) 在IIS把下载文件夹设成允许目录浏览,因为AppUpdater要枚举里面的所有文件,并把它们都下载到本地。如果是Windwos 2003,麻烦一点,要允许WebDAV,并把.config文件设置成允许下载。

(5) 做个msi安装文件,打包应用程序,这样,当应用程序运行时,它就能自动判断有无最新版本,并下载到本地运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值