jenry-云飞扬

奋斗改变命运,理想让我们与众不同!

   :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  156 Posts :: 10 Stories :: 493 Comments :: 2 Trackbacks
       由于微软提供的更新程序使用不方便,所以又写了此程序。此程序是本人一年前所写的一段程序,当时在开发一个CS版本报价系统,当时由于开发过程仓促,代码可能有点不是太规范此程序编译后只有一下AutoUpdate.exe文件与一个配置文件UpdateList.xml,主要通过本地程序与服务端程序文件的版本号来升级与更新本地程序文件。
UpdateList.xml文件内容如下:

<?xml version="1.0" encoding="gb2312"?>
<AutoUpdater>
  <description>Application autoUpdate</description>
  <Updater>
 <Url>http://10.0.5.98/SoftUpdate/</Url>
 <LastUpdateTime>2005-09-05</LastUpdateTime>
  </Updater>
  <Application applicationId="ItemSoft">
    <EntryPoint>ItemSoft.exe</EntryPoint>
    <Location>.</Location>
 <Version>1.0.0.0</Version>
  </Application>
  <Files>
    <File Ver="1.0.0.0" Name="ItemSoft.exe" />
    <File Ver="1.0.0.0" Name="Reports\test.txt"/>
    <File Ver="1.0.0.0" Name="Interop.grproLib.dll"/>
    <File Ver="1.0.0.0" Name="Reports\test.grf"/>
  </Files>
</AutoUpdater>

说明:
<description></description>     程序的描述;
<Url></Url>                            更新服务器地址,为一个虚拟目录或站点路径;
<EntryPoint></EntryPoint>      需要更新主程序文件,为exe;
 <Location>.</Location>         需要更新主程序文件所在路径;
<Version>1.0.0.0</Version>   主程序版本号;
  <Files> </Files>                     需要更新的文件列表;Ver:文件版本号,Name:文件名,包括路径(相对);

使用时,在更新服务器上新建Web虚拟目录或站点,然后将需要更新的文件与UpdateList.xml放在上面;
本地将AutoUpdate.exe与UpdateList.xml放在主程序的根目录下。本地UpdateList.xml中的版本号如果小于服务端,自动程序会自动下载所需要更新的文件。
本人的完整.Net打包程序下载中所带的项目中,就使用了此更新程序。
源码下载:/Files/jenry/AutoUpdate.rar
二进制文件下载:/Files/jenry/bin.rar
生成配置文件UpdateList.xml工具/Files/jenry/AULWriter1.0.rar (由whatisgood 提供,感谢!!)New
posted on 2006-08-15 12:49 jenry-云飞扬 阅读(4335) 评论(26)  编辑 收藏 网摘 所属分类: .Net

Feedback

#1楼  2006-08-15 13:49 aspnetx      
格式可以自己定
另在update前建议先测试网络连接
我发现不少共享软件都有这个问题
  回复  引用  查看    

#2楼 [楼主] 2006-08-23 08:33 jenry      
回aspnetx:
是的,程序不是太完整
大家可以自由修改
你的意见很是不错,谢谢!!!
  回复  引用  查看    

真的很不错,比dotnetupdater那个组件好用多了.
学习改善ing....谢谢!
  回复  引用    

#4楼  2006-12-29 17:22 hyt123123 [未注册用户]
不错。我现在正需要实现这样的功能,正好可以好好研究!谢谢!
  回复  引用    

#5楼 [楼主] 2007-01-08 08:12 jenry      
此程序已不做任何修改与升级了
如果大家认为不错可以下载使用
并也可以自己另加修改做为已用
  回复  引用  查看    

#6楼  2007-01-22 16:17 LEE [未注册用户]
谢谢,我也在程序中使用了这个更新程序

  回复  引用    

#7楼  2007-04-27 14:27 hancat [未注册用户]
非常感谢啊.正需要这样的功能哟.
  回复  引用    

#8楼  2007-06-22 16:57 surf [未注册用户]
正在看……,还不知道主程序如何知道需要更新了,然后启动AutoUpdate.exe
  回复  引用    

#9楼  2007-06-26 09:26 bluewater [未注册用户]
十分感谢你的大方,能在网络共享.解了我的急.太高兴了.
  回复  引用    

thanks jenry,榜样

jenry提供的这个组件很实用地哦,不过要想把它真正地用起来还需要加工一下,尤其是UpdateList.xml这个文件如果单纯地靠手工编写,对于做一个大的项目来将就很烦啦,为此me写了一个小程序AULWriter来自动生成这个List;
不知道怎么上传到jenry的blog上,留下mail谁想要发邮件给我:

sh_liuhuashan@163.com

请注明AULWriter.
另外提示一下AutoUpdate.exe遇到两个bug:
1.URL解析不了.INI文件路径,费解:可能是与IIS配置有关;
2.偶尔会出现线程切换错误,在构造函数处加个声明就ok咯: Control.CheckForIllegalCrossThreadCalls = false;
  回复  引用    

#11楼 [楼主] 2007-07-15 11:37 jenry-云飞扬      
@whatisgood
很感谢你能够对这个组件的支持,当时也只是在开发过程中,时间很短写了这个小工具,没有继续的优化与改善.很感谢你能够改善,多谢你的支持!如果可以,AULWriter可以发到我的邮件yxm886@163.com里,我放到这里吧,Are you ok?


对于其它文件,如.ini,还有其它的未知扩展名文件,URL解析不了,这个问题在开发中遇到过些问题,没有把它写出来.

在iis文件中,网站->属性->HTTP头--MIME类型
添加扩展名:ini (或者*,*通配符没有试过,估计可以)
MIME类型:application/octet-stream
其它扩展名文件也是如此,添加上去,URL就可以解析了

针对MIME介绍,可以参考:
http://www.ycjan.com/thread-2610-1-1.html
http://www.cnblogs.com/wenanry/archive/2006/08/25/486052.html
  回复  引用  查看    

#12楼  2007-09-09 13:17 king2003 [未注册用户]
人才
  回复  引用    

#13楼  2007-09-12 10:55 oxsoft.cn [未注册用户]
流个MARK
  回复  引用    

#14楼  2007-10-10 17:19 wzq6511 [未注册用户]
不错,基本功能都实现了,我决定拿来改下转成C#2005,加点功能,比如子文件夹下的文件更新等等,改完后放到csdn上供大家下载。
  回复  引用    

#15楼  2007-10-30 16:51 dwj [未注册用户]
WebRequest webReq = WebRequest.Create("http://192.168.1.19/SoftUpdate/WindowsApplication1.exe");

WebRequest webReq = WebRequest.Create
webReq.Timeout = 50000;
WebResponse webRes = webReq.GetResponse();
fileLength = webRes.ContentLength;

到了这里为什么fileLength 值总为-1啊?我的WindowsApplication1.exe有1m呢,能告诉我吗?谢谢

  回复  引用    

很好 我正需要这样一个功能的程序 很好 稍加修改就能用到我的项目里了 谢谢你
  回复  引用    

#17楼  2008-04-24 20:06 mlstars [未注册用户]
楼主,不知为什么会 出现假死状态呀?
  回复  引用    

正好需要,给了很大帮助,谢谢
  回复  引用    

#19楼  2008-09-26 18:55 huche [未注册用户]
受益了,谢谢
  回复  引用    

#20楼  2008-10-01 22:23 雷松 [未注册用户]
--引用--------------------------------------------------
aspnetx: 格式可以自己定
<br>另在update前建议先测试网络连接
<br>我发现不少共享软件都有这个问题
--------------------------------------------------------

  回复  引用    

#21楼  2008-10-13 11:22 Peter Joke      
mark 正在研究这方面问题~
  回复  引用  查看    

#22楼  2008-11-16 11:25 wsq [未注册用户]
xiexie a
  回复  引用    

正需要呢,谢谢啦
  回复  引用    

#24楼  2008-12-01 01:10 chenryan [未注册用户]
DownUpdateFile
到这个方法的时候总是提示线程不对,能告诉我原因吗?最好告诉我怎么调整,有急用呢,谢谢!
  回复  引用    

#25楼  2008-12-25 09:17 黄秀明 [未注册用户]
会火!
  回复  引用    

#26楼  2009-01-06 08:51 soney [未注册用户]
代码相当丑陋
  回复  引用    





标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-07-20 08:53 编辑过
Google站内搜索
[推荐职位]上海盛大网络招聘架构师

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接: