C# 自动更新程序安装包
visualstudio做好的C#程序做成安装包后,现在如果我有更新,就必须手动在BIN文件找到EXE文件然后覆盖原来的,有什么程序可以实现自动或者同步更新吗?...
visual studio 做好的C#程序做成安装包后,现在如果我有更新,就必须手动在BIN文件找到EXE文件然后覆盖原来的,有什么程序可以实现自动或者同步更新吗?
展开
3个回答
2013-03-31
展开全部
冷静地分析了一下程序说明:1 web站点一个 用途:A.提供下载源(dll,exe,图片...等等...所有最新文件) B.那个啥...嗯....弄个页面,输出xml格式的数据(用response.write输出)这个xml数据要体现,当前版本号,文件名等信息,就是把DataTable以xml表现出来形如以下。(当然,完全可以用WebService,只是个人认为用xml更专业,更节约)2 升级程序一个 用途:A.负责判断是否需升级 B.下载需要升级的文件 C.将老文件替换成新文件3 你要升级的程序,在此不多说。看接下来的细节。 很重要的说明:升级程序是一个独立的exe文件,让它跟主程序打包在一起,安装后在同一个目录下边。前面三个程序相辅相成,才能完成自动升级更新。看细节吧。 接下来是细节了,很冷静的细节,你运气好,碰上我今天刚好心情差,给你说详细。(1,2,3....表示步骤)1步:往web站点中传文件,记得接收文件的时候改一下后缀名(统一改为.rar或.txt)这样,web服务器(IIS)不会因为安全因素将特别文件(.dll,.exe等)拒之门外。同时,往数据表中记录以下属性(文件真实名[如:ABC.exe]、文件下载地址、相对根路径的路径、文件版本号[有版本号的(如:dll,exe)取版本号,没版本号的(如:jpg)取MD5值])特别说明:版本号、你可以百度“C#获取文件版本号”获取相关代码。 很尴尬 ==! 这里有一步要说明一下:主程序启动时,启动升级程序(Process可做到)有问题百度“C#启动其它应用程序” 2步:升级程序请求生成xml的页面(实际上就是一个aspx,只是输出的内容是 xml 形式的,用response.write输出),或者你直接用webservice提供一个方法返回第一步中提及的数据表(DataTable). 3步:升级程序将xml内容转译成datatable、如果用webservice这一步就省了。 4步:升级程序遍历第三步获取的datatable、根据"相对根路径的路径"获取本地老文件的信息,如果本地有文件,就获取版本号,或者MD5值,如果本地没有文件、或版本号不等、或者MD5值不等则表示这个文件得更新(把这条信息(DataRow)存入队列(数组))这一步,知道了有哪些文件需要下载。 5步:升级程序根据第 4步 中得到的队列逐一下载文件到 (Temp目录) 6步:升级程序关闭主程序进程(Process类可做到),有问题可以 百度“C#结束其它进程”,这样要杀要剐老文件就随你了,因为它们将不再被其它进程所占有。 7步:升级程序将第 5步 中下载的文件根据 "相对根路径的路径" 字段逐一移到对应目录,将老文件替换。 8步:工作完成,升级程序启动主程序(Process类可以做到) 有问题可以百度“C#打开其它exe” 9步:没了,没啥好说的了。 下载可以用:httprequest,httpresponse这两个类,具体见msdn,用它们可做断点续传,实时进度条,多线程下载。你还可以用WebClient它不怎么样,一次下一个文件,无法实现断点续传,无法实时获取进度,最重要的一点,用它显得不专业。 思路在这了,绝对错不了。我叫绿豆蛙,别人喜欢叫我三爷,我很多年没碰C/S了,幻想有一天还能做个C/S的项目。哥哥我今天心情不好,因为我快结婚了,压力特别大。
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
2013-03-31
展开全部
这有何难,version这个属性是版本号,新版本就加1咯,然后RemovePreviousVersions这个属性就是“是否移除早期版本”,设为true,就会替换掉旧版本了,这就是你想要的吧。其他属性也没什么了,自己看看就行了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
利用iis
建立程序发布的目录
每次升级程序只需重新编译即可
客户端程序自动检测更新的程序部分
自动升级
建立程序发布的目录
每次升级程序只需重新编译即可
客户端程序自动检测更新的程序部分
自动升级
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询