黄聪:C#Winform程序如何发布并自动升级(图解)
有不少朋友问到C#Winform程序怎么样配置升级,怎么样打包,怎么样发布的,在这里我解释一下打包和发布
关于打包的大家可以看我的文章C# winform程序怎么打包成安装项目(图解)
其实打包是打包,发布是发布两者是没有任何关系的,只是有些同志会分不清楚。混在一起了。
下在面大家就和我一起来做一个发布并升级的程序吧。
首先我们准备几个工作
1.新建一个存储发布后程序的目录比如D:\iis\textWinform 以下简称-- 发布目录
2.在IIS新建一个网站并指向目录D:\iis\autoWinfrom,当然这个你随意,我这里只是有一个测试 以下简称 升级目录 因为我是一台电脑,如果大家真实使用时,这个就是你服务器上的配置了
3.当然还要有一个升级的URL http://192.168.1.105:8055 这个就是刚才我新建网站的地址 关于怎么配置IIS下网站的操作,大家可以参考我的文章 IIS6.0手动安装与配置asp.net2.0|3.5|4.0全过程
好了下面开始吧
1.新建一个项目,可以简单点,因为我们只是为了测试发布功能
我就以一个计算字符长度的程序为例子吧
界面如下
<ignore_js_op>

代码如下
|
01
02
03
04
|
private void button1_Click(object sender, EventArgs e) { richTextBox1.Text = textBox1.Text.Length.ToString(); } |
非常的简单了吧。
好了下面开始吧
2.发布
<ignore_js_op>

我们右键单击项目找到发布二字然后单击它
3.选择 发布目录 效果发下
<ignore_js_op>

这里就是我们上面新建的发布目录了
4.选择升级服务器地址
<ignore_js_op>

选择我们上面配置好的IIS服务器地址就行了。
5.选择运行方式
<ignore_js_op>

这里是选择程序是否允许在脱机模式下运行程序,当然一般是 是,如果你确实有需要的话可以选择否的。
这个根据自己情况吧
6.开始发布
在发布之前会生成一个报告,如上图下一步
<ignore_js_op>

然后单击确定,过一会儿会发布成功,并直接打开如下界面哦
<ignore_js_op>

没错就是这个,连升级和下载的界面都帮助咱们生成 了。是不是很棒啊。
先别急着安装,因为现在还不行,我们还要进行配置才行,
先到发布目录下看看我们生成的是什么程序吧
<ignore_js_op>

就是这些程序,
<ignore_js_op>

这里面记录的是每次发布的版本,当然我们要定期进行适当的清理,要不然会越来越多哦。
下面我们什么也不用管只要把这些程序Copy到升级目录下面就行了
Copy完成如下
<ignore_js_op>

好了 我们的配置工作到这里就算完成了。
下面就是分布用户的问题了,如果你希望那个电脑安装你的程序,就可以直接复制Setup程序给他就行了
<ignore_js_op>

没错就是这个,而且只需要这一个就可以,或者直接把http://192.168.1.105:8055/publish.htm这个地址发给用户也是一样的
然后在用户电脑上双击安装
<ignore_js_op>

过一会儿就安装完成了,
之后会自动打开程序如下
<ignore_js_op>

看这不是我们刚才写的程序吗?是不是很激动啊。
到这里就算是大功已成了,下面我们看看他安装在什么地方吧
<ignore_js_op>

没错就在我们的开始程序里面
7.升级
到这里客户端的工作就完成了,以后用户只需要单击这个程序就行,有升级会自动提示
下面咱们来看看如果有更新了会怎么样。
我们将刚才的例子做一个更新,添加一个帮助按钮
效果如下
<ignore_js_op>

代码如下所示
|
01
02
03
04
|
private void button2_Click(object sender, EventArgs e) { richTextBox1.Text = "只要你输入字符并单击计算就会自动 计算出长度哦 还不试试"; } |
哎,这不能再简单了吧,呵呵,大家知道什么意思就行了,只是为了看看效果。
修改完成之后我们再将这个程序安上面的步骤一步一步的操作一下,最后把发布目录的程序copy到升级目录就行了。
然后在客户端单击刚才安装的程序
<ignore_js_op>

会自动出现如上图的提示,那么我们只要单击确定就行。
<ignore_js_op>

开始升级了
<ignore_js_op>

怎么样,是不是很简单啊,到这里我们已完成了发布与升级的效果
8.配置
大家一定会想了,这太简单了,如果要修改安装的目录 ,图标,之类的应该怎么操作呢?
这个其实也很简单大家右键项目选择属性
<ignore_js_op>

找到发布
<ignore_js_op>

这所有的配置都在这里,
在这里,版本号,你每发布一次会自动增长一个,也就是因为它客户端的程序才会自动升级的哦。
而且你还可以把NEt运行环境直接打包进去,如果客户端第一次安装没有.net环境的话,可以直接从升级的网站下载的哦。是不 是很方便
到里就算完了,如果大家还有什么不明白,或者什么好的建议的话可以跟贴哦。
最后感谢大家的支持
黄聪:C#Winform程序如何发布并自动升级(图解)的更多相关文章
- C#Winform程序如何发布并自动升级(图解)
C#Winform程序如何发布并自动升级(图解) 有不少朋友问到C#Winform程序怎么样配置升级,怎么样打包,怎么样发布的,在这里我解释一下打包和发布 关于打包的大家可以看我的文章C# w ...
- 【转】C#Winform程序如何发布并自动升级(图解)
有不少朋友问到C#Winform程序怎么样配置升级,怎么样打包,怎么样发布的,在这里我解释一下打包和发布关于打包的大家可以看我的文章C# winform程序怎么打包成安装项目(图解)其实打包是打包,发 ...
- C# Winform程序如何使用ClickOnce发布并自动升级(图解)
有不少朋友问到C#Winform程序怎么样配置升级,怎么样打包,怎么样发布的,在这里我解释一下打包和发布关于打包的大家可以看我的文章C# winform程序怎么打包成安装项目(图解)其实打包是打包,发 ...
- 黄聪:C#程序中判断是否处在DEBUG调试状态或者RELEASE发布状态
习惯了用老方式(注释的方式)来对程序进行调试,不过昨天才发现这样调试存在很大的隐患:在工程发布的时候如果忘记把该注释的代码注释掉,而让这些调试信息随工程一起发布,如果是可见的调试信息倒好发现,如果不是 ...
- 黄聪:远程序桌面登录的.NET(C#)开发
MSTSCLib.dll和MsTscAxWrapper.dll下载:LibDll.rar 远程序桌面登录的.NET开发,可以使用MSTSCLib.dll和MsTscAxWrapper.dll两个转换过 ...
- [转]VS2010 (C#)winform程序打包发布图解
1.新建一个Windows窗体应用程序,例如项目名为monitor,功能略.新建的时候不要忘了创建解决方案. 2.在monitor解决方案上“右击”—— “添加”——“新建项目”,选择“其他类型项目” ...
- 黄聪:Wordpress程序Mysql查询导致CPU100%,页面错误增量飙高解决方案
最近做的网站,访客一多,CPU就会飙到100%,找了网上很多解决方案,用了下面的方法进行优化: 1.mysql开启慢查询方法: 在my.ini的[mysqld]添加如下语句: log-slow-que ...
- WinForm程序的发布
- 黄聪:wordpress如何防止发布文章时候自动清除<P>、<br>换行标签
1.安装[TinyMCE Advanced]插件 2.进入[后台]--[设置]--[TinyMCE Advanced]把这个选项勾上保存即可.
随机推荐
- LayaAir引擎——(十)
var k = new Array(); var l = new Array(); var m = new Array(); var zhiyeCurosr = 0; function zyinit( ...
- 课前HTML基础
一..站点的建立 作用:用来归纳一个网站上所有的网页,素材以及他们之间的联系. 站点根文件夹的命名规则:必须是以英文或者下划线开头,后面可接数字和下划线,不可以使用中文和特殊字符. 二:创建HTML页 ...
- #import和@class的使用
#import #import 大部分功能和#include是一样的,但是他处理了重复引用的问题,不用再去自己进行重复引用处理. @class 用于声明一个类,告诉编 ...
- Javascript 特效(一)返回顶部
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- android view : window
既然是view,为什么要说window,实际上着是一个很有用的东西,在展现view和设计界面上很有用,就比如说悬浮窗 但是这时候又要分清楚一个概念,window到底是什么?在activity中说过了我 ...
- Winscp sftp远程linux服务器需要预设密码,怎么解决
需要在root账户下修改/etc/ssh/sshd_config 文件中PermitEmptyPasswords no改成yes
- 模拟jQuery库
用js模拟jQuery方法,体会封装思想 <!DOCTYPE html><html><head><meta charset="UTF-8" ...
- 【JS】键盘鼠标事件
一,键盘 keydown 表示按下键盘 keypress 表示按下键盘 keyup 表示键盘弹起 这三者的区别分别表现在发生的 先后顺序,获取到的键盘按钮值,已经对输入框的文本取值这三方面 先后顺序: ...
- Unattend.xml应答文件制作(WISM)
将制作好的应答文件unattend.xml拷贝到模板机sysprep目录下,然后在cmd下运行 (unattend.xml文件可自定义名称) sysprep /generalize /oobe / ...
- MySQL 重装
由于之前第一次装MySQL,默认的datadir在启动盘中,我想要将datadir移动到更大的存储盘中.无奈网上的各种文章的方法在我这里总是不work.我决定重新用homebrew来装一遍MySQL. ...