张靖

导航

编辑WPF XBAP配置文件

  • 问题的产生

  做过ASP.NET网站开发的同行应该知道,在网站应用程序发布的时候,我们可以通过编辑Web.config文件,把开发环境转换为测试坏境或者生产环境,一般是通过编辑connectionStrings配置节和appSettings配置节,诸如数据库连接字符串等常量。但是,WPF浏览器应用程序则大不一样,没有ASP.NET应用程序那么简单。对于一个WPF浏览器应用程序来讲,一般来讲,如果你改变了app.config文件,则应该重新发布一次,然后再部署到web服务器上。然而,当WPF浏览器应用程序作为一个产品的一部分时,针对具体的用户重新发布一次,这种解决方案有所不妥,或者是行不通的,因为前方的实施工程师不愿意这样做,同事也破坏了一个产品的完整性。

  通过两天的搜索和摸索,我找出了一个比较满意的解决方案,以供同行参考!

  • 问题的解决方案

     1 . WPF浏览器应用程序通过ClickOnce产生的发布包的结构

标号

文件

1

PublishFolder\xxx.xbap

2

PublishFolder\Application Files\xxx_1_0_0_1\xxx.exe.config.deploy

3

PublishFolder\Application Files\xxx_1_0_0_1\xxx.exe.deploy

4

PublishFolder\Application Files\xxx_1_0_0_1\xxx.exe.manifest

5

PublishFolder\Application Files\xxx_1_0_0_1\xxx.xbap

       我们要修改三个文件:

   1) PublishFolder\Application Files\xxx_1_0_0_1\xxx.exe.config.deploy

   2) PublishFolder\Application Files\xx_1_0_0_1\xxx.exe.manifest

   3) PublishFolder\xxx.xbap

 2 .  MageUi.exe工具

   使用此工具,可以对部署清单和应用程序清单执行创建、编辑和签名操作。一般位于C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin或者C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin,如果两个目录下都没有,我们可以下载一个。

   我们使用此工具的主要目的是,根据客户单位的不同情况,定制相关数据库服务器的信息和应用程序服务器的信息,比如数据库连接字符串等。

  3 . 具体步骤

  1)用记事本打开PublishFolder\Application Files\xxx_1_0_0_1\xxx.exe.config.deploy,编辑它以满足你的需要。

  2)配置默认选项。运行MageUi.exe,它的界面如下图:

     

      以此选择File-Preferences,弹出窗口如下:

     

  勾选“Sign on save”复选框和“Use default signing certificate”复选框,并且导入WPF应用程序的证书文件。

      3)编辑PublishFolder\Application Files\xxx_1_0_0_1\xxx.exe.manifest

       File-Open打开清单文件xxx.exe.manifest,界面如下:

      

       选择“Files”,点击按钮“Populate”,如有弹窗口,点击“确定”关闭。File-Save保存,如有弹出窗口点击“确定”关闭。

       4)编辑PublishFolder\xxx.xbap.

       打开此文件,界面如下图:

            

   选择“Application Reference”,点击“Select Manifest...”选择刚才编辑的清单文件,保存文件。

4 . 测试。

       把刚才编辑好的发布包放在IIS或者其他Web服务器上,在IE浏览器中输入此浏览器应用程序的URL,如果正常则成功!

posted on 2010-12-22 17:49  张靖  阅读(1464)  评论(0编辑  收藏  举报