MediaCenter开发整理(四)安装部分

这部分其实是很头疼的一部分,因为SDK上提到的很多方法都行不通,可能是新版本的兼容有问题。所以很多地方都是我自己研究的方法,可能有的地方有点山寨。

MediaCenter的安装,其实是俩个部分:把我们编写的程序集注册到GAC,在MediaCenter中注册一个入口,链接到我们的程序集。

GAC的注册,可以使用MS提供的工具,但是这个工具用户机器上基本上是不可能有的,所以这个简单直接的方法被排除。另外可以用一个叫WIX的工具打包程序,我不知道他的内部执行过程是什么,又有太多的限制,加上也没时间去研究它,所以初期调试的时候总是用这个工具打包给别人安装测试,真正到发布的时候是不可能用它的。所以最后还是用批处理自己写了个安装过程,这样没件事情都是自己控制的,心里比较有底。

这里说一下方法。

注册GAC,其实就是在windows/assembly文件夹中拷贝我们的程序集。但是这个文件夹是系统的文件夹,用资源管理器我们没办法看出他的结构。可以用cmd的dir查看下目录结构或者随便用个第三方的资源管理器也行。看出目录结构拷贝过程就很简单了。如下

ECHO.注册全局程序缓存 copy /y "%~dp0/Bin/%AssemblyName%.dll" "%windir%/assembly/GAC_MSIL/程序集名称/版本号__ID/"

接下来就是注册MC的入口了,MC其实提供了一个注册工具,我们写一个注册用的Registration.xml然后用注册工具执行一下这个XML文件就可以注册到MC里了,但是MC提供的入口注册的命令有不少问题,很多入口路径是注册不进去的,最后能注册进去的可能只有那么一两个入口,所以这里我调用了注册工具之后,又手动写了几项注册表,实现的效果就是在MC的一级目录中显示我们的程序。如下

 

ECHO.将程序注册到Windows Media Center

%windir%/ehome/RegisterMCEApp.exe /allusers "%~dp0/Setup/%RegistrationName%.xml"

 

reg add "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Media Center/Start Menu/Applications/{App id}"  /v Category /t reg_sz  /d "Custom Start Menu" /f 

reg add "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Media Center/Start Menu/Applications/{App id}"  /v OnStartMenu /t reg_sz  /d "True" /f 

reg add "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Media Center/Start Menu/Applications/{App id}"  /v Title /t reg_sz  /d "程序名" /f 

 

卸载方式就是以上命令反过来就可以了,比较容易理解。

先贴着么多,后面我会整理一个完整的demo上来,从零到发布,以详细说明一下具体怎么开发和发布MC程序。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章