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程序。

 

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