关于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. Spring-Boot自定义Starter实践

    此文已由作者王慎为授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. disconf-spring-boot-starter 使用方法: 引入maven依赖: <depen ...

  2. 转:模式窗口showModalDialog的用法总结

    模式窗口showModalDialog的用法总结   最近几天一直在处理模式窗口的问题,索性写了这篇总结,以供参考: 1.打开窗口:var handle = window.showModalDialo ...

  3. RHEL6.X设置163yum源

    目录 RHEL6.X设置163yum源 卸载系统的yum 检查是否已经卸载完成 下载yum以及相关包 安装yum相关rpm包 清除原有缓存,建立yum列表 本地yum源设置 挂载本地光盘 修改配置文件 ...

  4. logging——日志

    导读 很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,log ...

  5. C语言变量长度在32位和64位处理器上的关系

    C语言变量长度在32位和64位处理器上的关系       理论上来讲 我觉得数据类型的字节数应该是由CPU决定的,但是实际上主要由编译器决定(占多少位由编译器在编译期间说了算).常用数据类型对应字节数 ...

  6. ssh 远程执行绝对路径命令mysqld_multi 报my_print_defaults不存在

    通过SSH直接执行远程命令(这种方式会使用Bash的non-interactive + non-login shell模式)找不到命令参考:http://ghoulich.xninja.org/201 ...

  7. Docker Caffe部署

    Caffe是一个清晰而高效的深度学习框架,纯粹的C++/CUDA架构,支持命令行.Python和MATLAB接口:可以在CPU和GPU直接无缝切换 Caffe的优势 上手快:模型与相应优化都是以文本形 ...

  8. 【Luogu】P3786萃香抱西瓜(状压DP)

    题目链接 水题,数据范围提示得太明显了吧,不用动脑子都能知道是状压. 不过还是有坑(当然更可能是我脑子有坑) f[i][j][k][l]表示当前是第i秒,萃香在(j,k),已经抱到的西瓜状态是l的最少 ...

  9. ACM程序设计选修课——1018: Common Subsequence(DP)

    问题 L: Common Subsequence 时间限制: 1 Sec  内存限制: 32 MB 提交: 70  解决: 40 [提交][状态][讨论版] 题目描述 A subsequence of ...

  10. testng依赖

    Testng提供了两种依赖实现 1.强制依赖:某个测试用例之前需要执行的依赖链中如果有一个失败,那么接下来所有的测试都不会被执行 2.顺序依赖(软依赖):顺序依赖的用处更多是用来检测一个测试链是否按照 ...