C# Window编程随记——ClickOnce程序部署

关于ClickOnce我们要说的主要有一下两点:

  1. 什么是ClickOnce?
  2. ClickOnce的使用

一、什么是ClickOnce(来自百度

ClickOnce 是一种部署技术,使用该技术可创建自行更新的基于 Windows 的应用程序,这些应用程序可以通过最低程度的用户交互来安装和运行。

使用ClickOnce部署有什么优势:

1.更新方便:使用Microsoft Windows Installer部署的话,每次程序更新用户都要重新安装整个程序,而使用ClickOnce部署的话,则可以自动提供更新。只有更改过的应用程序部分才会被下载,然后从新的并行文件夹重新安装完整的、更新后的应用程序。

2.对计算机安全:使用
Windows Installer 部署时,应用程序通常依赖于共享组件,这便有可能发生版本冲突;而使用 ClickOnce 部署时,每个应用程序都是独立的,不会干扰其他应用程序。

3.权限安全:Windows
Installer 部署要求管理员权限并且只允许受限制的用户安装;而 ClickOnce 部署允许非管理用户安装应用程序并仅授予应用程序所需要的那些代码访问安全权限。

二、ClickOnce的使用

 
     
我们知道ClickOnce是一种部署技术,部署实际上就是我们所说的安装,所以我们可以说ClickOnce应用程序就是一类安装包装,它可以一步到位进行安装,而不像我们所使用的传统安装包那样,要N个"下一步",然后才是完成。

接下来我们先尝试发布一个Windows Forms应用程序,用我们之前制作的导表工具为例:

首先打开我们的项目工程:

打开"解决方案资源管理器",在项目节点上右击展开菜单,并选中【属性】打开属性窗口:

在属性窗口中切换至【发布】窗口,我们可以看到两个发布位置:本地文件夹和IIS上的Web服务器地址,当然也可以是FTP地址。我们先尝试本地文件夹发布方式:

直接在第一栏中填写一个文件夹地址,如:“D:\Unity3D\C#\Window Forms Applications”。加入想只发布到服务器上,只需在第二栏中填入服务器Url地址,当两栏都填写的话,则会发布到服务器的同时在本地备份一份。然后,我们需要设置安装模式,分为两种,一般选择第二项:

接下来,我们开始设置更新的参数,加入发布的为最终版并不再更新可以不设置此选项,但一般情况下都需要设置为了后期的修改更新:

设置完毕后,我们开始设置版本号,为了方便,我们直接勾选自动递增选项:

所有参数都设置完毕之后,我们就可以点击“发布向导”,在向导里面我们可以再次修改刚刚设置过的一些参数,例如发布位置、更新IIS服务器地址以及是否联机状态下才能使用,如果无需修改则一直点击“下一步”即可,引导完成后点击完成按钮,开始生成部署文件:

部署过程中可在VS的输出窗口查看打印信息,部署顺利完成的输出为“发布成功”:

我们可以尝试安装刚刚发布的例子程序,找到设置的本地文件夹目录,可以看到生成的安装文件,点击.application或者setup.exe文件都能进行安装。

时间: 2024-10-25 07:37:50

C# Window编程随记——ClickOnce程序部署的相关文章

Window Server 2008 R2 上安装部署 Exchange 2010

最近先来无事,捣鼓捣鼓 Exchange Server 2010 服务的安装和调试. 一,事先规划: 两台服务器,一台域DC ,一台做 Exchange Server: Exchange 2010 此处将所有功能安装在一台机器上. DC                             Exchange Window Server 2008 R2           Window Server 2008 R2 IP  :10.0.0.100                 IP   :10

Windows Socket编程示例-TCP示例程序

前面一部分是介绍,后面有示例 1.网络中进程之间如何通信? 首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的.其实TCP/IP协议族已经帮我们解决了这个问题,网络层的"ip地址"可以唯一标识网络中的主机,而传输层的"协议+端口"可以唯一标识主机中的应用程序(进程).这样利用三元组(ip地址,协议,端口)就可以标识网络的进程了,网络中的进程通信就可以利用这个标志与其它进程进行交互. 使用TCP

IIS安装与MVC程序部署

最近在做访客系统,虽然说不是什么多大的项目,但麻雀虽小五脏俱全,使用EF Code First+Mysql+Frozenui响应式布局,感觉通过这个项目学到好多东西,Mysql的使用.EF映射Mysql.相遇式布局,今天上午发了一个版本,没想到有些地方需要改动,改动还不小,于是下午打起十二分的精神改,终于在下午快下班的时候改完了.改完之后要部署,说实话虽然做.Net也做这么久了,可我还没部署过,第一个版本上线的时候还是找同桌解决的,可是这个部署自己始终要学要会的,于是就自己百度试在自己电脑上试了

将 Django 应用程序部署到生产服务器

原文出自: http://www.ibm.com/developerworks/cn/opensource/os-django/ 比较有启发性质的一篇文章,会避免很多弯路 Django 是一个基于 Python 的开源 Web 应用程序框架,其目的是使创建数据库驱动的 Web 站点和 Web 应用程序更加容易.开发 Django 应用程序很简单,因为该框架包含了一个开发 Web 服务器.但是这个框架不适合在生产环境中使用,因此需要进一步将 Django 应用程序部署到 Web.在本文中,您将了解

winform/wpf 程序部署

(1):一些发布方式 ClickOnce是什么玩意儿,这个问题嘛,在21世纪的互联网严重发达的时代,估计也没有必要大费奏章去介绍了,弄不好的话,还有抄袭之嫌.因此,有关ClickOnce的介绍,各位朋友可以直接查找MSDN文档,或者看下面这里,这是百度百科上的,其实也是Ctrl + C版本.http://baike.baidu.com/view/1390498.htm 如果你对这些理论的东西不感兴趣,没关系,上面所提及的内容你完全可以无视之.我们只要知道,ClickOnce是一种应用程序部署方式

有人认为“中文编程”是解决中国程序员编程效率的秘密武器,请问它是一个“银弹”么?

有人认为“中文编程”是解决中国程序员编程效率的秘密武器,请问它是一个“银弹”么?首先,百度给出“银弹”是这样的解释:能杀死狼人的利器 在古老的传说里.狼人是不死的.想要杀死狼人有几种方法: 1.像杀死吸血鬼那样用木桩钉住狼人的心脏. 2.将月光遮住 3.用银子做的子弹射穿狼人的心脏或头 当然现实中是没有狼人的.但现实中确实有银弹这个东西.而其意义也类似于能杀死狼人的最好办法.现实中的狼人可以是一个棘手的项目,或者一件不可能的事.而“银弹”就是指能解决这些事的方法,或者技术手段. 我不认中文编程是

2.有人认为,“中文编程”是解决中国程序员编程效率的秘密武器,请问它是一个“银弹”么?

银色子弹(英文:Silver Bullet),或者称“银弹”“银质子弹”,指由纯银质或镀银的子弹.在欧洲民间传说及19世纪以来哥特小说风潮的影响下,银色子弹往往被描绘成具有驱魔功效的武器,是针对狼人等超自然怪物的特效武器.后来银色子弹常被用做致命武器的代言词.被比喻为具有极端有效性的解决方法,作为杀手锏[1]  .最强杀招.王牌等的代称. IBM大型机之父佛瑞德·布鲁克斯(Frederick P. Brooks, Jr.)在1986年发表的一篇关于软件工程的经典论文,便以<没有银弹:软件工程的本

Windows编程 - 开启/关闭/遍历程序的类 代码(C++)

开启/关闭/遍历程序的类 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 类包含4个函数, 启动程序, 遍历所有进程, 关闭程序, 遍历进程依赖的动态链接库. 示例: Image.exe是预先生成的可执行程序(exe), 启动程序, 间隔5秒, 关闭程序. 使用方法参加测试程序. 代码: /* * process.h * * Created on: 2014.06.08 * Author: Spike */ /*vs 2012*/ #ifnde

浅谈mapreduce程序部署

尽管我们在虚拟机client上能非常快通过shell命令,进行运行一些已经封装好实例程序,可是在应用中还是是自己敲代码,然后部署到server中去,以下,我通过程序进行浅谈一个程序的部署过程. 在启动Hadoop之后,然后把程序达成可运行的jar包,并把对应的第三方jar包 包括进去.运行hadoop    jar   XXX. +驱动名称. package com.mapred; import java.io.IOException; import java.io.PrintStream; i