最近老板出差,总结下VS下WPF项目的ClickOnce发布,这套流程感觉简捷明了,对于非大型项目还是比较实用,跟installshield,WixToolSet比起来很暴力。
下面用一个WPF项目为例,通过IIS Express暴力部署:
1、选择主项目签名,并将测试证书安装到测试机
2、上传打包文件,可以上传至指定路径或者FTP站点,这里上传指定路径,然后选择IIS网点地址
在“安装模式和设置”中可以设置系统必要库,更新策略等,选择“选项”-“部署”,生成部署网页
ClickOnce也提供了更新API,可手动异步更新
 private void OnUpdate(object sender, RoutedEventArgs e){if (ApplicationDeployment.IsNetworkDeployed){ApplicationDeployment.CurrentDeployment.CheckForUpdateCompleted +=(sender1, e1) =>{if (e1.UpdateAvailable){ApplicationDeployment.CurrentDeployment.UpdateCompleted +=(sender2, e2) =>{MessageBox.Show("Update completed");};ApplicationDeployment.CurrentDeployment.UpdateAsync();}else{MessageBox.Show("No update available");}};ApplicationDeployment.CurrentDeployment.CheckForUpdateAsync();}}

3、然后无脑部署,选择“发布向导”,发布,完成后输出中提示网页无法访问,然后稍微配置下IIS Express


4、以管理员身份进入C:\Users\<account>\Documents\IISExpress\config,配置applicationhost.config,新增一个site节点,跟发布的信息对齐
5、重启iis express,以管理员身份启动,看到站点已被注册,访问发布网址

ClickOnce部署提供下载,安装时默认安装到系统程序缓冲区,不提供自定义路径,一般在appdata/local/里面,安装时也没有权限检测,不同组的用户看到的路径可能不同。

ClickOnce测试发布简述相关推荐

  1. WPF以Clickonce方式发布后使用管理员身份运行

    WPF的程序,在发布时采用的Clickonce方式发布,Win7的用户安装完成之后,发现执行某些操作的时候会导致程序异常.在排查后发现,是权限问题导致.如图: 是执行File.Move时引发的异常:对 ...

  2. 疯子网页采集器之测试发布教程

    疯子网页采集器之测试发布教程第一步: 先登录,如果没有设置发帖需要登录这步可以省略填写发帖页面 http://localhost/forum.php?mod=post&action=newth ...

  3. Html怎么做灰度测试,【转载】灰度测试发布方案如何具体实现

    发布是宣传的有效途径,企业可以通过有效的发布实现企业文化.产品的宣传,让更多的客户了解自己.灰度发布方案就很适合企业的宣传,因为它可以第一时间有效的获得用户的反馈意见,及时对产品进行一个有效的提升.相 ...

  4. 3dmark压力测试 linux,3DMark压力测试发布:彻底榨干你电脑!

    3DMark是性能测试工具,不过根据官方数据,也有超过2/3的玩家用它来检验系统超频稳定性,超过一半的用它测试散热能力. 今天,Futuremark专门发布了3DMark Stress Tests压力 ...

  5. 测试发布,无图版~《Windows Phone 7.5本质论》第一章

    1 Windows Phone介绍 对一些人来说,手机是烦人的必须品;但对于其他人来说,手机却是不可或缺的.能够用手机随处拨打电话真的改变了人们的沟通方式.在过去的几年中,这些手机又有了新的飞跃.随着 ...

  6. ClickOnce项目发布报错:Unable to install or run the application... requires stdole.ll ...in the GAC

    当使用ClickOnce对项目进行发布的时候,我们可能会遇到如下报错: Unable to install or run the application. The application requir ...

  7. Unity测试发布iOS

    当没有苹果开发者账号或者开发阶段发布测试版本时不需要开发者账号可发布Ios包 首先,要进行苹果的打包与测试,我们首先需要准备一些东西:Mac电脑一台,或者Mac系统并且安装了XCode 然后你需要有一 ...

  8. 【测试】简述几个测试工具的特点和功能

    Jmeter Apache JMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域. 它可以用于测试静态和动态资 ...

  9. 一些后端开发术语(设计/开发/通信/故障/监控/服务治理/测试/发布部署/环境/CI/CD)

    工欲善其事,必先利其器:士欲宣其义,必先读其书. 一. 系统开发 1.1 高内聚/低耦合 高内聚指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则.模块的内聚反映模块内部 ...

最新文章

  1. 记一次数据中心云平台系统项目实施
  2. T-SQL: 17 个与日期时间相关的自定义函数(UDF),周日作为周的最后一天,均不受 @@DateFirst、语言版本影响...
  3. 网络:窗口控制下的重发机制、流量控制
  4. 专题目录20211013-ongoing
  5. HDR:为用户打造的视觉盛宴
  6. echarts图表的内边距_echarts——各个配置项详细说明总结
  7. es6 Promise.race()方法
  8. IDEA本地运行Spark项目[演示自定义分区器]并查看HDFS结果文件
  9. 10 个功能独特且饱受好评的开源人工智能项目
  10. 汇编语言程序设计的实验环境及上机步骤
  11. PC装MAC OS 10.6雪豹系统教程
  12. MySQL数据表字段繁体转简体
  13. java中的this是什么意思
  14. 【CVE】CVE-2015-5254:ActiveMQ 反序列化漏洞利用
  15. U盘在windows电脑中毒,插入Macbook变成exe文件
  16. python多线程处理数据并获得子线程返回值
  17. 基于Snort的入侵检测系统
  18. 高质量的原创对于搜索引擎来说是非常的友好的
  19. ES5ES6 day16
  20. zucc 可视化 大作业

热门文章

  1. 第13期:动态规划-dp题集
  2. python操作句柄_关于文件句柄的详细介绍
  3. 区块链北大肖老师学习笔记4
  4. Kafka使用SASL_PLAINTEXT实现简易的用户认证及权限
  5. 4年手工测试,下一步转测试开发还是自动化测试?
  6. 基于MFC实现分栏Splitter
  7. nodeJS爬虫框架puppeteer初识
  8. 计算机程序设计员英语单词,英文简历:应聘计算机程序设计员
  9. 前端复盘: knockout + require + director 构建单页面程序
  10. SOLIDWORKS 钣金成型工具常见问题