之前做过ClickOnce部署应用程序的项目,今天做一次全面的总结。那么这些都是微软提供方便分布式部署的相关解决方法,这种方法既有弊端,也有优点。

最大的缺点:

远程部署,不能更换安装目录;并且每次安装或更新都是C盘"C:\Documents and Settings\Administrator\Local Settings\Apps\2.0" 的路径。

较好的优点:

远程部署很方便,可维护性强,简单可靠。

下面讲讲如何ClickOnce部署您的应用程序:

一、发布前,设置属性选项

右键点击您的Windows Application,选择“属性”,点击“发布”选项页。填写要发布的本地路径和安装文件夹的路径(一般是URL),如下图所示:

点击“应用程序文件(I)...”按钮,选择下载时,是否必须下载项,弹出如下窗体所示:

下载时,是否包括该文件哈希值,弹出如下窗体所示:

点击“系统必备(Q)...”按钮,弹出如下窗体:

点击“更新(U)...”按钮,弹出如下窗体:

点击“选项(S)...”按钮,弹出如下窗体,选择“说明”选项,可以填写关于该软件的发布参数。

点击“部署”选项,可以填写设置安装的部署网页,如下图所示:

设置上述步骤完成后,可以点击下图“发布向导(Z)...”或“立即发布(N)”按钮,发布我们的程序,如下图:

下面我们看看“D:\tmp\Set\”路径下生成了什么,如下图所示:

打开“Application Files”文件夹看看里面有什么,如下图所示:

下图是生成目录下的文件列表:

二、部署我们的应用程序

我们以IIS7服务器来做设置,打开IIS7,右键点击“网站”-〉“添加网站”,如下图所示:

启动我们的网站:

三、ClickOnce部署我们的程序

打开IE浏览器,输入“http://127.0.0.1/rfid.htm”网址,如下所示:

点击“安装”按钮,出现下图:

出现上述错误,经过检查是路径不对。现在我们在rfid.htm同目录下新建一个“rfid”文件夹,把rfid.htm同目录下的Application Files文件夹、xxx.apllication和setup.msi文件拷贝到rfid目录下。现在我们重试一下。

点击“安装”按钮,进行安装,下图所示:

安装完成后,自动启动应用程序,如下图:

四、升级我们的应用程序

如果我们的程序更新,当启动我们的客户端应用程序时,出现如下更新进度条:

点击“确定”按钮,进行更新程序。程序更新完毕,自动启动我们的客户端应用程序。

自此,我们的ClickOnce部署程序讲完了,是不是很简单啊?那大家就试试吧。

原文地址:http://swanmsg.blog.sohu.com/162994305.html

C# ClickOnce部署WinForm程序的更多相关文章

  1. 转:ClickOnce部署Winform程序的方方面面

    1. ClickOnce简介 微软官方对ClickOnce的解释是:ClickOnce 是一项部署技术,您可以利用这项技术来创建基于 Windows 的自行更新的应用程序,并且安装和运行这类应用程序所 ...

  2. 【转】ClickOnce部署Winform程序的方方面面

    源地址:http://www.cnblogs.com/parry/archive/2012/10/30/ClickOnce_Winform_Deployment.html

  3. ClickOnce部署winform

    1.完成winform程序. 示例: 2.项目->属性->发布. 有关ftp在iis中的配置,请参考:IIS中添加ftp站点 :url也需在iis中配置.flashfxp中显示ftp成功 ...

  4. VS2012打包部署Winform程序

    打包前的准备工作: 新建一个打包部署项目,点OK,如果是第一次使用的话,会打开一个网页,按照提示的步骤来做, 点击上面的step2的网址,进入到另一个网页: 填写完右边的信息,点击“download ...

  5. ClickOnce部署疑难杂症:更新时部署与应用程序标识不一致问题。要安装此应用程序,请修改此文件的清单版本或卸载之前存在的应用程序。

    使用ClickOnce部署winform应用程序.无论是安装或者自动更新都极为方便,但有时候一些疑难杂症也令人头疼 1.注意每次部署完成之后 setup.exe无需覆盖,只需要在Application ...

  6. Winform程序部署方式总结一——ClickOnce发布

    针对Winform程序,介绍两种常用打包方式:ClickOnce和Windows Installer 应用程序如下: 一.ClickOnce发布 1.找到需要发布的项目文件,右击,从弹出的快捷菜单中找 ...

  7. 获取使用ClickOnce部署的应用程序的版本号

    引子 在编写使用ClickOnce部署的应用程序时,需要在程序的标题栏.软件变更记录.软件关于等页面读取显示当前的版本号. 之前很傻瓜的做法就是在Resource中维护一个string值,在使用到的地 ...

  8. 以管理员身份启动ClickOnce部署的应用程序

    ClickOnce方式部署应用简单方便,估计很多人都用过,但这种方式存在一定的“缺陷”,即以管理员方式启动应用的问题,虽然出于安全考虑可以理解,但给需要管理员权限才能正常运行的程序带来了一定的麻烦,这 ...

  9. 为通过ClickOnce部署的应用程序进行数字签名

    为通过ClickOnce部署的应用程序进行数字签名 ClickOnce是.NET用于Windows应用程序的一种便捷部署方式.不过由于便捷,导致缺少自定义操作的空间.比如需要对通过ClickOnce部 ...

随机推荐

  1. swipe.js实现支持手拔与自动切换的图片轮播

    一.Html代码如下: <div id='mySwipe' style='max-width:500px;margin:0 auto' class='swipe'> <div cla ...

  2. Cinder组件

    cinder-api cinder-api 是整个 Cinder 组件的门户,所有 cinder 的请求都首先由 cinder-api 处理. cinder-api 向外界暴露若干 HTTP REST ...

  3. Python 离线 安装requests第三方库

    一.介绍 requests是Python的一个HTTP客户端库,跟urllib,urllib2类似,不过requests的优势在于使用简单,相同一个功能,用requests实现起来代码量要少很多.毕竟 ...

  4. git 学习(2) ----- 分支

    当我们进行程序开发的过程中,有时会产生一个新的想法,然后就想马上试验,那我们怎么办? 如果我们继续在现有的基础上进行开发,但最后想法不成功,我们还要进行版本回退?如果我们的新想法,需要很长时间才能实现 ...

  5. Django的View(视图)和路由系统

    一.Django的View(视图) 1.介绍 一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一 ...

  6. Python 常用模块大全(整理)

    https://www.cnblogs.com/jpfss/p/9686050.html

  7. Spring MVC 使用介绍(八)—— 类型转换

    一.概述 spring类型转换有两种方式: PropertyEditor:可实现String<--->Object 之间相互转换 Converter:可实现任意类型的相互转换 类型转换的过 ...

  8. Magento2.X 后端开发简要1

    Megento2.X 后端开发简要 根目录位置 组件的根目录是其文件夹和文件所在的组件的顶级目录.根据您安装的MaMeto开发环境,组件的根目录可以位于两个位置: 1.<Magento inst ...

  9. 【系统】libevent库学习

    Libevent库 是一个用C语言开发的.轻量级的开源高性能事件通知库,主要功能特点如下: 事件驱动(event-driven),高性能; 注册事件分优先级: 支持 I/O,定时器和信号等事件信息: ...

  10. python学习day14 装饰器(二)&模块

    装饰器(二)&模块 #普通装饰器基本格式 def wrapper(func): def inner(): pass return func() return inner def func(): ...