利用ActiveSync制作PC端安装程序(By 无聊客)

 制作安装包在平常开发中经常遇到,而且面对不同的产商需求,安装包的要求也多种多样,制作安装包的方法和工具有很多种,有方便的也有麻烦的,下面介绍下我平时经常使用的方法和流程,不说很方便,只是我用的熟而已,希望对有需要的朋友有所帮助,有不对的地方请大家多多指教。       通常我把制作安装包分成以下几个步骤:
1.         编译程序,按照自己的意愿组织安装包制作环境,建好目录,把编译链接成功的目标文件和所需要的其他文件拷贝过来。
2.         编写INF文件,在这里我们可以设置从什么本地目录上获取安装文件,要将哪些文件打进安装包,要安装到DEVICE上哪些目录上去,在安装过程中要书写哪些注册表内容,是否设置快捷方式等等内容,是最关键的一个步骤
3.         按照需要编写Setup DLL。(可选)
4.         调用cabwiz.exe(从我的使用经验来看,好象PPC和SP的打包程序是不一样的,这点要注意),确定是否压缩等等选项,打成CAB文件,这个文件可以直接拷贝到DEVICE上运行安装。
5.         调用PC端ActiveSync安装。(可选)

网上已经有些文章介绍了如何制作安装包,我就不罗嗦了,下面介绍下如何利用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

完毕,欢迎大家拍砖。
posted @ 2008-11-28 15:18  googlegis  阅读(137)  评论(0编辑  收藏  举报

坐标合肥,非典型GIS开发人员 GitHub