Vista Media Center 开发之深入浅出 (二)

                                         ----- Vista Media Center 程序的新建及部署

1.    新建程序模板简介
      正如上一节最后一张所述Vista  Media  Center  SDK提供了三种新建Vista  Media  Center程序的模板分别为:
      (1)    A project for creating a Windows Media Center Application containing a page with four buttons which invoke a Media Center dialog box.
              该工程运行将出现一个页面上面包含四个按钮,当点击按钮时显示对应的对话框。
      (2)    A project for creating a Windows Media Center Background Application.
              该工程运行直接弹出一个“The background application did something.”对话框。
      (3)    A project for creating a Windows Media Center Application containing the minimum code and markup required.
               该工程运行将出现一个最基本的显示Hello 的界面(以下称做Hello 模版)。

2.    将程序安装到Vista Media Center
     下面以新建Hello 模板为例,讲解如何将开发好的程序安装到Media Center中。
    (1)为程序集增加签名
          新建一个Hello World模板的Media Center Application后,要想将其安装到Media Center中必须为该程序制作签名,其方法如下:
          ○1 在解决方案管理器中,右键单击属性,在左侧找到签名,钩上为程序集签名。
          ○2 点击下选择强名称密钥文件下拉框,选择已有的snk文件或是新建snk文件。
          进行如上操作则把程序集做上了签名。
   (2)在Registration.xml文件中修改该程序集的注册信息

          在每种模版中都包含一个Registration.xml文件,用于填写Media Center Plugin程序的注册信息,其内容如下:

 

<application title="Application1" id="{6a04b667-1e20-4833-b141-5f15262234d6}">
<entrypoint id="{e244677c-de06-4b6e-bd1f-d6d4b9f05e70}"
        addin
="Application1.MyAddIn,
        Application8,Culture=Neutral,Version=1.0.0.0,PublicKeyToken=insert_public_key_token_here"

        title
="Application1"
        description
="Application1 Description"
        ImageUrl
=".\Application.png">
        
<category category="More Programs"/>
    
</entrypoint>
</application>


 
         在将程序安装到Media Center之前需要修改PublicKeyToken=insert_public_key_token_here,将该程序集真实的PublicKeyToken填写在这。
         获取程序集PublicKeyToken的方法如下:
         ○1   生成该程序集得到DLL文件。
         ○2   右键单击“Visual Studio 2008 命令提示”,点击以管理员身份运行。
         ○3   运行sn.exe -T assemblly.dll命令即可获得PublicKeyToken。(注意,大写T与小写t在这里是有区分的
        将PublicKeyToken=insert_public_key_token_here 替换为程序真实的PublicKeyToken 例如PublicKeyToken=3a43633ac34b99df,保存文件。
        Registration.xml文件中的一些其他相关属性将放到如何制作安装包一节讲解。
   (3)用DevInstall.cmd将程序安装到Media Center
        在每种模版中同样都包含一个DevInstall.cmd文件,用于操作将Plugin程序集安装到Media Center中的全过程。
        由于Media Center Plugin程序集需要注册到GAC中,因此需要调用到gacutil.exe命令,而VS2008与VS2005中gacutil.exe文件的存储路径是不同的。而SDK模版中的DevInstall.cmd文件中调用gacutil.exe文件的存储路径是按照VS2005来写的。

      因此如果采用VS2005作为开发环境,那么就不需要对该文件做任何改动,如果是VS2008做为开发环境,那么就需要做一些小的变动。即将

ECHO.Register the DLL with the global assembly cache
"%ProgramFilesPath%\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" /if "%ProgramFilesPath%\%CompanyName%\%AssemblyName%\%AssemblyName%.dll"
ECHO.

 

    替换为

ECHO.Register the DLL with the global assembly cache
ECHO.Comment "%ProgramFilesPath%\Microsoft Visual Studio 8\SDK\v2.0\Bin\gacutil.exe" /if "%ProgramFilesPath%\%CompanyName%\%AssemblyName%\%AssemblyName%.dll"
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\gacutil.exe" /if "%ProgramFilesPath%\%CompanyName%\%AssemblyName%\%AssemblyName%.dll"
ECHO.

 

      以管理员身份运行DevInstall.cmd,出现Success的提示及说明安装成功。
 打开Media Center ,在“在线媒体”的“节目库”下会出现,刚刚做好的程序。打开该程序,出现“Hello”界面,说明Media Center Plugin程序集安装成功。
     调试是制作程序,不可缺少的一部分,由于Media Center Plugin的调试跟以往的程序集调试有些不同,下一节讲述如何调试Media Center Plugin的后台代码。

 


posted on 2008-10-08 13:39  Happy Miao  阅读(841)  评论(0编辑  收藏  举报