C# Window编程随记——ClickOnce程序部署
- 什么是ClickOnce?
- ClickOnce的使用
ClickOnce 是一种部署技术,使用该技术可创建自行更新的基于 Windows 的应用程序,这些应用程序能够通过最低程度的用户交互来安装和执行。
Windows Installer 部署时,应用程序通常依赖于共享组件,这便有可能发生版本号冲突。而使用 ClickOnce 部署时,每一个应用程序都是独立的,不会干扰其它应用程序。
Installer 部署要求管理员权限而且仅仅同意受限制的用户安装。而 ClickOnce 部署同意非管理用户安装应用程序并仅授予应用程序所须要的那些代码訪问安全权限。
我们知道ClickOnce是一种部署技术,部署实际上就是我们所说的安装。所以我们能够说ClickOnce应用程序就是一类安装包装,它能够一步到位进行安装,而不像我们所使用的传统安装包那样,要N个"下一步",然后才是完毕。
接下来我们先尝试公布一个Windows Forms应用程序。用我们之前制作的导表工具为例:
打开"解决方式资源管理器",在项目节点上右击展开菜单,并选中【属性】打开属性窗体:
在属性窗体中切换至【公布】窗体,我们能够看到两个公布位置:本地目录和IIS上的Webserver地址,当然也能够是FTP地址。
我们先尝试本地目录公布方式:
直接在第一栏中填写一个目录地址,如:“D:\Unity3D\C#\Window Forms Applications”。
增加想仅仅公布到server上。仅仅需在第二栏中填入serverUrl地址,当两栏都填写的话。则会公布到server的同一时候在本地备份一份。然后,我们须要设置安装模式,分为两种。一般选择第二项:
接下来,我们開始设置更新的參数,增加公布的为终于版并不再更新能够不设置此选项。但普通情况下都须要设置为了后期的改动更新:
设置完成后。我们開始设置版本,为了方便,我们直接勾选自己主动递增选项:
部署过程中可在VS的输出窗体查看信息打印,部署顺利完毕的输出为“公布成功”:
我们能够尝试安装刚刚公布的样例程序,找到设置的本地文件夹文件夹。能够看到生成的安装文件。点击.application或者setup.exe文件都能进行安装。
C# Window编程随记——ClickOnce程序部署的更多相关文章
- 实验十五 GUI编程练习与应用程序部署
实验十五 GUI编程练习与应用程序部署 实验时间 2018-12-6 一:理论部分 1.Java 程序的打包:编译完成后,程序员将.class 文件压缩打包为 .jar 文件后,GUI 界面序就可以 ...
- C#高级编程9 第18章 部署
C#高级编程9 第18章 部署 使用 XCopy 进行部署 本主题演示如何通过将应用程序文件从一台计算机复制到另一台计算机来部署应用程序. 1.将项目中生成的程序集复制到目标计算机,生成的程序集位于项 ...
- IIS安装与MVC程序部署
最近在做访客系统,虽然说不是什么多大的项目,但麻雀虽小五脏俱全,使用EF Code First+Mysql+Frozenui响应式布局,感觉通过这个项目学到好多东西,Mysql的使用.EF映射Mysq ...
- ClickOnce的部署(.appref-ms)在软件限制策略中的解决方案
为了防止百度.360以及一些小厂商在妈妈的电脑里乱安装各种程序,在域中开启了软件限制策略. 今天在用Github的Windows客户端时发现由于软件限制策略无法运行. Github在Windows中采 ...
- winform/wpf 程序部署
(1):一些发布方式 ClickOnce是什么玩意儿,这个问题嘛,在21世纪的互联网严重发达的时代,估计也没有必要大费奏章去介绍了,弄不好的话,还有抄袭之嫌.因此,有关ClickOnce的介绍,各位朋 ...
- Socket编程指南及示例程序(转)
1 前言 在一些常用的编程技术中,Socket网络编程可以说是最简单的一种.而且Socket编程需要的基础知识很少,适合初学者学习网络编程.目前支持网络传输的技术.语言和工具繁多,但是 ...
- 将 Django 应用程序部署到生产服务器
原文出自: http://www.ibm.com/developerworks/cn/opensource/os-django/ 比较有启发性质的一篇文章,会避免很多弯路 Django 是一个基于 P ...
- 学习ASP.NET Core(11)-解决跨域问题与程序部署
上一篇我们介绍了系统日志与测试相关的内容并添加了相关的功能:本章我们将介绍跨域与程序部署相关的内容 一.跨域 1.跨域的概念 1.什么是跨域? 一个请求的URL由协议,域名,端口号组成,以百度的htt ...
- .net程序部署(mono方式)
某一次 我同事用了这个词 ,说这样才显得够专业 擦.把某某项目 部署到服务器上 .擦 不就是拷个文件过去运行么.月亮 还是绵羊 我搞不清楚了 咱英文不好,绵羊叫的声音?.你就叫我山寨程序猿 随意 一 ...
随机推荐
- C++异常安全的赋值运算符重载 【微软面试100题 第五十五题】
题目要求: 类CMyString的声明如下: class CMyString { public: CMyString(char *pData=NULL); CMyString(const CMyStr ...
- 【转】基于 Apache 在本地配置多个虚拟主机
如何使用 Apache 在本地配置出多个虚拟主机呢?而且使用不同的“域名”来访问本地不同的站点呢? 一般情况下,咱们都使用 localhost 来访问本机上的服务器,在我们的 C:/WINDOWS/s ...
- ranorex前一步的操作结果后一步如何调用
if (!TestSuite.Current.Parameters.ContainsKey("Password"))TestSuite.Current.Parameters.Ad ...
- day04_06 短路原则
True和False不能写成ture和false,不然会报错 not not True or False and not True 按照not>and>or来进行括号 (not (not ...
- linux随笔二
1.查看整个文件 cat mongo.sh 查看脚本文件的内容:mongo 172.60.0.203:27017/che001 -uplatform -pplatform cat -n **,查 ...
- [python][oldboy][dict] 遍历字典
# coding=utf8 dict_info = {"abc": 1, 1: "liuzhipeng"} for k, v in dict_info.item ...
- MFC拾遗
c++处理文件,对txt进行处理,学了那么久才发现我还不会这些操作,另外c++处理文本真是快得可怕啊 #include <iostream> #include <fstream> ...
- 机器学习实战之AdaBoost算法
一,引言 前面几章的介绍了几种分类算法,当然各有优缺.如果将这些不同的分类器组合起来,就构成了我们今天要介绍的集成方法或者说元算法.集成方法有多种形式:可以使多种算法的集成,也可以是一种算法在不同设置 ...
- JAVA接口与抽象类区别
接口 1.接口可以继承多个接口,extends 接口1,接口2,接口3 2.接口的成员变量默认是public static abstract,必须初始化的: 3.接口只能有抽象方法,继承接口的类必须实 ...
- POJ——1195Mobile phones(二维树状数组点修改矩阵查询)
Mobile phones Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 17764 Accepted: 8213 De ...