我就以一个计算字符长度的程序为例子吧
界面如下

代码如下

[C#] 纯文本查看 复制代码
01
02
03
04
private
void  button1_Click(object
sender, EventArgs e)
       {
           richTextBox1.Text = textBox1.Text.Length.ToString();
       }

非常的简单了吧。
好了下面开始吧
2.发布


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


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


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


这里是选择程序是否允许在脱机模式下运行程序,当然一般是 是,如果你确实有需要的话可以选择否的。
这个根据自己情况吧
6.开始发布


在发布之前会生成一个报告,如上图下一步

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

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

就是这些程序,

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

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

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

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

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

没错就在我们的开始程序里面
7.升级


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

代码如下所示

[C#] 纯文本查看 复制代码
01
02
03
04
private
void  button2_Click(object
sender, EventArgs e)
      {
          richTextBox1.Text = "只要你输入字符并单击计算就会自动 计算出长度哦  还不试试";
      }

哎,这不能再简单了吧,呵呵,大家知道什么意思就行了,只是为了看看效果。
修改完成之后我们再将这个程序安上面的步骤一步一步的操作一下,最后把发布目录的程序copy到升级目录就行了。
然后在客户端单击刚才安装的程序

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

开始升级了

怎么样,是不是很简单啊,到这里我们已完成了发布与升级的效果
8.配置


大家一定会想了,这太简单了,如果要修改安装的目录 ,图标,之类的应该怎么操作呢?
这个其实也很简单大家右键项目选择属性

找到发布

这所有的配置都在这里,
在这里,版本号,你每发布一次会自动增长一个,也就是因为它客户端的程序才会自动升级的哦。
而且你还可以把NEt运行环境直接打包进去,如果客户端第一次安装没有.net环境的话,可以直接从升级的网站下载的哦。是不 是很方便
到里就算完了,如果大家还有什么不明白,或者什么好的建议的话可以跟贴哦。
最后感谢大家的支持

winFrom程序更新自动安装的更多相关文章

  1. 使用Inno Setup 打包.NET程序,并自动安装.Net Framework

    使用Inno Setup 打包.NET程序,并自动安装.Net Framework http://www.cnblogs.com/xiaogangqq123/archive/2012/03/19/24 ...

  2. 在打包程序中自动安装SQL Server数据库 .

    原文:在打包程序中自动安装SQL Server数据库 . 1.创建安装项目“Setup1”安装项目 在“文件”菜单上指向“添加项目”,然后选择“新建项目”. 在“添加新项目”对话框中,选择“项目类型” ...

  3. android 版本更新适配8.0,解决8.0手机无法更新自动安装apk

    随着android 7.0的普及android 8.0的也逐渐流行起来,那么google对权限方面又有了新的修改.而且我发现在android8.0中除了一些bug,比如说:在小米6(Android 8 ...

  4. Winfrom 程序打包及安装

    前言 近期被公司外派到驻空调厂的项目组,支援一个TCP相关的程序对接.主要是做智能门禁系统,然后主要是统计出实时的进出人数. 我这边能作为服务端,门禁设备作为客户端,整个流程并不算复杂,根据协议来写, ...

  5. windows系统下,在C#程序中自动安装字体

    在Windows系统中,原有自带的字体样式有限,有时候我们的程序会使用到个别稀有或系统不自带的字体.因此我们需要将字体打包到程序中,当程序启动时,检测系统是否有该字体,如果没有则安装该字体,也可以动态 ...

  6. Android应用程序的自动更新升级(自身升级、通过tomcat)(转)

    Android应用程序的自动更新升级(自身升级.通过tomcat) http://blog.csdn.net/mu0206mu/article/details/7204746 刚入手android一个 ...

  7. VS C#程序打包覆盖安装不能更新的解决方法

    最近写个小程序,打包覆盖安装更新时老是不起作用,还是原来的程序. 在网上四处查找,productcode和ersion都已经更改,removepreviousversions也设置成true了,可就是 ...

  8. 【实用篇】Android之应用程序实现自动更新功能

    我个人用的是友盟提供的自动更新组件,因此在这里只描述如何实用友盟提供的组件来完成程序的自动更新,步骤如下: 1.登录友盟官网,点击注册一个友盟账号. 2.注册成功后将会自动进入到添加新应用界面,选择添 ...

  9. Android 自己实现更新下载自动安装

    1.一些公司开发完一款App之后可能并不会去上架App商店,但事后期也需要定时进行维护更新,所以会选择把打包好的apk 发布到自己的服务器,然后在数据库建一个版本号的表,然后剩下的就交给你androi ...

随机推荐

  1. hadoop-hbase学习笔记

    create "t",{NAME=>"t_id"},{NAME=>"t_vl"} describe "t" ...

  2. 基于Python语言使用RabbitMQ消息队列(三)

    发布/订阅 前面的教程中我们已经创建了一个工作队列.在一个工作队列背后的假设是每个任务恰好会传递给一个工人.在这一部分里我们会做一些完全不同的东西——我们会发送消息给多个消费者.这就是所谓的“发布/订 ...

  3. ubuntu更改用户登录密码

    sudo passwd user(root或对应的用户名)

  4. ExtJs中获得当前选中行号(Grid中多选或者是单选)及Grid的反选(取消选中行)

    多选,如何获得每行的行号: function getlineNum(){    var sm=titleGird.getSelectionModel(); // 获得grid的SelectionMod ...

  5. unix下网络编程之I/O复用(四)

    首先需要了解的是select函数: select函数 #include<sys/select.h> #include<sys/time.h> int select (int m ...

  6. Linux系统下如何去掉文件的@属性

    前几天从别处copy了一个memcached.so文件,发现运行不了,用ls -l 看了一下发现memcached.so多了一个@属性,如何去掉这个@属性呢? 第一步:ls -laeO@ 第二步:xa ...

  7. 2014.10.1 Spy找对话框

    IntPtr Diaw =FindWindow("#32770","Adobe Acrobat" );

  8. java线程面试题及答案

    1)2017Java面试题及答案:什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务 ...

  9. LAMP 2.3 Apache配置防盗链

    如果你的站点是一个图片站,有很多非常漂亮的美女图片,那我相信,时间久了会有很多人来你网站借图片,有的人直接下载走了,还有的人直接取走图片的地址,比如你的网站域名是 www.123.com,图片地址为 ...

  10. Spring注解-TaskScheduler

    一.定义配置类 import org.springframework.context.annotation.ComponentScan; import org.springframework.cont ...