关于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应用程序。用我们之前制作的导表工具为例:
首先打开我们的项目project:
 
      打开"解决方式资源管理器",在项目节点上右击展开菜单,并选中【属性】打开属性窗体:
 
     在属性窗体中切换至【公布】窗体,我们能够看到两个公布位置:本地目录和IIS上的Webserver地址,当然也能够是FTP地址。

我们先尝试本地目录公布方式:

 
      
 
      直接在第一栏中填写一个目录地址,如:“D:\Unity3D\C#\Window Forms Applications”。

增加想仅仅公布到server上。仅仅需在第二栏中填入serverUrl地址,当两栏都填写的话。则会公布到server的同一时候在本地备份一份。然后,我们须要设置安装模式,分为两种。一般选择第二项:

 
      
 
      接下来,我们開始设置更新的參数,增加公布的为终于版并不再更新能够不设置此选项。但普通情况下都须要设置为了后期的改动更新:
 
      
 
      设置完成后。我们開始设置版本,为了方便,我们直接勾选自己主动递增选项:
 
      
全部參数都设置完毕之后。我们就能够点击“公布向导”,在向导里面我们能够再次改动刚刚设置过的一些參数,比如公布位置、更新IISserver地址以及是否联机状态下才干使用,假设无需改动则一直点击“下一步”就可以,引导完毕后点击完毕button,開始生成部署文件:
 
      
 
      部署过程中可在VS的输出窗体查看信息打印,部署顺利完毕的输出为“公布成功”:
 
      
 
      我们能够尝试安装刚刚公布的样例程序,找到设置的本地文件夹文件夹。能够看到生成的安装文件。点击.application或者setup.exe文件都能进行安装。
 
      

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

  1. 实验十五 GUI编程练习与应用程序部署

    实验十五  GUI编程练习与应用程序部署 实验时间 2018-12-6 一:理论部分 1.Java 程序的打包:编译完成后,程序员将.class 文件压缩打包为 .jar 文件后,GUI 界面序就可以 ...

  2. C#高级编程9 第18章 部署

    C#高级编程9 第18章 部署 使用 XCopy 进行部署 本主题演示如何通过将应用程序文件从一台计算机复制到另一台计算机来部署应用程序. 1.将项目中生成的程序集复制到目标计算机,生成的程序集位于项 ...

  3. IIS安装与MVC程序部署

    最近在做访客系统,虽然说不是什么多大的项目,但麻雀虽小五脏俱全,使用EF Code First+Mysql+Frozenui响应式布局,感觉通过这个项目学到好多东西,Mysql的使用.EF映射Mysq ...

  4. ClickOnce的部署(.appref-ms)在软件限制策略中的解决方案

    为了防止百度.360以及一些小厂商在妈妈的电脑里乱安装各种程序,在域中开启了软件限制策略. 今天在用Github的Windows客户端时发现由于软件限制策略无法运行. Github在Windows中采 ...

  5. winform/wpf 程序部署

    (1):一些发布方式 ClickOnce是什么玩意儿,这个问题嘛,在21世纪的互联网严重发达的时代,估计也没有必要大费奏章去介绍了,弄不好的话,还有抄袭之嫌.因此,有关ClickOnce的介绍,各位朋 ...

  6. Socket编程指南及示例程序(转)

    1         前言 在一些常用的编程技术中,Socket网络编程可以说是最简单的一种.而且Socket编程需要的基础知识很少,适合初学者学习网络编程.目前支持网络传输的技术.语言和工具繁多,但是 ...

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

    原文出自: http://www.ibm.com/developerworks/cn/opensource/os-django/ 比较有启发性质的一篇文章,会避免很多弯路 Django 是一个基于 P ...

  8. 学习ASP.NET Core(11)-解决跨域问题与程序部署

    上一篇我们介绍了系统日志与测试相关的内容并添加了相关的功能:本章我们将介绍跨域与程序部署相关的内容 一.跨域 1.跨域的概念 1.什么是跨域? 一个请求的URL由协议,域名,端口号组成,以百度的htt ...

  9. .net程序部署(mono方式)

    某一次 我同事用了这个词 ,说这样才显得够专业 擦.把某某项目 部署到服务器上 .擦 不就是拷个文件过去运行么.月亮 还是绵羊  我搞不清楚了 咱英文不好,绵羊叫的声音?.你就叫我山寨程序猿 随意 一 ...

随机推荐

  1. oracle游标遍历

    --创建存储过程 CREATE OR REPLACE PROCEDURE xxxxxxxxxxx_p (--参数IN表示输入参数,OUT表示输入参数,类型可以使用任意Oracle中的合法类型. is_ ...

  2. Python学习笔记——jupyter notebook 入门和中文pdf输出方案

    简单粗暴的安装 对于懒人而言,我还是喜欢直接安装python的集成开发环境 anaconda 多个内核控制 jupyter官网 1). 同时支持python2 和python 3 conda crea ...

  3. String、StringBuffer和StringBuilder,定义一个自己的StringBuilder的类

    String Java中的字符串值属于String类,虽然有其它方法表示字符串(如字符数组),但Java一般使用String类作为字符串的标准格式,Java编译器把字符串值作为String对象; St ...

  4. ubuntu服务器与本地文件传输

    ubuntu SSH 连接.远程上传下载文件 博客分类: Ubuntu   安装 SSH(Secure Shell) 服务以提供远程管理服务 sudo apt-get install ssh SSH ...

  5. HDU——1405The Last Practice(试手map)

    The Last Practice Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  6. 模拟tap事件和longTap事件

    移动端模拟tap和longTap事件,基本原理就是在touchstart和touchend事件中,计算触摸的位移和时间差,位移在一定范围内(轻微滑动),时间小于150ms为tap事件,时间大于300m ...

  7. 刷题总结——coneology(poj2932 扫描线)

    题目: Description A student named Round Square loved to play with cones. He would arrange cones with d ...

  8. bzoj 3779 重组病毒 好题 LCT+dfn序+线段树分类讨论

    题目大意 1.将x到当前根路径上的所有点染成一种新的颜色: 2.将x到当前根路径上的所有点染成一种新的颜色,并且把这个点设为新的根: 3.查询以x为根的子树中所有点权值的平均值. 分析 原题codec ...

  9. 【CF675C】Money Transfers(离散化,贪心)

    http://www.cnblogs.com/chengsheng/p/5535316.html 题目大意:给你n个银行中的存款(负值表示借贷),是成环的,1跟n相接,这n个数的和为0.可以从i向i的 ...

  10. es6总结(十一)--class & decorator