c# Winfrom桌面软件自动升级系统
对于开发桌面应用升级应该是我们第一个要考虑的。一般而言一个项目只有一个客户端,有的时候一个项目可能分好几个客户端,前台客户端,后台客户端。而我在网上找了很久也没有找到可以同时管理多个客户端升级的。所以自己一边学习一边制作了一个,之前我使用的是oaus自动升级软件因为这个通信免费版的只能用10个人。所以自己做的这个大量模仿了oaus。这是他们的网址http://blog.oraycn.com/OAUS.aspx
通信的协议使用的是开源项目NetWorkComms.net。本人测试传输1g的文件是没问题的
对于每个版本只更新了一个两个文件,以及增加删除了几个文件,升级时都可以对应的更新覆盖,以及删除客户端本地的文件
一、服务端介绍
文件的目录其中FileFolder文件夹是存放部署好的升级文件

服务端的配置文件可以设置端口其他的就不需要修改了
打开服务端点击第一个新增项目

输入项目的名称,我这里已DiskGenius为例

创建成功之后会在列表中显示,也会在服务端的配置生成这个项目的版本

同时会在FileFolder文件夹中生成这个项目的路径用来放这个项目的文件,这个时候我们只要把正常客户端的文件拷贝进去,要注意的是这里面的路径什么的和正常客户端的都是一样的

点击项目的更新会自动扫描目录下更新了几个文件,删除了几个文件,以及新增了几个

之后只要有新的文件需要更新拷贝到对应项目的目录下然后点击更新按钮即可
二、客户端
升级客户端必须放在我们项目客户端的根目录,打包的时候可以带进去进行打包

客户端的File文件夹是存放下载好的文件,等所有文件下载完毕之后会进行覆盖,Temp文件夹是用来缓存下载的文件,Client.ext.config配置文件中要进行配置

在配置文件中配置好服务器ip和端口以及升级完成后要升级的app.还有要配置一下升级的项目名称,这个项目名称要与服务端创建的项目名一致这样子就会下载对应项目的升级文件了
当我们启动自己的程序时可以应用类库MessageContract.dll中的HasNewVersion.GetIsNewVersion();方法,这个方法返回布尔值确定是否需要升级,如果需要升级可以及在自己的程序中启动升级程序进行升级

下载完成之后用户点击启动即可启动自己的应用程序

到此这个升级就完成了。
下载地址链接: https://pan.baidu.com/s/1AaAOEpVVxWYSfIdeAiqzvg
大家如果有问题可以
Console.WriteLine(”加群“+"537905238");
c# Winfrom桌面软件自动升级系统的更多相关文章
- 在C#中实现软件自动升级
在C#中实现软件自动升级 winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,本文结合实际情况,通过软件实现自动升级,弥补了这一缺陷,有较好的 ...
- 自动升级系统OAUS的设计与实现(续) (附最新源码)
(最新OAUS版本请参见:自动升级系统的设计与实现(续2) -- 增加断点续传功能) 一.缘起 自从 自动升级系统的设计与实现(源码) 发布以后,收到了很多使用者的反馈,其中最多的要求就是希望OAUS ...
- HTML5进阶(三)HBuilder实现软件自动升级(优化篇)
HBuilder实现软件自动升级(优化篇) 前言 受前篇博客<HTML5进阶(二)HBuilder实现软件自动升级>(点击查看详情)的影响,测试过程中发现APP自动更新还是存在问题,第一次 ...
- HTML5进阶(二)HBuilder实现软件自动升级
HBuilder实现软件自动升级 前言 移动APP开发好后需要实现软件自动升级功能,经过一番搜索,发现HBuilder具有"App资源在线升级更新"的功能,遂研究之. 经过一番测试 ...
- java CS结构软件自动升级的实现
前段时间做了一个工具发布给公司的各部门使用后反馈了不少BUG,每次修改后均需要发邮件通知各用户替换最新版本,很不方便,因此后来就写了一个自动升级的功能,这样每次发布新的版本时只需要将其部署到自动升级服 ...
- 在WinForm中使用Web Service来实现软件自动升级
来源:互联网 winform程序相对web程序而言,功能更强大编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,面对这个实际问题,在最近的一个小项目中,本人设计了一个通过软件实现自动升级技术 ...
- 在WinForm中使用Web Services 来实现 软件自动升级( Auto Update ) (C#)
winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,面对这个实际问题,在最近的一个小项目中,本人设计了一个通过软件实现自动升级技术方案,弥补了 ...
- 在WinForm中使用Web Services 来实现 软件 自动升级( Auto Update ) (C#)
winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,面对这个实际问题,在最近的一个小项目中,本人设计了一个通过软件实现自动升级技术方案,弥补了 ...
- c# 基于FTP协议的简易软件自动升级程序
最近在重写了一个老的产品条码扫描程序,客户端数越有30个,因为经常有更新,C/S维护非常不方便,所以做一个自动更新程序特别有必要. 在网上随便找了找自动更新的方案,大多使用VS的发布/更新功能,不太喜 ...
- 用C#实现C/S模式下软件自动在线升级
用C#实现C/S模式下软件自动在线升级 1 前言 长期以来,广大程序员为到底是使用Client/Server,还是使用Browser/Server结构争论不休,在这些争论当中,C/S结构的程序可维护性 ...
随机推荐
- 怎么用vscode创建工程
以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16685082.html vs code创建工程,以k ...
- 分布式链路追踪体验-skywalking入门使用
背景 旁友,你的线上服务是不是偶尔来个超时,或者突然抖动一下,造成用户一堆反馈投诉.然后你费了九牛二虎之力,查了一圈圈代码和日志才总算定位到问题原因了.或者公司内部有链路追踪系统,虽然可以很轻松地通过 ...
- C#,使用NPOI,导出excel文件
/// <summary> /// 导出excel文件 /// </summary> /// <param name="dt">Table表数据 ...
- Windows 10 索引设置
有时候想找一下电脑上的某个文件,但是只记得关键字不记得文件名的信息了.这个时候就会尝试在Windows的窗口中搜索.不过有时候明明文件存在,但是无法找到文件.这个时候就需要检查索引设置了.https: ...
- 详述ProxySQL的路由规则 --- 实践篇
转载自:https://blog.csdn.net/weixin_30911809/article/details/98601663 关于ProxySQL路由的简述 当ProxySQL收到前端app发 ...
- 第1篇----Istio原理篇
Istio是什么 ◎ Istio是一个用于服务治理的开放平台. ◎ Istio是一个Service Mesh形态的用于服务治理的开放平台. ◎ Istio是一个与Kubernetes紧密结合的适用于云 ...
- 使用docker-compose运行nginx容器挂载时遇到的文件/目录问题
单独使用docker run命令指定挂载文件路径运行nginx容器是可以的,但是用在docker-compose中就不行了 报错如下: 原因就是挂载出错,不能直接挂载文件,还有挂载的容器里的目录要正确 ...
- 使用python连接elasticsearch
官方文档地址:https://www.elastic.co/guide/en/elasticsearch/client/python-api/current/overview.html 安装的时候注意 ...
- SQL的事务
一.基本概念 事务是数据库区别于文件系统的重要特性之一,当有了事务,就可以让数据库始终保持一致性,同时可以通过事务的机制恢复到某个时间点,保证了提交到数据库的修改不会因为系统崩溃而丢失: 事务只是一个 ...
- 用AR Engine手部骨骼跟踪能力实现虚拟手表试戴
AR技术的落地应用,推动着电商领域的不断升级,通过增强现实为用户带来了虚拟与现实结合的AR购物体验.如AR试衣.AR试鞋.AR试妆等功能的出现让用户在手机上就能体验产品的佩戴效果,可以让用户更直观.更 ...