求解:winform做的程序怎么实现自动升级更新功能 我做了一个winform程序,现在想做一个自动更新的功能,当用户登录的时候会判断版本是否是最新的,如果不是最新的则要求程序进行升级,没做过这个,毫无思路,网上搜了一下,大都说用webservice,不懂啊!有做个这方面的请帮忙讲解下,有code和详细的讲解最好! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 推荐发布成ClickOnce的,版本控制自动检查都由.net framework完成,查查这方面的资料。自定义的话,我以前做过一个是用到EnterpriseLibrary的Update Application Block(最新的已经没有了)需要部署到服务端manifest,然后自己下并比较。(无服务端应用程序)现在的话,我觉得简单的就用个xml发布在IIS上,就可以控制了。先做个dummy.exe用于检查升级,通过 System.Net.WebClient.DowndLoadString("http://xxx/update.xml")这个version.xml格式完全可以自定义。比如:<updates> <update version="1.0.0.0"> <resource name="A.dll" location="http://xxx/1.0.0.0/A.dll" /> <resource name="B.dll" location="http://xxx/1.0.0.0/B.dll" /> ... </update> <update version="1.0.0.1"> <resource name="A.dll" location="http://xxx/1.0.0.1/A.dll" /> <resource name="B.dll" location="http://xxx/1.0.0.1/B.dll" /> ... </update><updates>Download下来然后和本地的update.xml比较,把新的version下的dll再用WebClient.DownloadFile 取下来替换掉本地文件。然后用dummy.exe启动main.exe 看看这两个:http://www.cnblogs.com/jenry/archive/2006/08/15/477302.html http://www.cnblogs.com/bingyun84/archive/2010/01/28/1658673.html 虽然不用写代码,但是很麻烦的。主要就是 ClickOnce 发布,你每次发布修改下版本号就OK了,他会自动更新的。 写服务` 用服务进行程序或者DLL版本号的对比`相同就是没有更新如果不相同就是更新了 这是我从前的一片帖子,不过加入了代码混淆,相信你也能用到。http://topic.csdn.net/u/20100117/00/5395816C-2A16-45BB-9A14-B1FB5E367887.html 这个很详细winform自动升级http://www.cnblogs.com/bingyun84/archive/2010/01/28/1658673.html 我是这么做的:先租用虚拟空间,把程序文件上传到空间里。在WinForm窗体显示前,使用WebClient(这个类使用简单,你也可以用其它更强的C#网络通信类)下载你空间中的程序版本信息(你可以将版本信息放到一个空间中的txt文件中),高于当前版本,则提示用户更新软件。 http://topic.csdn.net/u/20100907/22/e82f581a-6b82-4110-b173-79a08496a545.html?5466 每次发布程序,程序集的Assembly版本号就会自动更新,可以使用Assembly.GetExecutingAssembly().GetName().Version方法来获取程序集版本号,如果服务器端程序集版本号高则升级 对于 Setting.setting 的卸载问题 找人帮我设计一个客户端小程序,可以自动更新和弹广告 求助——数据绑定控件详细介绍 =====更换IP的问题===== .net中如何获取正则中的子匹配$1,$2,$3...的值? 大哥些救命啊,头都想痛了~~为什么会少图片啊?ORACLE数据库~ 线程问题!! 金笛 在datagrid中添加按钮后的显示问题 C#.net 如何连接SQL Anywhere数据库 请问如何给导出的EXCEL表改变背景色??? 下载网页源码 listBox1吃内存问题请教
我以前做过一个是用到EnterpriseLibrary的Update Application Block(最新的已经没有了)
需要部署到服务端manifest,然后自己下并比较。(无服务端应用程序)现在的话,我觉得简单的就用个xml发布在IIS上,就可以控制了。
先做个dummy.exe用于检查升级,通过
System.Net.WebClient.DowndLoadString("http://xxx/update.xml")
这个version.xml格式完全可以自定义。比如:<updates>
<update version="1.0.0.0">
<resource name="A.dll" location="http://xxx/1.0.0.0/A.dll" />
<resource name="B.dll" location="http://xxx/1.0.0.0/B.dll" />
...
</update>
<update version="1.0.0.1">
<resource name="A.dll" location="http://xxx/1.0.0.1/A.dll" />
<resource name="B.dll" location="http://xxx/1.0.0.1/B.dll" />
...
</update>
<updates>Download下来然后和本地的update.xml比较,把新的version下的dll再用
WebClient.DownloadFile 取下来替换掉本地文件。
然后用dummy.exe启动main.exe
http://www.cnblogs.com/bingyun84/archive/2010/01/28/1658673.html
http://topic.csdn.net/u/20100117/00/5395816C-2A16-45BB-9A14-B1FB5E367887.html
http://www.cnblogs.com/bingyun84/archive/2010/01/28/1658673.html