对于开发桌面应用升级应该是我们第一个要考虑的。一般而言一个项目只有一个客户端,有的时候一个项目可能分好几个客户端,前台客户端,后台客户端。而我在网上找了很久也没有找到可以同时管理多个客户端升级的。所以自己一边学习一边制作了一个,之前我使用的是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桌面软件自动升级系统的更多相关文章

  1. 在C#中实现软件自动升级

    在C#中实现软件自动升级 winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,本文结合实际情况,通过软件实现自动升级,弥补了这一缺陷,有较好的 ...

  2. 自动升级系统OAUS的设计与实现(续) (附最新源码)

    (最新OAUS版本请参见:自动升级系统的设计与实现(续2) -- 增加断点续传功能) 一.缘起 自从 自动升级系统的设计与实现(源码) 发布以后,收到了很多使用者的反馈,其中最多的要求就是希望OAUS ...

  3. HTML5进阶(三)HBuilder实现软件自动升级(优化篇)

    HBuilder实现软件自动升级(优化篇) 前言 受前篇博客<HTML5进阶(二)HBuilder实现软件自动升级>(点击查看详情)的影响,测试过程中发现APP自动更新还是存在问题,第一次 ...

  4. HTML5进阶(二)HBuilder实现软件自动升级

    HBuilder实现软件自动升级 前言 移动APP开发好后需要实现软件自动升级功能,经过一番搜索,发现HBuilder具有"App资源在线升级更新"的功能,遂研究之. 经过一番测试 ...

  5. java CS结构软件自动升级的实现

    前段时间做了一个工具发布给公司的各部门使用后反馈了不少BUG,每次修改后均需要发邮件通知各用户替换最新版本,很不方便,因此后来就写了一个自动升级的功能,这样每次发布新的版本时只需要将其部署到自动升级服 ...

  6. 在WinForm中使用Web Service来实现软件自动升级

    来源:互联网 winform程序相对web程序而言,功能更强大编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,面对这个实际问题,在最近的一个小项目中,本人设计了一个通过软件实现自动升级技术 ...

  7. 在WinForm中使用Web Services 来实现 软件自动升级( Auto Update ) (C#)

    winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,面对这个实际问题,在最近的一个小项目中,本人设计了一个通过软件实现自动升级技术方案,弥补了 ...

  8. 在WinForm中使用Web Services 来实现 软件 自动升级( Auto Update ) (C#)

    winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,面对这个实际问题,在最近的一个小项目中,本人设计了一个通过软件实现自动升级技术方案,弥补了 ...

  9. c# 基于FTP协议的简易软件自动升级程序

    最近在重写了一个老的产品条码扫描程序,客户端数越有30个,因为经常有更新,C/S维护非常不方便,所以做一个自动更新程序特别有必要. 在网上随便找了找自动更新的方案,大多使用VS的发布/更新功能,不太喜 ...

  10. 用C#实现C/S模式下软件自动在线升级

    用C#实现C/S模式下软件自动在线升级 1 前言 长期以来,广大程序员为到底是使用Client/Server,还是使用Browser/Server结构争论不休,在这些争论当中,C/S结构的程序可维护性 ...

随机推荐

  1. logstash客户端传送symantec日志到elasticsearch

    一.安装相应版本的logstash wget https://artifacts.elastic.co/downloads/beats/logstash/logstash-7.5.2-x86_64.r ...

  2. Go常见

    GO基础语法 方法或函数调用时,传入参数一般都是值复制,除非是map.slice.channel.指针类型是引用传递 短的变量声明(Short Variable Declarations),即自动推导 ...

  3. go 中解析JSON的三种姿势

    背景 这是一篇写给0-1年新人的文章,短平快的教会你如何解析json字符串. 示例Json 假设有如下json字符串: { "userName":"admin" ...

  4. 基于Ubunru服务器搭建wordpress个人博客

    一.环境 服务器:阿里云突发性能实例 t5-1核(vCPU) 512 MB + 网络按流量收费(该服务器适用于小型网站) 系统:Ubuntu 22.04 64位Ubuntu  22.04 64位 二. ...

  5. 输入法词库解析(七)微软用户自定义短语.dat

    详细代码:https://github.com/cxcn/dtool 前言 微软拼音和微软五笔通用的用户自定义短语 dat 格式. 解析 前 8 个字节标识文件格式 machxudp,微软五笔的 le ...

  6. vue项目中使用百度富文本编辑器ueditor

    第一步,安装依赖,并且把ueditor整个文件夹放入public里边 第二步,在你需要编辑的地方引入,或者main.js中全局引入 XX.vue文件中写入下面代码,创建编辑器. <vue-ued ...

  7. 宝塔搭建的nginx如何只允许指定IP访问--nginx如何允许指定IP访问,nginx开发者调试模式

    我的博客,向来都是简洁.有用为主,转载请注明出处. 说白了就是往nginx配置文件中加两句话 allow 127.0.0.1; deny all; 允许127.0.0.1访问 然后拒绝其他连接,返回4 ...

  8. 【译】CLR类型加载器设计

    前言 本文翻译自BotR中的一篇,原文链接 Type Loader Design ,可以帮助我们了解CLR的类型加载机制(注意是Type类型,而不是Class类),文中涉及到术语或者容易混淆的地方,我 ...

  9. 查询参数和字符串校验:Query_Parameters_and_String_Validations

    官方文档地址:https://fastapi.tiangolo.com/zh/tutorial/query-params-str-validations/ # -*- coding: UTF-8 -* ...

  10. influxDB2.2

    下载安装 下载地址 下载后在解压目录中,输入cmd执行exe文件 浏览器访问localhost:8086 选择快速开始,填写用户信息,组织信息 相关概念 InfluxDB是一个由InfluxData开 ...