通过MageUi.exe修改通过ClickOnce发布过的WPF browser application 配置文件
VS2008提供了ClickOnce功能方便開發(fā)人員發(fā)布和部署應(yīng)用程序。但是,對于 WPF browser application,一旦發(fā)布后,你想去修改 app.config以改動里面的數(shù)據(jù)庫連接字符串或者服務(wù)調(diào)用地址協(xié)議等,你必須修改app.config文件然后通過publish功能重新發(fā)布。 因?yàn)?/span>ClickOnce對于發(fā)布的應(yīng)用程序的manifest和xbap文件都經(jīng)過hash算法打上標(biāo)簽并簽名過以保障應(yīng)用程序文件的版本一致性和安全性。
但是如果我們給客戶發(fā)布了應(yīng)用程序,客戶想修改服務(wù)地址的話,讓客戶自己去pulish程序是不可能的。我經(jīng)過了幾天摸索,發(fā)現(xiàn)了mageUI.exe這個(gè)工具是可以完成重新hash和簽名的,只要更新版本客戶端就會檢索到版本更新并下載新版本。
具體做法如下:
WPF browser application 發(fā)布目錄的程序結(jié)構(gòu)一般是這樣的:
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, 這個(gè)可以用文本編輯器直接修改或者用WCF 的SvcConfigEditor.exe來修改;
2.??? 找到mageui.exe這個(gè)工具,一般位于C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin 或者C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin;
3.??? 修改應(yīng)用程序發(fā)布目錄的manifest和xbap文件
我們用mageui.exe工具來打開PublishedFolder\Application Files\MyApp_0_0_0_1\ MyApp.exe.manifest和 PublishedFolder\MyApp.xbap
因?yàn)?/span>WPF Brower Application一般是需要證書的,那我們先設(shè)置一下默認(rèn)證書。 File->Reference, 選中 “Sign on save” 和 “Use default signing certificate” ,然后找到你的證書文件填充“Certificate file”
3.1 首先修改SLC.MES.exe.manifest文件,將Name->Version增加一個(gè)版本號(版本一定要變化,否則客戶端不會重新下載);
?3.2 保存該文件,這時(shí)候如果你的證書有密碼保護(hù),會彈出一個(gè)警告對話框,因?yàn)閯偛诺脑O(shè)置里是沒有設(shè)置缺省密碼的地方的。不過沒關(guān)系,我們在隨后彈出的對話框里填入密碼即可。
? 3.3 然后修改發(fā)布根目錄下的MyApp.xbap。注意不是PublishedFolder\Application Files\MyApp_0_0_0_1\ MyApp.xbap,雖然這2個(gè)文件完全一樣,但實(shí)際起作用的是根目錄下的那個(gè)。
3.4 首先同樣將Name->Version增加一個(gè)版本號
3.5 然后點(diǎn)擊“Application Reference”里的Select Manifest按鈕,重新選擇一下剛才的那個(gè)manifest文件
3.6 同樣存盤
?
現(xiàn)在客戶端IE里重新訪問即可下載新版本。
轉(zhuǎn)載于:https://www.cnblogs.com/cubean/archive/2009/12/31/1637001.html
總結(jié)
以上是生活随笔為你收集整理的通过MageUi.exe修改通过ClickOnce发布过的WPF browser application 配置文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Design Pattern - Ada
- 下一篇: 什么是php商城系统?