jenry-云飞扬

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

   :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  156 Posts :: 10 Stories :: 510 Comments :: 4 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-云飞扬 阅读(6336) 评论(31)  编辑 收藏 网摘 所属分类: .Net

Feedback

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

  回复  引用  查看    

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

  回复  引用  查看    

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

  回复  引用    

不错。我现在正需要实现这样的功能,正好可以好好研究!谢谢!
  回复  引用    

#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
  回复  引用    

十分感谢你的大方,能在网络共享.解了我的急.太高兴了.
  回复  引用    

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" target="_new">http://www.ycjan.com/thread-2610-1-1.html
http://www.cnblogs.com/wenanry/archive/2006/08/25/486052.html" target="_new">http://www.cnblogs.com/wenanry/archive/2006/08/25/486052.html

  回复  引用  查看    

人才
  回复  引用    

流个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
  回复  引用    

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

DownUpdateFile
到这个方法的时候总是提示线程不对,能告诉我原因吗?最好告诉我怎么调整,有急用呢,谢谢!

  回复  引用    

会火!
  回复  引用    

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

#27楼 2009-02-26 13:47 chzhcpu      
--引用--------------------------------------------------
soney: 代码相当丑陋
--------------------------------------------------------
I don't think so.

  回复  引用  查看    

#28楼 2009-02-26 13:47 chzhcpu      
正需要这个功能。
刚刚读完了代码,楼主真的做的不错。
谢谢。

  回复  引用  查看    

#29楼 2009-02-26 14:04 凯锐      
我在
http://www.cnblogs.com/jinliangliu/archive/2009/02/26/1398754.html
有引用你的這個組件。

  回复  引用  查看    

#30楼 2009-03-21 20:32 kage
不理解程序运行原理,怎么样才能让程序打开时能检测到新版本呢?还有更新的是什么文件?请楼主赐教!
  回复  引用    

#31楼 2009-03-26 13:52 wuhh
嗯嗯,看一下,感谢楼主的无私,有问题再请教你。
  回复  引用    




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 477302




相关文章:

相关链接: