制作安装包在平常开发中经常遇到,而且面对不同的产商需求,安装包的要求也多种多样,制作安装包的方法和工具有很多种,有方便的也有麻烦的,下面介绍下我平时经常使用的方法和流程,不说很方便,只是我用的熟而已,希望对有需要的朋友有所帮助,有不对的地方请大家多多指教。
通常我把制作安装包分成以下几个步骤:
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
完毕,欢迎大家拍砖。
无聊客(blog.csdn.net\yzx0023)
2006-7-3