有不少朋友问到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. Arcengine,C#获得FeatureClass的坐标系ISpatialReference以及所在数据集名称

    1: /// <summary> 2: /// 获得坐标系统 3: /// </summary> 4: /// <param name="pFeatureCla ...

  2. java多线程详解(1)-多线程入门

    一.多线程的概念 线程概念 线程就是程序中单独顺序的流控制. 线程本身不能运行,它只能用于程序中. 说明:线程是程序内的顺序控制流,只能使用分配给程序的资源和环境. 进程:操作系统中执行的程序 程序是 ...

  3. iOS.Animation.Math-behind-CATransform3D

    iOS CoreAnimation: Math behind CATransform3D 1. What's CATransform? Matrix Transform: "User spa ...

  4. aspnet超级链接 传递 当前页面 textbox值

    一共有两个窗体. 第一个窗体A传参到窗体B  A的参数是A窗体的textbox 窗体A代码 <html xmlns="http://www.w3.org/1999/xhtml" ...

  5. 2-6 Working with Lambdas

    在C++中使用匿名函数,格式如下:[] () {}; Using a Lambda to Print array Values #include <algorithm> #include ...

  6. JAVA生成随机数

    java中一般有两种随机数,一个是Math中random()方法,一个是Random类. 一.Math.random() 随即生成0<x<1的小数. 实例:如何写,生成随机生成出0~100 ...

  7. C#时间戳转成php的time()

    DateTime timeStamp = new DateTime(1970,1,1);  //得到1970年的时间戳 long a = (DateTime.UtcNow.Ticks - timeSt ...

  8. MG--滚动的视觉差效果

    #几句代码完成tableView滚动的视觉差 - 效果图 (失帧严重)![](http://upload-images.jianshu.io/upload_images/1429890-f2c8577 ...

  9. [C#基础实例]指定地址解析图片并下载

    需求:查找页面图片并下载至本地: 实现: 首先:读取通过网络html内容,并用正则表达式查找图片地下. 其次:使用WebRequest.Create创建图片请求. 最后:把获取图片网络流数据通过Fil ...

  10. LeetCode OJ-- 二战 Palindrome Number

    判断一个 int 是否为回文的 有一点要注意的是: int x; int _x = abs(x); 对 x 取绝对值的时候,会发生溢出.比如  x = INT_MIN 即 -2147483648 而 ...