目前我们做的上位机项目还是以Winform为主,在实际应用过程中,可能还会出现一些细节的修改.对于这种情况,如果上位机带有自动更新功能,我们只需要将更新后的应用程序打包放在指定的路径下,可以让用户自己来进行更新使用,会大大增加项目的便捷性. 01.自动更新整体思路 今天给大家介绍一下如何基于C#实现WinForm自动更新的一种方式,这种方式长期应用在项目中,提供了很多帮助,也节约了大量的时间成本,并且也使用在CMSPro软件中,整体流程如下图所示: 图表 1自动更新流程 02.实现说明 通过上图…
一.项目背景介绍 最近单位开发一个项目,其中需要用到自动升级功能.因为自动升级是一个比较常用的功能,可能会在很多程序中用到,于是,我就想写一个自动升级的组件,在应用程序中,只需要引用这个自动升级组件,并添加少量代码,即可实现自动升级功能.因为我们的程序中可能包含多个类型的文件,比如exe.dll. config.xml.bat等等自定义格式的后缀名文件,所以要支持多文件类型的更新. 本期同样带给大家分享的是阿笨在实际工作中遇到真实项目场景,请跟随阿笨的视角去如何开发实现WinForm通用自动更新…
通用自动更新程序 主要功能: 1. 可用于 C/S 程序的更新,集成到宿主主程序非常简单和配置非常简单,或不集成到主程序独立运行. 2. 支持 HTTP.FTP.WebService等多种更新下载方式,下载前判断本地文件是否存在,存在则计算文件 Hash,避免重复下次. 3. 支持多级目录更新,支持空文件.文件夹的更新 4. 支持更新程序的自更新 5. 支持二种更新方式:自动更新.手动点击按钮更新 6. 有多种容错处理机制 7. 支持更新前后的脚本 如何使用: 1. 将 二个文件拷贝到 APP…
在网络化的环境中,特别是基于互联网发布的Winform程序,程序的自动更新功能是比较重要的操作,这样可以避免挨个给使用者打电话.发信息通知或者发送软件等,要求其对应用程序进行升级.实现程序的自动更新,在后期发布维护过程中,一个可以快速相应修正相关的Bug或者增加功能,二个可以避免给使用客户隔三差五的发送修改好的程序,省心省力.本文也是基于这个思想,在Winform开发框架中再引入一个自动升级更新的通用模块,这个自动升级的通用模块除了具备一般的功能外,可以通过配置程序标题.升级路径方式等方式,实现…
本通用自动更新模块适合所有Windows桌面程序的自动更新,不论语言,无论Winform还是wpf. 一.工作流程:1. 主程序A调起升级程序B2. B从服务器获取更新程序列表,打印更新信息.3. B杀死A进程(此步骤可以放在步骤2~5任意位置)4. B根据更新信息中指示的地址,下载更新程序包(.zip文件)5. 解压缩.zip文件到一个新创建的文件夹6. 将解压后的文件拷贝到原始文件目录,做替换.7. 删除下载的.zip文件以及解压后创建的文件夹8. B打开A 二.源码介绍: 升级程序B的实现…
原文:使用 advanced installer 为 winform 做自动更新 advanced installer 是一款打包程序,基于 windows installer 并扩展了一些功能,比如安装统计,自动更新,授权验证等,本文将介绍你如果使用 advanced installer(以下简称 ai) 为 winform 做自动更新. 打开 ai,将你的项目文件拖到此处,再进行些基础的配置.直到能够生成基础的安装包. 开始配置更新,点击到 updater 选项卡,选中 'enable ad…
C#[WinForm]实现自动更新 winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,面对这个实际问题,在最近的一个小项目中,本人设计了一个通过软件实现自动升级技术方案,弥补了这一缺陷,有较好的参考价值 实现原理:在WebServices中实现一个GetVer的WebMethod方法,其作用是获取当前的最新版本. 然后将现在版本与最新版本比较,如果有新版本,则进行升级. 步骤: .准备一个XML文件 (Update.xml). <?xm…
winform实现自动更新并动态调用form实现 标签: winform作业dllbytenull服务器 2008-08-04 17:36 1102人阅读 评论(0) 收藏 举报  分类: c#2005(27)  版权声明:本文为博主原创文章,未经博主允许不得转载. winform 应用系统的部署问题,一直是个令人苦恼的问题.在2.0下,我们可以通过clickonce方式部署,但是这里要说的,是利用文件的操作来对系统进行更新. 为了方便用户作业,把实际的系统打包成DLL存在,而设计一个自动更新的…
转载自 http://dotnet.chinaitlab.com/DotNetFramework/914178.html 关于.NET windows软件实现自动更新,本人今天写了一个DEMO,供大家参考.         大家先看下效果图:        主要涉及到两个方面 1. 更新软件主项目和DLL文件 2.升级包自身的更新 1.   一个项目通常包括主项目和类库项目,主项目就是启动项目,以.exe结尾,类库项目主要是DLL, 简单的说更新就是将软件本地的主项目和类库项目进行更新. 可以采…
自动更新程序AutoUpdate.exe https://git.oschina.net/victor596jm/AutoUpdate.git 1.获取源码 http://git.oschina.net/victor596jm/AutoUpdate 编译成 AutoUpdate.exe,AutoUpdateLib.dll,并与你的主程序放在同一个目录 2.配置文件 UpdateList.xml 此配置文件记录要更新的文件列表,版本等信息.文件同时存在于服务器(IIS)和客户端,当AutoUpda…
@echo off@echo =================================@echo 定时在SVN上自动更新项目内容,可用于项目放在web服务器没有hudson的时候@echo 时间由您的计划任务时间确定@echo 1.svn_home 安装tortoise的目录,需安装TortoiseSVN客户端@echo 2.svn_work 需更新的SVN项目目录@echo WIN7或WINVista或WIN2008的用户请用管理员身份运行@echo ================…
在桌面新建“SVN Update.bat”文件,把下面的命令复制到该文件中,保存并退出,然后使用windows的“任务计划”功能,就可以实现定时自动更新SVN目录. 按此批处理文件的方法执行,一次可自动更新2个目录的内容.如果想一次更新3个目录的内容,可按照相同的方法设置新的环境变量svn_work3,增加新的命令集:Update3和:gengxin3即可.注意将:Update3中的环境变量名改为svn_work3及gengxin3. 注意: “svn_home=”后面填写安装SVN客户端的目录…
服务端: [WebMethod] public string GetNewService(string version) { //通过版本号进行比较 if (version == "v1.0") { return "没有新版本!"; } else { return @"E:\QMDownload\CashTest.exe"; //返回一个地址,这个里面存有新版本! } } 客户端: //自动更新开始 Juran.CenterCash.WebSer…
当一个版本发布,新起一个版本时,我们需要更改一下项目中的版本号.一个maven工程,如果只是一个单一的主项目,那么只要手动修改一下 pom.xml 就 可以了,耗不了多少时间.但是如果这个maven项目有很多的子模块项目,那么一个个手动的去改就比较麻烦, 大一点的项目可能会有几十 个,这样子一个个手动去改又费时又费力啊,一个出错可能还要再改回来,相当的麻 烦. 在我的想象中maven不应该这么弱智啊,这点功能都没有?查找了下,果然,只要用 以下命令 mvn versions:set ‐DnewV…
我们在使用软件的时候经常会遇到升级版本,这也是Winform程序的一个功能,今天就大概说下我是怎么实现的吧(代码有点不完美有小BUG,后面再说) 先说下我的思路:首先在打开程序的时候去拿到我之前在网站上写好的xml里边的版本号,判断是否要更新,之后要更新的话就调用更新的exe(ps:这个是单独出来的,因为更新肯定要覆盖当前的文件,文件运行的时候不能被覆盖),然后下载最新的压缩包到本地,调用7z解压覆盖即可 思路明确了之后就开始写代码(所以说思路很重要啊!!!): <?xml version=&quo…
由于开发移动端web,ui需要及时看到样式变化,所以通过svn hooks(钩子)来提交文件,然后再把文件同步到测试服务器项目目录,步骤如下: 1.进入 /home/svn/cmall/hooks (svn的安装目录,根据操作系统,路径各有不同) cp post-commit.tmpl post-commit 2.修改post-commit权限(必须可写,本人比较懒,直接777) sudo chmod +x post-commit 3.编辑post-commit vim post-commit…
声明:核心功能的实现是由园子里圣殿骑士大哥写的,本人是基于他核心代码,按照自己需求进行修改的.   而AutoUpdaterService.xml文件生成工具是基于评论#215楼 ptangbao的代码而改写的. 由于这个组件是在10年写的,.net也有更新有的方法已提示过时,更改如下: //Added the function to support proxy //clientDownload.Proxy = System.Net.WebProxy.GetDefaultProxy(); cli…
路径: 最终的解决方案是,ConfuserEx+Installshield+AutoUpdater.NET,ConfuserEx做代码混淆工作,Installshield可以解决注册表的问题,AutoUpdater.NET用起来太方便了! <?xml version="1.0" encoding="UTF-8"?> <item> <version>3.0.0.0</version> <url>http://…
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zhaobw831/article/details/82226291使用AutoUpdater.NET对winform程序进行自动更新介绍AutoUpdater.NET是一个.NET平台下桌面应用程序的一个自动升级类库,开源在Github类似工具还包括微软的ClickOnce 使用PM> Install-Package Autoupdater.NET.Official 更新服务器上的xml配置: <…
这几天没更新主要是因为没有一款合适的后端框架来支持我们的Web API项目Demo, 所以耽误了几天, 目前最新的代码已经通过Sqlite + NHibernate + Autofac满足了我们基本的Demo需求. 按照既定的要求,我们的API会提供给众多的客户端使用, 这些客户端可以是各种Web站点, APP, 或者是WinForm, WPF, Silverlight等诸如此类的应用,将来还有可能是各种Iot等物联网设备的应用,Restful API凭借其诸多优势,已经在移动互联网的时代火了一…
一.问题背景 本地程序在实际项目使用过程中,因为可以操作电脑本地的一些信息,并且对于串口.OPC.并口等数据可以方便的进行收发,虽然现在软件行业看着动不动都是互联网啊啥的,大有Web服务就是高大上的感觉,但是作为本地的应用还是有着非常重要的位置,特别是在制造业工厂里,车间里相关的程序. 抛开一切业务上的功能不谈,本地程序一直比较诟病的地方就是在于软件的更新上,由于程序都在客户端电脑上运行,当需要更新的时候,就不得不由专门的实施人员过去,部署更新,无形中增加项目成本,SO,对于c/s程序的自动更新…
作者:圣殿骑士 出处:http://www.cnblogs.com/KnightsWarrior/ 关于作者:专注于微软平台项目架构.管理和企业解决方案.自认在面向对象及面向服务领域有一定的造诣,熟悉设计模式.TDD.极限编程.领域驱动.架构设计.敏捷开发和项目管理.现主要从事ASP.NET MVC.WPF.WCF/Web API.SOA.Microsoft Azure等云计算方面的项目开发.架构.管理和企业培训工作.如有问题或建议,请多多赐教! 本文版权归作者和博客园共有,欢迎转载,但未经作者…
在 <Cordova webapp实战开发:(4)Android环境搭建>中我们搭建好了开发环境,也给大家布置了调用插件的预习作业,做得如何了呢?今天我们来学一下如何自己从头建立一个Andorid下的cordova插件. 本次练习你能学到的 学习如何实现Android下自动更新功能 学习Android下插件类的编写 学习Android下插件的配置 学习Android下插件的调用 主要内容 打开APP后检查版本更新,如果有更新则弹出更新对话框 APP中[检查更新]显示当前版本号,并可以点击进行版…
接前两篇继续: Winform(C#.NET)自动更新组件的使用及部分功能实现 Winform(C#.NET)自动更新组件的使用及部分功能实现(续) 借鉴文章:http://www.cnblogs.com/jeffersyuan/archive/2007/04/18/718108.html 现象: 由于dll文件比较多,再加之变更比较频繁,而每次点击createxmltools都会重新生成不同的version, 而实际上文件并未发生变化,导致重复更新,浪费资源. 解决方法: 根据文件的信息生成一…
CleanAOP实战系列--WPF中MVVM自动更新 作者: 立地 邮箱: jarvin_g@126.com QQ: 511363759 CleanAOP介绍:https://github.com/Jarvin-Guan/CleanAOP 前言 讲起WPF,开发模式MVVM是必不可少的,使用MVVM模式以后可以在View中写界面,需要使用到的数据则使用绑定的方式写到标签中,那么控制权就放到了ViewModel中,那么有一个需求是每一个使用MVVM者都会有的,就是在后台改变ViewModel的属性…
一.课程介绍 “明人不说暗话,跟着阿笨一起玩Xamarin”,本次分享课程阿笨将带来大家一起学习Xamarin For Android系列<C# Xamarin For Android自动升级项目实战>.如果您同样对本次分享课程感兴趣的话,那么请跟着阿笨一起学习吧. 本次分享课程适合人群如下: 1. 热爱Xamarin跨平台移动开发. 2.进一步了解和学习Xamarin For Android移动开发实战知识. 本次分享课包含实战分享知识点如下: 1.C# Android 如何制作打包编译AP…
WinForm应用程序中实现自动更新功能 编写人:左丘文 2015-4-20 近来在给一客户实施ECM系统,但他们使用功能并不是我们ECM制造版提供的标准功能,他们要求对系统作一些定制功能,为了避免因程序的bug而带来频繁让用户更新程序的不良影响,就想给ECM增加一个winform自动更新功能,今天在这里,我想与大家一起分享代码,在此做个小结,以供参考.有兴趣的同学,可以一同探讨与学习一下,否则就略过吧.   1. 首先我们在这里先分析一下其它程序猿的一些基本情况: 相信有许多程序猿都喜欢用Wi…
后盾网lavarel视频项目---phpstorm 配置ftp, 自动更新同步代码 一.总结 一句话总结: 1.在phpstorm中设置:路径Tools/Deployment/Configuration 2.是将代码同步到远程的ftp服务器上面去:配置ftp 3.还可以在option里面设置Automatic Upload(always) 1.phpstorm 配置ftp自动更新同步代码的作用? 方便代码更新,方便多人同步开发 二.phpstorm 配置ftp, 自动更新同步代码 (亲测完美)…
一.项目运行环境 项目采用的是.NET5开发的Web系统,独立部署在省内异地多台CentOS服务器上,它们运行在甲方专网环境中(不接触互联网),甲方进行业务运作时(一段时间内)会要求异地服务器开机上线,同时要求我们在总部进行驻场运维和技术支持. 二.自动更新需求 每年(次)的业务流程甲方会要求做出一些调整,要求在线的服务器可以自动更新. 异地服务器对使用人员处于黑盒模式,同时项目可以运行在root权限下. 三.自动升级方案对比 1.Jenkins+Gitlab+自动代码审查+人工代码审查+人工发…
在eclipse中创建一个Web项目的时候,虽然有web.xml生成,但是再添加Servlet类文件的时候总是看不见web.xml的更新,所以异常的郁闷!上网查了查,原来我们在创建Web项目的时候,会弹出一个对话框,“Dynamic web module version”这个选项默认成了3.0,按照老规范,应该是在eclipse的WebContent \ WEB-INF \ 目录下创建web.xml的.而新规范是可以不用web.xml的,如tomcat 7.0就支持新规范,这样相关的servle…