Do What You think !!

 

Windows Moible 打包过程2

       离第一篇文章有些日子了,由于我的失误,不少朋友都没看到图片。在这期间,有不少朋友来信说,有没有方法做一个桌面的安装程序?运行程序前, 必须还要装其他程序(比如SqlMobile, .NetCompactFrameWork等等),有没有方法能把它们做到一个安装包中?
       好, 让我们开始。首先, 让我们看看有几种方案。
      其实, 大家到网上随便一艘就能搜到第一种方案,手把手教大家怎么做桌面安装程序,这是直接用vs2005,不过我好像没看到C++版的(全是vb.net和C#的)。
     第二种方案就是利用现有的打包工具,这个我没试过;
     第三种方案和第一种差不多。不过比第一种简单,都是先要写一个安装的INI文件, 然后调用CEAppMgr.exe程序,把INI文件传给它。不过这用方案不能定制自己的安装界面。
      而且,某些朋友还需要和自己程序安装的时候同时安装其他程序。最好的方法是,在用户点击我们桌面安装程序的时候, 把所有的需要的程序都安装好。

      现在,我们来考虑解决以上问题的方案。这种方案必须能满足以下几点:
      1) 安装程序用vc++写;
      2) 能够定制界面;
      3) 能够同时安装多个.cab程序;
       首先,我们必须知道Win Mobile 上怎么安装程序的。在Win Mobile 上,有个安装程序的程序叫 wceload.exe,它的用法是:把你要安装的程序包路径传给它做参数即可(有点必须注意:必须在你的参数字符串两边加上双引号,具体用法见demo)。为实现远程安装, 我们可以先把安装Cab包拷贝PDA上,然后远程调用安装程序,实现安装。

      第二,既然我们想定制界面,做安装程序最简单的就是用 CPropertySheet 和 CPropertyPage 。为了简单,我们在demo中就采取这种方法;
      第三,要实现多个cab安装,也很简单。记得,我们在上篇文章中记得那个安装DLL吗?我们可以利用那个实现多个cab安装。我们先可以把我们要安装的包做为文件增加到的“应用程序文件”项,然后在dll中调用安装程序进行安装。
      OK,   现在这种方案都能满足以上要求。大家思路有点印象没,如果还不清楚,请继续跟我往下走。我们开始写程序。
      我们打开vs2005, 新建一个基于MFC对话框程序名为SetupOnPC,注意选中静态链接。我们就可以向其中加入我们要定制界面的CPropertySheet 和 CPropertyPage 的继承类。具体过程,我省略。请查看源码。
      我们要在 头文件 stdafx.h  中加入 #include <rapi.h>   //远程API头文件, 其次还要把它们.H和.lib文件引用路径加入到vs2005中。路径为:安装路径\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Activesync\Inc(Lib)。
      下面,我们开始写代码, 过程省略(请看源码)。由于,我们需要把多个包一起安装,所以我们要改进上次写的CabSample的setupdll的代码。主要是流程如下:先检测已安装的程序(组件),然后选择未安装的安装。具体代码参见demo。今天的例子,我们以sqlmobile为例,怎么让它和我们一起安装。鉴于,sqlmobile的安装包名字太长, 我给它们重命名。(一共三个,分别叫:SqlMobile1,SqlMobile2,SqlMobile3)。
       OK , 全部结束。不懂的地方参见源码,下面是运行图。


检测PDA连接情况(未连上),如果点第二个框框再检测 如下图

检测到后, 下一步才能继续, 如下图

拷贝安装文件

安装成功, 如下图

PC端,全部执行完毕。你看你的pda或者模拟器已经在安装程序或者安装好了。
到此,全过程结束。需要说明下就是, 我们的程序最好选用静态+release 编译,生成的程序直接可以考到客户PC运行,无须再打包。另外,由于本程序用刀ce RAPI 所以,在我们的程序文件中,当然要包括以下2个dll 文件:rapi.dll 和 ceutil.dll 。这两个文件一般装过ActinveSync就会在系统文件中有。另外,我们的程序文件夹中,要包括你要安装的.cab文件。OK, 现在全部结束。由于,demo超过2 M大小,想要源码的留下Email。
请大家到下面这个网址去下载demo吧
http://www.winbile.net/BBS/1016029/ShowPost.aspx

posted on 2007-04-13 18:21 零宇 阅读(2565) 评论(37)  编辑 收藏 引用 所属分类: Windows Mobile

评论

# re: Windows Moible 打包过程2 2007-04-16 11:34 fanronghua

fanronghua@126.com
谢谢楼主  回复  更多评论   

# re: Windows Moible 打包过程2 2007-04-18 11:28 meiqingxin

你好,这个问题困扰我很长时间了,源码可否发我一份!谢谢!meiqingxin@163.com  回复  更多评论   

# re: Windows Moible 打包过程2 2007-04-21 10:12 meida

你好,源码可否发我一份!谢谢!
media2003_228@hotmail.com  回复  更多评论   

# re: Windows Moible 打包过程2 2007-04-24 15:48 zhaohuachao

麻烦楼主给我发一份吧,我也一直在找可以将几个CAB文件一起打包安装的方法,但是一直没找到。

今天见你自己写了代码做的,非常羡慕。希望能给我发一份,我拜读并学习。

谢谢!

我的E-Mail:zhaoli807@sohu.com  回复  更多评论   

# re: Windows Moible 打包过程2 2007-04-25 14:30 wu

给我一份吧
nxiaoping@163.com  回复  更多评论   

# re: Windows Moible 打包过程2 2007-04-25 14:32 我也需要,谢谢!

很好  回复  更多评论   

# re: Windows Moible 打包过程2 2007-04-25 14:32 我也需要,谢谢!

很好,谢谢给我一份. usepc@eyou.com  回复  更多评论   

# re: Windows Moible 打包过程2 2007-05-08 11:39 xh5260

xh5260@hotmail.com
谢谢,能不能也给我一份,万分感激!!!  回复  更多评论   

# re: Windows Moible 打包过程2 2007-05-09 15:56 dqj

dqjwyq@yahoo.com.cn
请给我一份.谢谢  回复  更多评论   

# re: Windows Moible 打包过程2 2007-05-14 23:05 hongme

请给我一份,谢谢
hongme@sina.com  回复  更多评论   

# re: Windows Moible 打包过程2 2007-05-16 10:35 零宇

大家到下面这个网址去下载demo吧
http://www.winbile.net/BBS/1016029/ShowPost.aspx  回复  更多评论   

# re: Windows Moible 打包过程2 2007-05-30 15:55 yug

ball_0303@163.com,thank you  回复  更多评论   

# re: Windows Moible 打包过程2 2007-06-11 09:48 镝琛

samying520@163.com谢谢  回复  更多评论   

# re: Windows Moible 打包过程2 2007-06-13 12:01 原楠

nan.yuan@berheley.com
谢谢,麻烦发到这里。  回复  更多评论   

# re: Windows Moible 打包过程2 2007-06-21 16:51 codeboy

codeboy@vip.sina.com
请楼主给我发一份,谢谢。  回复  更多评论   

# re: Windows Moible 打包过程2 2007-07-09 18:26 ant

你好,源码可否发我一份!谢谢!
zinsser8422@163.com @零宇
  回复  更多评论   

# re: Windows Moible 打包过程2 2007-07-13 10:19 飞雪

tan_1984_y@163.com
谢谢。万分感激发一份给我!
  回复  更多评论   

# re: Windows Moible 打包过程2 2007-07-16 12:19 寒峰

楼主烦请你 也给我发份:taotaiji@hotmail.com
谢谢
  回复  更多评论   

# re: Windows Moible 打包过程2 2007-07-18 11:17 Thinkgeo

Please send the source code to :renjinsheng@thinkgeo.com
Thanks  回复  更多评论   

# re: Windows Moible 打包过程2 2007-07-25 15:59 rover

Wang.Bang-Jie@inventec-inc.com 谢谢了  回复  更多评论   

# re: Windows Moible 打包过程2 2007-07-26 23:58 赤雪

jayl@21cn.com

初学者,考虑到以后肯定会用到,特索取源码来研究,多谢了  回复  更多评论   

# re: Windows Moible 打包过程2 2007-09-03 16:17 xuke

nabixiaomao@gmail.com谢谢了  回复  更多评论   

# re: Windows Moible 打包过程2 2008-01-15 14:29 carloyan

carloyan@hotmail.com
请楼主给我发一份,谢谢。  回复  更多评论   

# re: Windows Moible 打包过程2 2008-02-19 10:06 xtjf

找好久了,没找到方法,麻烦发一份给我好吗?谢谢. xtxomc@yeah.net  回复  更多评论   

# re: Windows Moible 打包过程2 2008-04-08 10:51 Johnson

多谢楼主,辛苦了!
请发一份:xiuying.wang@gmail.com  回复  更多评论   

# re: Windows Moible 打包过程2 2008-04-08 11:11 kate

谢楼主

发一份:u_13@163.com
thanks  回复  更多评论   

# re: Windows Moible 打包过程2 2008-05-08 11:54 老鼠

谢谢楼主
djt19842000@yahoo.com.cn  回复  更多评论   

# re: Windows Moible 打包过程2 2008-05-09 13:56 零宇

文章最后已给出下载链接,大家去那里下载。谢谢!  回复  更多评论   

# re: Windows Moible 打包过程2 2008-08-12 12:42 漂泊浪子

链接无效,麻烦发个代码给我 cww0403@163.com.谢谢!  回复  更多评论   

# re: Windows Moible 打包过程2 2008-08-28 18:02 杨磊

找了好久了,请楼主发份源码 谢谢 油箱:yanglei1959@163.com
再次感谢!!!!!!  回复  更多评论   

# re: Windows Moible 打包过程2 2008-09-03 23:50 JEAN

gongjie77@gmail.com
麻烦楼主发一份给我, 在这里谢谢了  回复  更多评论   

# re: Windows Moible 打包过程2 2008-10-15 08:42 pengai3

pengai3@gmail.com
我想在EVC或者VS2005下面生成,但是好像模拟平台不支持:(!

也麻烦楼主发一份给我, 小弟不胜感激!  回复  更多评论   

# re: Windows Moible 打包过程2 2009-06-29 16:49 汤胜

vvvsoft@163.com 麻烦楼主给我发一份,非常谢谢  回复  更多评论   

# re: Windows Moible 打包过程2 2010-03-17 15:01 shouldsha

liumenglan2@163.com
楼主能否发一份,谢谢
  回复  更多评论   

# re: Windows Moible 打包过程2 2011-02-28 22:47 曹玉伟

也发给我一份吧cyw_888@163.com谢谢  回复  更多评论   

# re: Windows Moible 打包过程2 2011-03-16 19:42 sockscaps

楼主,我也想要一份你的代码,非常感谢!!!
sockscaps@163.com  回复  更多评论   

# re: Windows Moible 打包过程2 2011-06-13 09:19 zhoulian

楼主,我也想要一份你的代码,非常感谢!!!
zhoul@shencai.cc  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

常用链接

留言簿(4)

随笔档案(8)

文章分类(4)

文章档案(4)

Windows Mobile 论坛

道中人

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜