C# ClickOnce部署WinForm程序

时间:2022-12-09 11:12:00

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

最大的缺点:

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

较好的优点:

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

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

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

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

C# ClickOnce部署WinForm程序

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

C# ClickOnce部署WinForm程序

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

C# ClickOnce部署WinForm程序

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

C# ClickOnce部署WinForm程序

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

C# ClickOnce部署WinForm程序

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

C# ClickOnce部署WinForm程序

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

C# ClickOnce部署WinForm程序

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

C# ClickOnce部署WinForm程序

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

C# ClickOnce部署WinForm程序

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

C# ClickOnce部署WinForm程序

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

C# ClickOnce部署WinForm程序

二、部署我们的应用程序

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

C# ClickOnce部署WinForm程序

启动我们的网站:

C# ClickOnce部署WinForm程序

三、ClickOnce部署我们的程序

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

C# ClickOnce部署WinForm程序

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

C# ClickOnce部署WinForm程序C# ClickOnce部署WinForm程序

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

C# ClickOnce部署WinForm程序

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

C# ClickOnce部署WinForm程序

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

C# ClickOnce部署WinForm程序

四、升级我们的应用程序

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

C# ClickOnce部署WinForm程序C# ClickOnce部署WinForm程序

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

自此,我们的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. 迷你版jQuery——zepto核心源码分析

    前言 zepto号称迷你版jQuery,并且成为移动端dom操作库的首选 事实上zepto很多时候只是借用了jQuery的名气,保持了与其基本一致的API,其内部实现早已面目全非! 艾伦分析了jQue ...

  2. Leetcode 342 Power of Four 数论

    题意:判断一个数是不是4的幂数,和Power of two类似. 先判断num是否大于0,再判断num是否能开根号,最后判断num开根号后的数是否是2^15的约数. 提示:4的幂数开根号就是2的幂数. ...

  3. Swift中元组(Tuples),结构体(Struct),枚举(Enums)之间的区别

    Swift有许多种存储数据方式,你可以用枚举(enums),元组(tuples),结构体(structs),类(classes),在这篇文章中我们将比较枚举.元组.结构体之间区别,首先从最简单的开始- ...

  4. 在C中判断变量存储类型(字符常量/数组/动态变量)

    在C中判断变量存储类型(字符常量/数组/动态变量) 在chinaunix论坛上有人问到关于变量存府类型的问题,我觉得可以写个测试代码加深大家对内存使用和布局的理解.下面我把原问题及处理办法贴出来,限供 ...

  5. asp.net web api 控制器

    1控制器操作的参数 控制器操作的参数可以是内置类型也可以是自定义类型,无参也是允许的. 2控制器操作返回值 类型 说明 void 操作返回值为void时,Web API返回空HTTP响应,其状态码为2 ...

  6. ios 本地存储文件夹的使用注意

    文件夹 tmp 属于临时文件夹,不需要自己删除,系统会在应用退出后清空   文件夹 Library 下面的子文件 Caches 也是用来存储的,,但是Library 基本上不会被清除,但是在内存不足的 ...

  7. 深入分析Zookeeper的实现原理

    zookeeper 的由来 分布式系统的很多难题,都是由于缺少协调机制造成的.在分布式协调这块做得比较好的,有 Google 的 Chubby 以及 Apache 的 Zookeeper.Google ...

  8. JavaScript数组所有API全解密

    全文共13k+字,系统讲解了JavaScript数组的各种特性和API. 数组是一种非常重要的数据类型,它语法简单.灵活.高效. 在多数编程语言中,数组都充当着至关重要的角色,以至于很难想象没有数组的 ...

  9. 2017-2018-2 20165303 实验三《Java面向对象程序设计》实验报告

    实验三 敏捷开发与XP实践-1 实验要求 实验三 敏捷开发与XP实践 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA 参 ...

  10. 运用HTML5+CSS3和CSS滤镜做的精美的登录界面

    原始出处http://chenjinfei.blog.51cto.com/2965201/774865 <!DOCTYPE HTML> <html> <head> ...