C# winform自动更新 (附 demo下载)

摘要:
文件的安装位置不可控)实现步骤:编辑--发布到服务器--客户端使用版本号作为判断标准--自动更新操作:设置个人配置。设置解决方案中生成的文件的版本号,然后配置服务器。自动更新是从中下载并配置服务器。我前面写的Web服务中有一种配置方法,第一次是运行setup.exe安装软件,然后直接运行应用程序。

随着需求的变化,如果Server每次更新出新的内容,Client都要重新安装的话。 太过于复杂化。  所以自动更新是很有必要的。

一、.NET自带的更新方式    以服务器端为主  (自动更新,微软爸爸肯定是有的。 有点:简单方便,便于维护; 缺点:用户没有自己的选择权,一切以服务端为主,每次更新之后,都是全新,继承不了上版本的配置;文件安装位置不可控 )

实现步骤: 编辑——发布到服务器——客户端以版本号为判断标准——自动更新

操作: 正常的发布项目,设置个人配置一下   解决方案里设置版本号 

 C# winform自动更新 (附 demo下载)第1张

生成的文件

C# winform自动更新 (附 demo下载)第2张

接着配置服务器,自动更新就是从这比较下载    配置一个Server就好了  在我之前写的Webservice里有配置方式 

 C# winform自动更新 (附 demo下载)第3张

大功告成,把 setup.exe 给客户端运行。第一次是运行setup.exe 安装你的软件,以后直接运行应用程序就行了。自动检查更新,并提示自动更新。开发者每次只需要把新版本上传到服务器就好了

 二、SimpleAutoupdate  以客户端为主的自动更新(优点:简单快捷,可部分更新,耦合性不强,可以选择保留客户端的个性化配置   缺点: 第一次还是需要按部就班的安装,暂时还没感觉到缺点)

是由一个叫鱼的大佬所开发的,下面写写我自己使用的经验

操作步骤: 生成好的项目 ——发布工具整理——生成新的发布文件——配置到服务器——客户端安装(第一次得自己安装,以后每次可自动更新安装)

 C# winform自动更新 (附 demo下载)第4张 

 项目里设置好版本号,当前版本可直接绑定exe文件。发布地址可不填   生成好的文件可自行放到服务器 

C# winform自动更新 (附 demo下载)第5张

 如果需要保留用户的配置文件, 请在文件设置里设置忽略。如config,xml等配置文件。 创建生成文件。 然后同第一种方法一样放到

服务器上。注意版本号的区分。建议设成自动生成。

C# winform自动更新 (附 demo下载)第6张

可以看到是成功的。好啦

通过简单的两句代码,慢慢发现编程的乐趣

免责声明:文章转载自《C# winform自动更新 (附 demo下载)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇算法题——立方体的体对角线穿过多少个正方体?Spring Boot @Component注解下的类 @Autowired 为null下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

pycharm设置主题/默认格式/字体

1.步骤为:File-->Settings-->Appearance & Behavior-->Appearance-->Theme中就可以选择喜欢的主题 2.一般将文件的保存格式默认设置为UTF-8,就不会出现乱码啦! 步骤为:File-->Settings-->Editor-->File and Cod...

HTTP、HTTPS、SOCKS代理的概念(到底是什么意思?)

HTTP/HTTPS/SOCKS 代理指的是客户端连接代理服务器的协议,指客户端和代理服务器之间交互的协议。 如服务器支持代理HTTP协议就叫HTTP代理服务器,支持代理SOCKS协议就叫SOCKS代理服务器。如代理服务器同时支持代理HTTP/SOCKS协议,则既可以叫HTTP代理服务器,也可以叫SOCKS服务器。 补充:SOCKS协议工作在比HTTP、H...

FreeRTOS学习及移植笔记之二:在IAR和STM32F103VET上移植FreeRTOS

上一次,我们简单的测试了FreeRTOS的基于IAR EWARM v6.4和STM32F103VET6平台的Demo,对其有了一个基本认识。接下来我们开始自己移植FreeRTOS的过程。 1、创建一个“FreeRTOSTestProject”项目文件夹,并在其下创建FreeRTOS、Libraries、Project、User文件夹。 与无操作系统的项目...

python中csv文件的读取问题

在python读取csv格式的文件时,使用csv.reader读取文件对象,出现了line contains NULL byte的错误,如下: reader = csv.reader(open(filepath, "rU")) try: for row in reader: print 'Row read successfully!...

C#设计模式——代理模式

一、代理模式介绍: 在软件开发过程中,如果直接访问对象给系统带来不必要的复杂性,而且有时候有些对象会由于网络或其他的障碍,以至于不能够或者不能直接访问到这些对象,这时候可以在客户端和目标对象之间增加一层中间层,让代理对象代替目标对象,然后客户端只需要访问代理对象,由代理对象去帮我们去请求目标对象并返回结果给客户端,这就是代理模式。代理模式——就是给某一个对...

蓝桥杯Java——安装软件Eclipse以及JDK

蓝桥杯Java——安装软件Eclipse以及JDK 安装Eclipse 安装JDK 检查JDK是否安装成功 安装Eclipse 安装后打开失败 安装Eclipse 安装JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html 选择需要的版本 在页面底部找到如...