通过MageUi.exe修改通过ClickOnce发布过的WPF browser application 配置文件
VS2008提供了ClickOnce功能方便开发人员发布和部署应用程序。但是,对于 WPF browser application,一旦发布后,你想去修改 app.config以改动里面的数据库连接字符串或者服务调用地址协议等,你必须修改app.config文件然后通过publish功能重新发布。 因为ClickOnce对于发布的应用程序的manifest和xbap文件都经过hash算法打上标签并签名过以保障应用程序文件的版本一致性和安全性。
但是如果我们给客户发布了应用程序,客户想修改服务地址的话,让客户自己去pulish程序是不可能的。我经过了几天摸索,发现了mageUI.exe这个工具是可以完成重新hash和签名的,只要更新版本客户端就会检索到版本更新并下载新版本。
具体做法如下:
WPF browser application 发布目录的程序结构一般是这样的:
PublishedFolder\MyApp.xbap
PublishedFolder\setup.exe
PublishedFolder\Application Files\MyApp_0_0_0_1\ MyApp.xbap
PublishedFolder\Application Files\MyApp_0_0_0_1\ MyApp.exe.manifest
PublishedFolder\Application Files\MyApp_0_0_0_1\ MyApp.exe.deploy
PublishedFolder\Application Files\MyApp_0_0_0_1\ MyApp.exe.config.deploy
PublishedFolder\Application Files\MyApp_0_0_0_1\otherDependedLib.dll.deploy
1. 首先修改PublishedFolder\Application Files\MyApp_0_0_0_1\ MyApp.exe.config.deploy, 这个可以用文本编辑器直接修改或者用WCF 的SvcConfigEditor.exe来修改;
2. 找到mageui.exe这个工具,一般位于C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin 或者C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin;
3. 修改应用程序发布目录的manifest和xbap文件
我们用mageui.exe工具来打开PublishedFolder\Application Files\MyApp_0_0_0_1\ MyApp.exe.manifest和 PublishedFolder\MyApp.xbap
因为WPF Brower Application一般是需要证书的,那我们先设置一下默认证书。 File->Reference, 选中 “Sign on save” 和 “Use default signing certificate” ,然后找到你的证书文件填充“Certificate file”
3.1 首先修改SLC.MES.exe.manifest文件,将Name->Version增加一个版本号(版本一定要变化,否则客户端不会重新下载);
3.2 保存该文件,这时候如果你的证书有密码保护,会弹出一个警告对话框,因为刚才的设置里是没有设置缺省密码的地方的。不过没关系,我们在随后弹出的对话框里填入密码即可。
3.3 然后修改发布根目录下的MyApp.xbap。注意不是PublishedFolder\Application Files\MyApp_0_0_0_1\ MyApp.xbap,虽然这2个文件完全一样,但实际起作用的是根目录下的那个。
3.4 首先同样将Name->Version增加一个版本号
3.5 然后点击“Application Reference”里的Select Manifest按钮,重新选择一下刚才的那个manifest文件
3.6 同样存盘
现在客户端IE里重新访问即可下载新版本。
转载于:https://www.cnblogs.com/cubean/archive/2009/12/31/1637001.html
通过MageUi.exe修改通过ClickOnce发布过的WPF browser application 配置文件相关推荐
- (转) 选择 NET Framework 3.5 SP1 系统必备,ClickOnce 发布提示缺少文件的解决方案
ClickOnce 发布,在系统必备中勾选了 .NET Framework 3.5 SP1,并选择了"从与我的应用程序相同的位置下载系统必备组件"时,执行发布,会提示缺少很多文件, ...
- ClickOnce发布的程序注意点
ClickOnce发布的程序,不可以使用管理员权限运行. 不可以通过修改manifest来要求管理员权限,因为这和clickonce的初衷是违背的.但是可以通过其他方式来是clickonce发布的程序 ...
- 百家号 不被推荐,原因:将旧闻冒充新闻发布,请修改后重新发布
1.情景展示 在百家号进行创作的作者,发布文章时,难免会遇到审核不通过,下面说一下其中一种情况: 不被推荐,原因:将旧闻冒充新闻发布,请修改后重新发布. 2.解决方案 出现这种情况,原因:其它平台已存 ...
- MtaEdt22.exe修改IIS连接数无效的另类解决连接数的方法
网上众多的文章都指出使用微软出品的 MtaEdt22.exe 修改, 但MtaEdt有安装不上或者修改无效的情况,记得很早就有注册表修改方法,直接修改注册表键值来实现,可基本搜索不到~ 今天找到了真正 ...
- Python打包文件到exe 修改图标 优化启动速度
Python打包文件到exe 修改图标 优化启动速度 为什么要把Python打包程序到exe Python打包程序到exe 安装打包工具pyinstaller 打包程序为exe 修改打包文件的名称 修 ...
- sysprep.exe修改SID
转载于 sysprep.exe修改SID 一.Sid的含义 Sid全称为security identity,即网络安全标示.它用来唯一标示计算机账户.用户组和用户账户这些信息.他由计算机名.当前时间 ...
- 解决 ClickOnce 发布出现: 清单中的引用与下载的程序集 *.exe 的标识不匹配 问题
平台版本信息 Windows : 6.1.7601.65536 (Win32NT) Common Language Runtime : 4.0.30319.17929 System.Deploymen ...
- vsto clickonce 发布setup.exe失败
严重性 代码 说明 项目 文件 行 禁止显示状态 错误 未能将文件"app.publish\setup.exe"复制到"ftp://". visual stud ...
- dedeCMS修改文章更新发布时间问题
今天在dedeCMS系统中,修改或文章时发现,只要提交以后,文章发布时间便是当前时间.但有时候修改文章以后并不想把文章发布时间也更新成修改时间.我希望的是,修改文章不对时间做更改保持文章原有发布时间, ...
最新文章
- 如何在游标里控制条件_热处理精密渗碳里的碳势如何控制
- 使用JJWT实现JWT代码示例
- oracle表设置主键自增长,笔记:oracle表设置主键自增长
- 02 ARM11 时钟初始化后的跑马灯程序
- 数据结构:栈的了解与示例(逆波兰表达式)
- Struts学习笔记总结
- vmware安装win10并使用xshell成功连接及虚拟机中win10设置静态ip
- 台式计算机最新配置,例举2019推荐组装台式电脑最新配置清单
- 【rzxt】巧用电池小工具 电量问题全掌握
- 15版计算机应用基础知识整理,[电脑基础知识]计算机应用基础.ppt
- 将Excel中的矩阵变成列表
- Centos7上配置安装Squid代理(主动代理,与透明代理)
- web server and web service
- mysql 从第几个字符串开始截取_Mysql字符串截取函数SUBSTRING的用法说明
- 自研还是采购BI系统?后悔知道得太晚!
- excel排版用于印刷:pdf批量转换为图片方便校验排版错误
- 机器学习7 - 算法进阶2
- 基于vue利用openlayers加载天地图的影像图,地形图
- C语言实验——时间间隔
- Cropping multiple images the same way