利用ActiveSync製作PC端安裝程序(By 無聊客)(轉)

製作安裝包在平常開發中經常遇到,而且面對不同的產商需求,安裝包的要求也多種多樣,製作安裝包的方法和工具有很多種,有方便的也有麻煩的,下面介紹下我平時經常使用的方法和流程,不說很方便,只是我用的熟而已,希望對有需要的朋友有所幫助,有不對的地方請大家多多指教。

       通常我把製作安裝包分成以下幾個步驟:

1.         編譯程序,按照自己的意願組織安裝包製作環境,建好目錄,把編譯鏈接成功的目標文件和所需要的其他文件拷貝過來。

2.         編寫INF文件,在這裏我們可以設置從什麼本地目錄上獲取安裝文件,要將哪些文件打進安裝包,要安裝到DEVICE上哪些目錄上去,在安裝過程中要書寫哪些註冊表內容,是否設置快捷方式等等內容,是最關鍵的一個步驟

3.         按照需要編寫Setup DLL。(可選)

4.         調用cabwiz.exe(從我的使用經驗來看,好象PPCSP的打包程序是不一樣的,這點要注意),確定是否壓縮等等選項,打成CAB文件,這個文件可以直接拷貝到DEVICE上運行安裝。

5.         調用PCActiveSync安裝。(可選)

 

網上已經有些文章介紹瞭如何製作安裝包,我就不羅嗦了,下面介紹下如何利用ActiveSync來實現PC端安裝程序。ActiveSync是微軟提供的與Windows Mobile的同步軟件,新版本4.1下載地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=4c254e3f-79d5-4012-8793-d2d180a42dfa&DisplayLang=en

ActiveSync提供了命令行方式來幫助我們安裝Windows Mobile安裝程序,格式爲:

C:/Program Files/Microsoft ActiveSync/CeAppMgr.exe C:/Program Files/Microsoft ActiveSync/MyApp/MyApp.ini

其中C:/Program Files/Microsoft ActiveSync/ActiveSync安裝目錄,MyApp.ini很簡單,格式如下:

[CEAppManager]

Version = 1.0

Component = SmartPhone

 

[SmartPhone]

Description    = MyApp

Uninstall       = MyApp

CabFiles      = MyApp.arm.CAB

 

       所以要製作PC端安裝程序,只需要以下幾個步驟:

1.         製作安裝包,把CAB文件和寫好的INI文件拷貝到指定目錄下(我們這裏舉例放在C:/Program Files/Microsoft ActiveSync/MyApp下面,)

2.         編寫PC端程序,加上命令行調用:

TCHAR szCommandLine = _T(“C:/Program Files/Microsoft ActiveSync/CeAppMgr.exe”);

TCHAR szParameter         = _T(“/” C:/Program Files/Microsoft ActiveSync/MyApp/MyApp.ini/””)

::ShellExecute(NULL,NULL, szCommandLine, szParameter, NULL, SW_SHOWNORMAL);

 

試試看,是不是可以工作?以上的例子寫死了ActiveSync的安裝路徑,移植性比較差,不過不要緊,我們可以從註冊表鍵HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Pegasus下面的InstalledDir鍵值裏面讀到ActiveSync的安裝路徑,這樣我們的程序就可以在其他的機器上安裝了,當然前提是必須安裝了ActiveSyncJ

 

完畢,歡迎大家拍磚。

 

無聊客(blog.csdn.net/yzx0023)

[email protected]

2006-7-3

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