Winform客户端发布与升级:ClickOnce

时间:2021-12-24 04:11:15

最近一直在用公司老员工留下的一套发布和升级系统,显得麻烦繁琐,然后想着用一套新的发布和升级方式。找网上搜索了很多相关的资料,发现了vs自带的发布方法,可能是之前没有仔细研究过,经过两天的研究和测试,解决了在学习过程中的疑问和如何正确使用的方法。

在说明我在学习过程中的这套方法前,我先来说说目前使用的旧的发布和升级方式,希望做一个对比,这样才能更好的体现新方式的优势。

一、旧的发布和升级方式

1.发布

所谓发布,就是将程序打包成安装包,然后在用户电脑端安装。使用的大宝软件是一个比较老的工具,也是我们公司用的比较多的工具:SetupFactory,该工具的使用方法很简单,各位读者可以自行研究。

2.升级

目前采用的方式是:公司老员工自制的一套升级工具,,update.exe 和 update.ini。主要升级经过如下:

我们知道升级分为客户端和服务端。客户端主要指用户使用的程序,服务端主要是最新版本的程序。因为考虑到安装所需要的时间和网速的限制,并不是采用QQ等目前大多数桌面程序的升级方式--直接下载全新的安装包,然后重新安装--我们采用的是只更新需要更新的文件,一般是.dll 和.exe文件。也就是只下载安装根目录中的文件,这样每次更新的文件就比较下了。

首先在系统登录成功后,启动客户端update.exe文件,update.ini保存用户端程序的版本,当出现用户端版本低于服务器版本(专门有数据库存放系统版本),然后开始升级系统,下载本次升级的文件。

我们采用的是服务器放在ftp服务器上,每次更新时,版本的改动和文件的覆盖到服务器等操作繁琐,还容易出现错误。

二、ClickOnce 发布与升级

在旧的升级系统的弊端后,一直在寻找新的方式,我之后的博客中也会一直更新该部分的内容,现在是这方面的一部分。

操作方式现截图如下:

1.创建项目,正常编译运行程序后,右键项目-->发布

Winform客户端发布与升级:ClickOnce

2.开始发布设置:注意这里你需要部署一个IIs不武器,这里选择将发布文建直接放到新创建的IIs上。

Winform客户端发布与升级:ClickOnce

3.然后一直操作下去,接着是显示的操作。

Winform客户端发布与升级:ClickOnce

Winform客户端发布与升级:ClickOnce

4.点击确定后,弹出网页。你也可以到对应iis中看,你会发现有多个文件存在目录中。

Winform客户端发布与升级:ClickOnce

你的目录中缺少红框部分:dotnetfx40,这部分多出的部分是我后面主要说明的内容。

Winform客户端发布与升级:ClickOnce

5.好了,可以直接点击安装或者直接到目录中点击setup.exe,开始程序的安装。

那么我主要说的是为什么是红框部分呢?出现什么问题来呢?

因为我们看见有些用户电脑运行环境没有对应的netFramework版本,这样他们可能没法安装系统了,或者需要到微软去下载对应的运行环境。你们知道,微软官网打开比较慢,况且下载程序,有时候会给用户很差的体验或者干脆下载失败,考虑网络环境的问题,我们想到能不能我们提前将需要的环境下载好,当用户需要时,直接从我们这边下载不就很快嘛!

那么这样想了,怎么做呢?请按下面截图

Winform客户端发布与升级:ClickOnce

当你点击“系统必备”后,会弹出下面截图:

Winform客户端发布与升级:ClickOnce

在红框1中表明系统需要的运行环境,红框2表示运行环境怎么获取。

比如:你的系统需要的运行环境是.net4.0 ,那么红框1中勾选截图中对应的一栏。

在红框2中,有三个选项第一个选项是从官网选择下载,第二、三个选项是选择本地下载(发布程序时程序员提前下载后了的)。

我的问题是,当我想实现前面提过的方式,也就是红框2中的选择方式,那么一直会出错,弹出找不到对应的安装包。

实例截图:你们的可能和我的错误可能不一样,但都是缺少安装包文件。

Winform客户端发布与升级:ClickOnce

怎么办,需要网上找答案,你会发现有个重要的提示:?LinkId=239883.

你到微软官网去查,你发现有对应的操作介绍,按照其方法去做。

其实道理很简单就是讲各运行平台的。如我缺少的是.net4.0的,找到对应的目录

-------------------------------------------------------------------------------------------------------------