最近在维护一个基于clickonce技术的老项目,这个项目分别有测试环境和生产环境。在维护的过程中发现:在测试环境和生产环境下载的安装包,安装的时候都会覆盖掉之前所安装的其他环境的客户端。而需求却是,测试客户端和生产客户端能同时存在。这就需要了解一下clickonce的版本更新机制。

clickonce每次发布都会生成一个新的版本号,而如果项目的发布设置中设置了自动更新,那么每次启动应用程序或者从服务器上下载安装包安装的时候,都会执行步骤:

(1)将服务器上的.application文件中的版本号与本地的版本号进行比对,如果服务器上的版本号高于本地的版本号,则进入第二步,否则不做操作;

(2)比对服务器和本地的Application Files文件夹中的.manifest文件,此文件存储的是项目的程序集清单。将未发生更改的程序集复制一份到新版本的Application Files中,同时将需要更新的程序集更新。同时保留老版本的文件,以用于可能的版本回退。

基于以上的了解,如果要解决版本同时存在的问题,我们只需要保证发布的文件中.application文件和.manifest文件的名称与本地的名称不一致就可以了。而这就只需要将这个项目名更改就可以了。当然,为了防止其他问题,还需要将“项目属性——>应用程序”中的程序集名称更改为新的项目名;同时将“项目属性——>发布——>更新——>说明”中的产品名称修改。

.net clickonce版本覆盖问题相关推荐

  1. clickonce 部署能cs程序_c# – 如何同时部署两个ClickOnce版本?

    我想有能力为我的应用程序有一个测试ClickOnce服务器,用户可以并行运行生产版本和测试版本.这可能吗? 我首先尝试在AssemblyInfo.cs中使用以下,并更改ClickOnce部署中的名称, ...

  2. ceph-deploy mod add_GTA5 1.50NPC自杀 MOD [支持1.411.50版本] 覆盖版【5.19MB】

    (点击左上方蓝色字体加关注,新人专区惊喜等着您-) GTA5 1.50NPC自杀 MOD [支持1.41&1.50版本] 覆盖版[5.19MB] 安装说明:把"GTA5 NPC自杀 ...

  3. Vue-CLI3.x 高版本覆盖低版本Vue-CLI2.x 解决方法

    Vue-CLI3.x 高版本覆盖低版本Vue-CLI2.x 解决方法 参考文章: (1)Vue-CLI3.x 高版本覆盖低版本Vue-CLI2.x 解决方法 (2)https://www.cnblog ...

  4. WPS编辑时不小心被云端版本覆盖恢复方法

    编辑了三天的文件,提示我改文件云端有版本,是否恢复. 咯噔一下,一招回到解放前,五十多页的文件变成7页了.整个人彻底蒙圈了.怎么办怎么办.打电话问客服,客服神仙式回答. 客服:"先生WPS是 ...

  5. TCP协议中报文详解

    TCP协议中报文SYN.ACK.FIN.RST.PSH.URG详解 1. SYN:同步连接序号,TCP SYN报文就是把这个标志设置为1,来请求建立连接: 2. ACK:请求/应答状态.0为请求,1为 ...

  6. abaqus对应python版本_Python:用不同版本的numpy覆盖从Abaqus导入numpy

    我运行的Abaqus有一个预安装的库(numpy),它的版本是1.6.2这是唯一一个作为Abaqus的"插件"存在的预装模块(而不是本机Abaqus CAE库).在 我希望能够运行 ...

  7. 覆盖安装Play Store版本的国产App

    前言 对于Android平台,如果在国内应用商店安装诸如微信.支付宝等国产大型App,相比去Google Play Store安装,会多要不少权限,即便权限无差异,在隐私政策等规则方面,Play St ...

  8. Git 高频命令、版本回退、分支操作、文件修改删除、撤销、标签、远程仓库推送、拉取

    1. 高频命令 git add 将工作文件修改提交到本地暂存区. git add . 将所有修改过的工作文件提交暂存区(常用). git commit -m "XXX" 为本次修改 ...

  9. oracle 2018 版本,Oracle 最新版本变化 转帖

    版本更迭 http://www.sohu.com/a/163264045_505827 Oracle Database的下一个版本将是 Oracle 18. 目的 为了更快的.通过每年的版本发布将新特 ...

最新文章

  1. (转)失败和拒绝,也是一种肯定
  2. 社会工程学到底有多可怕
  3. linux 终端提示符
  4. 鸿蒙系统画饼,任正非说在三年内华为鸿蒙系统即可媲美苹果!真的不是“画饼”?...
  5. MySQL索引类型 btree索引和hash索引的区别
  6. 95-080-048-源码-启动-启动standalonesession
  7. nuxt解决首屏加载慢问题_Nuxt.js超过Vue.js:你什么时候应该使用它,为什么
  8. python统计表中单词及其出现的次数 字典形式输出_统计字符串中字母出现的次数,字典形式输出(python)...
  9. softmax回归的从零开始实现-09-p4
  10. 关于在CLASSWIZARD中找不到工作区间中的类的解决方法
  11. Git-Git库管理
  12. iOS开发之权限判断(这里只说相册的权限判断status一直是PHAuthorizationStatusNotDetermined问题)
  13. python - - 函数 - - 递归函数
  14. 华为荣耀magic是鸿蒙系统,华为的magic系统是独立的系统吗?
  15. 深入探究 null 和 undefined 区别
  16. 修真院教学模式四大体系之职业素养
  17. 什么无线耳机音质最好,无线耳机品牌排行榜
  18. Oracle查询表空间
  19. 推荐一波 Linux 网络工具
  20. The Coder Vol.1: 向上生长

热门文章

  1. 莫名其妙的电话修改后,变为 2147483647
  2. elementui动态table表格抖动,表格样式错乱
  3. 团队管理之—— 稳定性(一):如何应对事故并做好复盘?
  4. 把NT“赶尽杀绝”攻击NT的一些技术(转)
  5. 计算机专业问答题,计算机专业测试题
  6. Python异步编程实战入门:从概念到实战
  7. 大奖赛现场统计:某大奖赛有n个选手参赛,m个评委为依次参赛的选手评判打分
  8. 软件操作界面超过屏幕显示的解决方案
  9. 人工智能(Artificial Intelligence)
  10. JavaScript实现tab效果图