C# ClickOnce部署WinForm程序
之前做过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程序的更多相关文章
- 转:ClickOnce部署Winform程序的方方面面
1. ClickOnce简介 微软官方对ClickOnce的解释是:ClickOnce 是一项部署技术,您可以利用这项技术来创建基于 Windows 的自行更新的应用程序,并且安装和运行这类应用程序所 ...
- 【转】ClickOnce部署Winform程序的方方面面
源地址:http://www.cnblogs.com/parry/archive/2012/10/30/ClickOnce_Winform_Deployment.html
- ClickOnce部署winform
1.完成winform程序. 示例: 2.项目->属性->发布. 有关ftp在iis中的配置,请参考:IIS中添加ftp站点 :url也需在iis中配置.flashfxp中显示ftp成功 ...
- VS2012打包部署Winform程序
打包前的准备工作: 新建一个打包部署项目,点OK,如果是第一次使用的话,会打开一个网页,按照提示的步骤来做, 点击上面的step2的网址,进入到另一个网页: 填写完右边的信息,点击“download ...
- ClickOnce部署疑难杂症:更新时部署与应用程序标识不一致问题。要安装此应用程序,请修改此文件的清单版本或卸载之前存在的应用程序。
使用ClickOnce部署winform应用程序.无论是安装或者自动更新都极为方便,但有时候一些疑难杂症也令人头疼 1.注意每次部署完成之后 setup.exe无需覆盖,只需要在Application ...
- Winform程序部署方式总结一——ClickOnce发布
针对Winform程序,介绍两种常用打包方式:ClickOnce和Windows Installer 应用程序如下: 一.ClickOnce发布 1.找到需要发布的项目文件,右击,从弹出的快捷菜单中找 ...
- 获取使用ClickOnce部署的应用程序的版本号
引子 在编写使用ClickOnce部署的应用程序时,需要在程序的标题栏.软件变更记录.软件关于等页面读取显示当前的版本号. 之前很傻瓜的做法就是在Resource中维护一个string值,在使用到的地 ...
- 以管理员身份启动ClickOnce部署的应用程序
ClickOnce方式部署应用简单方便,估计很多人都用过,但这种方式存在一定的“缺陷”,即以管理员方式启动应用的问题,虽然出于安全考虑可以理解,但给需要管理员权限才能正常运行的程序带来了一定的麻烦,这 ...
- 为通过ClickOnce部署的应用程序进行数字签名
为通过ClickOnce部署的应用程序进行数字签名 ClickOnce是.NET用于Windows应用程序的一种便捷部署方式.不过由于便捷,导致缺少自定义操作的空间.比如需要对通过ClickOnce部 ...
随机推荐
- Linux命令1
1.获取当前系统支持的所有命令的列表: compgen -c 2.怎样查看一个linux命令的概要与用法: whatis grep #便可查到grep的用法 3.怎样一页一页地查看一个大文件的内 ...
- 在CENTOS上源码搭建LNMP环境
前言 1.操作前提: CentOS Linux release 7.5.1804: sudo用户(需要root权限): 2.需要安装的组件: nginx稳定版:nginx-1.14.0: MariaD ...
- iOS Button添加阴影 和 圆角
用iamgeview 加手势代替 self.headimageview = [[UIImageView alloc] initWithFrame:CGRectMake(IPHONEWIDTH(13), ...
- Bugku 杂项 眼见非实
把文件放进Kali中可以看到这是一个zip文件,解压后得到一个docx,继续翻 (在windows中是打不开的 在word/document.xml中可以找到flag
- JS自定义表单提交处理方案
JS自定义数据提交处理方案 问题 在Ajax技术流行的今天,我遇到了一个很头疼的问题,我需要维护一个前人开发的问题单模块功能,并且不停的迭代开发,而这个问题就是问题单字段特别多,而且除了更新问题单外, ...
- Android 6.0以上动态获取权限
首先在清单文件中注册 然后在MainActivity.java中将权限封装到一个String数组中 static final String[] PERMISSION = new String[]{ M ...
- 配置ssh免密登录服务器
当前服务器环境为ubantu 14.04 一.本地 ①生成id_rsa id_rsa.pub ssh-keygen -t rsa -C "xxxxx@xxxxx.com" ss ...
- 洛谷P4155 BZOJP4444 [SCOI2015]国旗计划
自己做出来的第一道倍增(fake) 原题链接 看到题目,贪心水题!不仅思维难度低,代码也好(难)写,三下五除二就写了出来,过了样例.但是一交,只有40pts.一道紫题能让我快速水40pts,良心出题人 ...
- 百度在职 iOS 架构师的成长笔记,送给还在迷茫的你!
前言 我们经常在网上会看到这样的文章,你的同龄人正在如何如何.......这是典型的贩卖焦虑的文章.的确,现阶段,刚毕业几年的年轻人,面临车,房子等,有时候压力挺大的. 但你过度焦虑的话,每天生活在恐 ...
- SQL server 统计数据库表数量和列出所有表名称
统计表数量 SELECT count(*) FROM sys.objects WHERE type='U' 列出表名称 SELECT NAME FROM sys.objects WHERE typ ...