.net clickonce版本覆盖问题
最近在维护一个基于clickonce技术的老项目,这个项目分别有测试环境和生产环境。在维护的过程中发现:在测试环境和生产环境下载的安装包,安装的时候都会覆盖掉之前所安装的其他环境的客户端。而需求却是,测试客户端和生产客户端能同时存在。这就需要了解一下clickonce的版本更新机制。
clickonce每次发布都会生成一个新的版本号,而如果项目的发布设置中设置了自动更新,那么每次启动应用程序或者从服务器上下载安装包安装的时候,都会执行步骤:
(1)将服务器上的.application文件中的版本号与本地的版本号进行比对,如果服务器上的版本号高于本地的版本号,则进入第二步,否则不做操作;
(2)比对服务器和本地的Application Files文件夹中的.manifest文件,此文件存储的是项目的程序集清单。将未发生更改的程序集复制一份到新版本的Application Files中,同时将需要更新的程序集更新。同时保留老版本的文件,以用于可能的版本回退。
基于以上的了解,如果要解决版本同时存在的问题,我们只需要保证发布的文件中.application文件和.manifest文件的名称与本地的名称不一致就可以了。而这就只需要将这个项目名更改就可以了。当然,为了防止其他问题,还需要将“项目属性——>应用程序”中的程序集名称更改为新的项目名;同时将“项目属性——>发布——>更新——>说明”中的产品名称修改。
.net clickonce版本覆盖问题相关推荐
- clickonce 部署能cs程序_c# – 如何同时部署两个ClickOnce版本?
我想有能力为我的应用程序有一个测试ClickOnce服务器,用户可以并行运行生产版本和测试版本.这可能吗? 我首先尝试在AssemblyInfo.cs中使用以下,并更改ClickOnce部署中的名称, ...
- 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自杀 ...
- Vue-CLI3.x 高版本覆盖低版本Vue-CLI2.x 解决方法
Vue-CLI3.x 高版本覆盖低版本Vue-CLI2.x 解决方法 参考文章: (1)Vue-CLI3.x 高版本覆盖低版本Vue-CLI2.x 解决方法 (2)https://www.cnblog ...
- WPS编辑时不小心被云端版本覆盖恢复方法
编辑了三天的文件,提示我改文件云端有版本,是否恢复. 咯噔一下,一招回到解放前,五十多页的文件变成7页了.整个人彻底蒙圈了.怎么办怎么办.打电话问客服,客服神仙式回答. 客服:"先生WPS是 ...
- TCP协议中报文详解
TCP协议中报文SYN.ACK.FIN.RST.PSH.URG详解 1. SYN:同步连接序号,TCP SYN报文就是把这个标志设置为1,来请求建立连接: 2. ACK:请求/应答状态.0为请求,1为 ...
- abaqus对应python版本_Python:用不同版本的numpy覆盖从Abaqus导入numpy
我运行的Abaqus有一个预安装的库(numpy),它的版本是1.6.2这是唯一一个作为Abaqus的"插件"存在的预装模块(而不是本机Abaqus CAE库).在 我希望能够运行 ...
- 覆盖安装Play Store版本的国产App
前言 对于Android平台,如果在国内应用商店安装诸如微信.支付宝等国产大型App,相比去Google Play Store安装,会多要不少权限,即便权限无差异,在隐私政策等规则方面,Play St ...
- Git 高频命令、版本回退、分支操作、文件修改删除、撤销、标签、远程仓库推送、拉取
1. 高频命令 git add 将工作文件修改提交到本地暂存区. git add . 将所有修改过的工作文件提交暂存区(常用). git commit -m "XXX" 为本次修改 ...
- oracle 2018 版本,Oracle 最新版本变化 转帖
版本更迭 http://www.sohu.com/a/163264045_505827 Oracle Database的下一个版本将是 Oracle 18. 目的 为了更快的.通过每年的版本发布将新特 ...
最新文章
- (转)失败和拒绝,也是一种肯定
- 社会工程学到底有多可怕
- linux 终端提示符
- 鸿蒙系统画饼,任正非说在三年内华为鸿蒙系统即可媲美苹果!真的不是“画饼”?...
- MySQL索引类型 btree索引和hash索引的区别
- 95-080-048-源码-启动-启动standalonesession
- nuxt解决首屏加载慢问题_Nuxt.js超过Vue.js:你什么时候应该使用它,为什么
- python统计表中单词及其出现的次数 字典形式输出_统计字符串中字母出现的次数,字典形式输出(python)...
- softmax回归的从零开始实现-09-p4
- 关于在CLASSWIZARD中找不到工作区间中的类的解决方法
- Git-Git库管理
- iOS开发之权限判断(这里只说相册的权限判断status一直是PHAuthorizationStatusNotDetermined问题)
- python - - 函数 - - 递归函数
- 华为荣耀magic是鸿蒙系统,华为的magic系统是独立的系统吗?
- 深入探究 null 和 undefined 区别
- 修真院教学模式四大体系之职业素养
- 什么无线耳机音质最好,无线耳机品牌排行榜
- Oracle查询表空间
- 推荐一波 Linux 网络工具
- The Coder Vol.1: 向上生长