如何实现版本自动升级 C/S不方便更新,是最好的挣方式。我们给他们做点改动就要,收取一些维护费用,要是换B/S那不是要饿死了吗。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 核心的写成DLL 更新DLL就可以的 MS 的updater block也挺不错的,现成用就行。论坛里有贴子。 http://tech.ccidnet.com/pub/article/c1135_a183599_p1.html 模块化设计,写成DLL 更新DLL 对,模块化设计,更新DLL,OK http://www.microsoft.com/china/MSDN/library/netFramework/netframework/AutoUpdApp.mspx 呵呵,微软现在正在推行的SMARTCLIENT (智能客户端)就是有这种功能的,可以自动更新版本,上网搜索一下资料.. http://windowsforms.net/articles/appupdater.aspx 1 用智能客户端技术;有个 AppUpdater 组件,它可以支持自动升级更新2 当然了,最简单的就是把 新版本的DLL 拷到哪个目录下,覆盖旧的版本, 因为 .net 的DLL是不用注册到注册表中的,所以它的部署非常方便。 smartclient or update dll or update package 搜索一下有关smartclient的文章 最简单的就是做个ini文件,将要更新的文件信息记录下来,每次程序运行时,都到ftp服务器上查找,更新 用微软的Application Block,在CSDN前几期的MSDN杂志里有 AppUpdater组件是可以更新的,主要的问题在于,要把服务端的虚拟目录配置,访问权限设置 "目录浏览".Smart Client开发: 使用AppUpdater组件 本来今天打算介绍Updater Application Block的,后来想想一些朋友经常反馈说用将UAB集成到自己开发的应用程序中太麻烦了,询问有没有更简单的方法布署智能客户端。在Whidbey的ClickOnce出来之前,答案当然还是有的,那就是使用AppUpdater组件。在美国举行的TechED 2004上介绍的IssueVision,TaskVision这些经典的Smart Client Demo用的都是这个组件来实现智能客户端的布署。使用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 :TrueChangeDetectionMode ServerManifestCheckUpdateUrl http://YourServerDomainName/SmartServer/UpdateVersion.xmlShowDefaultUI: TrueAutoFileLoad 可以让 服务器上的文件动态加载,大家可以把它想像成 Un-Touch 部署中的Assembly.LoadFrom类似的功能ChangeDetectonMode是设置检测模式:根据配置文件进行检测,也就是UpdateUrl属性指定的文件。如果设成DirectFileCheck则是比较每一个文件的时间戳来决定要不要下载这个文件。UpdaterUrl指服务器上的更新配置文件,其中UpdateVersion.xml内容如下:<VersionConfig> <AvailableVersion>2.0.0.0</AvailableVersion> <ApplicationUrl>http://YourServerDomainName/SmartServer/Ver/</ApplicationUrl></VersionConfig> UpdateVersion.xml解释:<AvailableVersion>2.0.0.0</AvailableVersion>告诉客户端目前可用的版本,客户端appupdater组件会比较本地主应用程序版本号和该项配置的版本号,如果比本地的版本号更高,则进行下载更新。 <ApplicationUrl>http://YourServerDomainName/SmartServer/Ver/</ApplicationUrl>告诉客户端到哪个网址进行下载更新建议大家把这个属性设置成Dynamic,即从配置文件中读出来,不过,要让服务器的.config文件允许被下载,我们还要在IIS中 ASP.net应用程序”配置“中对它进行设置,默认是不允许访问的。ShowDefaultUI表示下载结束时用一个简单的界面提示你要不要启动新版本。你还可以用自己的窗体显示,方法是设成False,并在OnUpdateComplete事件中写代码把你的窗体显示出来。当然,还有一些其他的属性,比如,是否要使用公钥(可以是一个,也可以提供一个Assembly,里面包括多个公钥)验证要下载的文件。由于时间关系,我就不多说了。(3) 使用AppStart.exe启动实际的应用程序。(4) 在IIS把下载文件夹设成允许目录浏览,因为AppUpdater要枚举里面的所有文件,并把它们都下载到本地。如果是Windwos 2003,麻烦一点,要允许WebDAV,并把.config文件设置成允许下载。(5) 做个msi安装文件,打包应用程序,这样,当应用程序运行时,它就能自动判断有无最新版本,并下载到本地运行。 posted @ 2004 上面有人给了链接,找不到的话我可以给一个你,有源码的,用WebService实现 以前用delphi做过原理,程序启动的时候检测数据库的最新版本和当前程序版本是否一致??不一致则启动同一目录下的更新程序.exe,然后关闭自己。它否则把最新的程序从指定的ftp服务器上下载下来然后覆盖了刚才的旧版本程序 gridView怎样固定表头..... arraylist数组字符串连接问题,求高手! ReportViewer谁能帮我解决报表中的一个问题,大分 接收邮件的一个算法问题 .net速成有没有什么要诀 求教多线程问题 请问Process.Close和Process.Kill有什么区别 头大了!不知道错到哪里!初级问题?各路高手请进! 如何把字符串转化为ENUM类型? tcp通信问题 如何获取Udp远程主机的信息 关注 Direct9SDK ..............
因为 .net 的DLL是不用注册到注册表中的,所以它的部署非常方便。
本来今天打算介绍Updater Application Block的,后来想想一些朋友经常反馈说用将UAB集成到自己开发的应用程序中太麻烦了,询问有没有更简单的方法布署智能客户端。在Whidbey的ClickOnce出来之前,答案当然还是有的,那就是使用AppUpdater组件。在美国举行的TechED 2004上介绍的IssueVision,TaskVision这些经典的Smart Client Demo用的都是这个组件来实现智能客户端的布署。使用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: TrueAutoFileLoad 可以让 服务器上的文件动态加载,大家可以把它想像成 Un-Touch 部署中的Assembly.LoadFrom类似的功能
ChangeDetectonMode是设置检测模式:根据配置文件进行检测,也就是UpdateUrl属性指定的文件。如果设成DirectFileCheck则是比较每一个文件的时间戳来决定要不要下载这个文件。
UpdaterUrl指服务器上的更新配置文件,其中UpdateVersion.xml内容如下:
<VersionConfig>
<AvailableVersion>2.0.0.0</AvailableVersion>
<ApplicationUrl>http://YourServerDomainName/SmartServer/Ver/</ApplicationUrl>
</VersionConfig> UpdateVersion.xml解释:
<AvailableVersion>2.0.0.0</AvailableVersion>
告诉客户端目前可用的版本,客户端appupdater组件会比较本地主应用程序版本号和该项配置的版本号,如果比本地的版本号更高,则进行下载更新。 <ApplicationUrl>http://YourServerDomainName/SmartServer/Ver/</ApplicationUrl>
告诉客户端到哪个网址进行下载更新建议大家把这个属性设置成Dynamic,即从配置文件中读出来,不过,要让服务器的.config文件允许被下载,我们还要在IIS中 ASP.net应用程序”配置“中对它进行设置,默认是不允许访问的。ShowDefaultUI表示下载结束时用一个简单的界面提示你要不要启动新版本。你还可以用自己的窗体显示,方法是设成False,并在OnUpdateComplete事件中写代码把你的窗体显示出来。当然,还有一些其他的属性,比如,是否要使用公钥(可以是一个,也可以提供一个Assembly,里面包括多个公钥)验证要下载的文件。由于时间关系,我就不多说了。(3) 使用AppStart.exe启动实际的应用程序。
(4) 在IIS把下载文件夹设成允许目录浏览,因为AppUpdater要枚举里面的所有文件,并把它们都下载到本地。如果是Windwos 2003,麻烦一点,要允许WebDAV,并把.config文件设置成允许下载。
(5) 做个msi安装文件,打包应用程序,这样,当应用程序运行时,它就能自动判断有无最新版本,并下载到本地运行。 posted @ 2004
不一致则启动同一目录下的更新程序.exe,然后关闭自己。它否则把最新的程序从指定的ftp服务器上下载下来然后覆盖了刚才的旧版本程序