有不少朋友问到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>

代码如下

[C#] 纯文本查看 复制代码
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>

代码如下所示

[C#] 纯文本查看 复制代码
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环境的话,可以直接从升级的网站下载的哦。是不 是很方便
到里就算完了,如果大家还有什么不明白,或者什么好的建议的话可以跟贴哦。
最后感谢大家的支持

from:http://www.sufeinet.com/thread-2187-1-1.html

【转】C#Winform程序如何发布并自动升级(图解)的更多相关文章

  1. C#Winform程序如何发布并自动升级(图解)

    C#Winform程序如何发布并自动升级(图解)     有不少朋友问到C#Winform程序怎么样配置升级,怎么样打包,怎么样发布的,在这里我解释一下打包和发布 关于打包的大家可以看我的文章C# w ...

  2. 黄聪:C#Winform程序如何发布并自动升级(图解)

    有不少朋友问到C#Winform程序怎么样配置升级,怎么样打包,怎么样发布的,在这里我解释一下打包和发布关于打包的大家可以看我的文章C# winform程序怎么打包成安装项目(图解)其实打包是打包,发 ...

  3. C# Winform程序如何使用ClickOnce发布并自动升级(图解)

    有不少朋友问到C#Winform程序怎么样配置升级,怎么样打包,怎么样发布的,在这里我解释一下打包和发布关于打包的大家可以看我的文章C# winform程序怎么打包成安装项目(图解)其实打包是打包,发 ...

  4. [转]VS2010 (C#)winform程序打包发布图解

    1.新建一个Windows窗体应用程序,例如项目名为monitor,功能略.新建的时候不要忘了创建解决方案. 2.在monitor解决方案上“右击”—— “添加”——“新建项目”,选择“其他类型项目” ...

  5. WinForm程序的发布

  6. C# winform程序怎么打包成安装项目(图解)

    1:新建安装部署项目 打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图) 此主题相关图片如下: 2:安装向导 关闭后打开安 ...

  7. Code First 迁移----官方 应用程序启动时自动升级(MigrateDatabaseToLatestVersion 初始值设定项)

    Code First 迁移 如果使用的是 Code First 工作流,推荐使用 Code First 迁移改进应用程序的数据库架构. 迁移提供一组允许以下操作的工具: 创建可用于 EF 模型的初始数 ...

  8. IoTClientTool自动升级更新

    IoTClientTool是什么 IoTClientTool是什么,IoTClientTool是IoTClient开源组件的可视化操的作实现.方便对plc设备和ModBusRtu.BACnet.串口等 ...

  9. SNF开发平台WinForm之八-自动升级程序部署使用说明-SNF快速开发平台3.3-Spring.Net.Framework

    9.1运行效果: 9.2开发实现: 1.首先配置服务器端,把“SNFAutoUpdate2.0\服务器端部署“目录按网站程序进行发布到IIS服务器上. 2.粘贴语句,生成程序 需要调用的应用程序的Lo ...

随机推荐

  1. Nginx-->基础-->安装-->001:安装总结

    root@ubuntu:/data/src/nginx# ./configure --help --help print this message --prefix=PATH set installa ...

  2. 使用echarts

    <html> <head> <script type="text/javascript" src='echarts.min.js'></s ...

  3. 深入理解Java虚拟机(三)、垃圾收集算法

    1.第一门真正使用内存动态分配和垃圾收集技术的语言:Lisp 2.程序计数器.虚拟机栈.本地方法栈这3个区域随线程而生灭,这几个区域的内存会随着方法结束或线程结束而回收,GC关注的是Java堆和方法区 ...

  4. 刨一刨内核container_of()的设计精髓

    新年第一帖,总得拿出点干货才行,虽然这篇水分还是有点大,大家可以晒干了温水冲服.这段时间一直在整理内核学习的基础知识点,期间又碰到了container_of()这个宏,当然还包括一个叫做offseto ...

  5. 使用AsyncTask实现文件下载并且在状态中显示下载进度

    2013年10月24日 上班的第二天 昨天我是用afinal完成的则个功能,但是公司里并不希望使用第三方的代码,所以要求我在不使用第三方开源项目的情况下实现. 最先我是使用Thread开启一个子线程, ...

  6. hashcode深入理解

    带着问题去理解: 1. Object类HashCode方法是如何实现的,和String类有什么区别? 2.HashCode和Equals之间的关系? 一.hashCode作用 hashCode方法返回 ...

  7. easyui tree onloadsuccess事件的心得

    在onloadSuccess事件中不能apeed新节点,否则又会触发noloadsuccess事件,形成死循环. 公司电话:028-87657875           13060063607 淘宝店 ...

  8. exp

    想将远程机器上的数据库备份,搞了一上午,终于解决了: exp 用户名/密码@ip/service名 file=地址+文件名

  9. Spring 常用的一些工具类

    学习Java的人,或者开发很多项目,都需要使用到Spring 这个框架,这个框架对于java程序员来说.学好spring 就不怕找不到工作.我们时常会写一些工具类,但是有些时候 我们不清楚,我们些的工 ...

  10. java JFrame修改左上角的图片

    直接案例: