如何制作wince中的cab安装包(转)

    最近因为工作的需要,把公司的产品打包到PPC上面去安装,以前都是手动cpoy到指定的目录下的。(累!)。把自己的心得写出来。

    其实做起来很简单,你需要一下几个问题 makecab.exe、Cabwiz.exe,还有一个inf文件,前两个在你安装的sdk里面都能找的到,smart phone 和PPC的都有,能不能通用我没实验过。这里最重要的是那个inf文件的编写。(下面会介绍),所有的文件都有了以后,在cmd里面执行 CabwizSP xx.inf,xx代表你为inf文件起的名字。就能生成一个cab安装文件,把这个文件copy到PPC里面去就可以安装了,不过要注意的是,你安装完成后这个cab包会被自动的删除掉的。

   下面给个我写的inf文件的例子,很简单的,大家看看就明白了,实在不明白,大家看我在最后面给出的连接。

   [Version]
Signature = "$Windows NT$"
Provider = "2.18"
CESignature = "$Windows CE$"

[CEStrings]
AppName = "CityMgr"
InstallDir = %CE1%/%AppName%
mappname = "城管通"
mupdatename = "城管通升级程序"

[SourceDisksNames]
1 = ,"city_path",,CityMgr
2 = ,"res_path",,CityMgr/resource
3 = ,"maps_path",,CityMgr/maps

[SourceDisksFiles]
citymgr.exe = 1
citymgrupdate.exe = 1
conf.dat = 1
help.htm = 1
number.txt = 1
path.txt = 1
welcome.bmp =1


background.gif = 2
default.jpg = 2
event.gif = 2
event_.gif = 2
login.gif = 2

gridset.txt = 3
map1.dat = 3
map1.ind = 3
map2.dat = 3
map2.ind = 3
map3.dat = 3
map3.ind = 3
map4.dat = 3
map4.ind = 3
shmap.mdf = 3

[DefaultInstall]
CopyFiles = CopyToCity,CopyToRes,CopyToMap

;这里的这个快捷方式的指定让我伤了大脑筋,不知道是我的领悟能力有限还是微软的帮助没表达清楚,呵呵
CEShortcuts = mMainApp,mUpdateApp    

[mMainApp]
城管通,0,citymgr.exe,%CE11%

[mUpdateApp]
城管通升级程序,0,citymgrupdate.exe,%CE11%

 

[DestinationDirs]
CopyToRes = 0,%CE1%/%AppName%/RESOURCE
CopyToMap = 0,%CE1%/%AppName%/maps
CopyToCity = 0,%CE1%/%AppName%
;就是这里的路径,对应上面的快捷方式,刚开始还以为是快捷方式的存放路径,后来发现是需要设置快捷方式的文件的路径
mMainApp = 0,%CE1%/%AppName%
mUpdateApp = 0,%CE1%/%AppName%

[CopyToCity]
citymgr.exe,,,0
citymgrupdate.exe,,,0
conf.dat,,,0
help.htm,,,0
number.txt,,,0
path.txt,,,0
welcome.bmp,,,0

[CopyToRes]
background.gif,,,0
default.jpg,,,0
event.gif,,,0
event_.gif,,,0
login.gif,,,0

[CopyToMap]
gridset.txt,,,0
map1.dat,,,0
map1.ind,,,0
map2.dat,,,0
map2.ind,,,0
map3.dat,,,0
map3.ind,,,0
map4.dat,,,0
map4.ind,,,0
shmap.mdf,,,0

这里给出一个微软的详细帮助连接,不过估计看的也会比较晕!
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/dv_evtuv/html/etlrfsectionheaderreference.asp

 

 

WinCE CAB Manager v1.1.0.4 Final 正式版      
   有了此程序,不用我们自己去写复杂的inf文件,就可轻易制作出CAB安装包。他可以读取、解压CAB文件,读取inf文件,向导式的CAB 制作。
     我们不但可以用他制作cab安装程序,还可用来修改注册表,我们经常修改大量的注册表,来修改系统图片、功能等,但每次硬起,都需重新设置,很是麻烦,所以还可以用他制作一个修改注册表的cab文件,只需点击执行,所有修改一次完成。
    我们还可以用他解压cab文件,制作免安版软件。
    注意:对于1.0.0.7 版来说大多数的cab文件它都打不开,而v1.1.0.4版则能打开大多数的cab文件。

[upload=rar]viewFile.asp?ID=9059[/upload]
[upload=rar]viewFile.asp?ID=9060[/upload]
[upload=rar]viewFile.asp?ID=9061[/upload]
[upload=rar]viewFile.asp?ID=9062[/upload]
[upload=rar]viewFile.asp?ID=9066[/upload]
[upload=rar]viewFile.asp?ID=9067[/upload]
[upload=rar]viewFile.asp?ID=9068[/upload]
这个是英文版,WinCE CAB Manager 1.0.0.7 汉化版去这下:
http://www.hanzify.org/index.php?Go=Show::List&ID=4832
教程(转自汉化新世纪):
怎样制作汉化安装版CAB

以往发布PPC汉化,总是要提醒用户怎样复制啦,怎样先改名后删除啦,作者烦,用户更烦。 有什么方法可以更方便地进行汉化呢?不如从原版的CAB动动手脚吧。众所周知,CAB是PPC软件常用的安装包格式,即使是在PC端运行的exe安装文件,最终都转换成CAB文件来进行PPC端的安装工作。因此,如果能修改CAB中的原版英文文件,替换以汉化后的文件,再进行安装,自然就是中文安装啦。
关键词  CAB  安装版

原理
原理其实很简单,关键是有一个好用的CAB管理工具来实现对CAB文件的修改。值得高兴的是,WinCE CAB Manager就是目前比较合适的修改工具。
修改步骤:
1、将汉化版导入、替换到CAB中,原版英文文件不再存在;
2、添加新的汉化版的快捷方式;
3、生成新的CAB文件;
4、将CAB复制到PPC中,双击即可安装成中文版。

图解
首先请到WinCE CAB Manager官方网站下载WinCE CAB Manager原版,再到软件汉化俱乐部下载汉化补丁,安装并汉化。





我们在进行图解之前,首先假定你已经找到了原版的CAB文件,通常会有几个不同的CAB以便适应不同的CPU类型。我们以IADialer10为例,我们先找到ARM专用的CAB文件:IADialer10.PPC3_ARM.CAB,用WinCE CAB Manager打开:





首先鼠标右键点击“CAB信息”,选择“属性”,出现对话框显示有关CAB的基本信息:





这里的信息将会反应到PPC的注册表中,同时也出现在卸载程序中,因此也可以修改以便识别汉化版。


从这里可以了解该CAB所支持和不支持的CPU平台。


这时CAB允许安装的系统版本的最低和最高版本号,意义不大。


这里值得注意!!
册这里可以看出这个安装程序到底安装到哪个文件夹下面,如何命名的。
在这个例子中,可以通过重命名将“EN”改为“CN”,这样看起来更像模像样……
了解了基本信息之后,我们再来看看CAB中到底还有些什么……





单击“CAB信息”下面的“文件”标签,可以看到右侧出现了所有文件的信息,包括安装位置等,这样大致知道CAB中的这些文件到底都跑到哪里去了……


我们以IADialerEngine.dll为例看看, 用右键单击IADialerEngine.dll,选择“属性”,出现属性对话框:
首先是:“常规”项,可以看到文件的属性;索引值决定这个文件是第2个被复制到PPC中。


这里很重要,这里的选项决定了在复制时将如何进行一些处理工作。当我们以汉化文件替换英文文件时,请注意尽量保持这里的一致。


原来这个IADialerEngine.dll是安装到“windows”中的。相信如果以中文版替换后再安装,就不用总是要用户改名、重启、删除这样麻烦了!



我们来看看快捷方式的属性, 同样是右键单击快捷方式,选“属性”:
首先是常规项,在这里,填充栏的名称可以修改成中文的快捷方式,比如“拨号器.lnk”之类。目标文件也可以自行更改。


在这里可以知道这个快捷方式到底放在哪里了。如果想放到“开始”菜单中,自然就可以移动到“Start Menu”。当然也可以建立自己的文件夹来放置快捷方式。


当然,我们也可以对注册表进行查看和添加修改。
现在总算对CAB有个大致的了解了,我们开始偷梁换柱吧:






首先是修改应用程序的名称,这样在PPC删除中将有所识别。


再把安装文件夹改了,反正都是改嘛,50步和100步,不妨就改得像样一点。


鼠标右键单击要替换的文件,选“添加”;找到汉化后的文件,确定。


出现替换提示,当然存在啦。单击“替换”即可。


随手把快捷方式也改了……


所有的内容都修改了,使用“保存”或者“另存为”菜单即可生成汉化安装版。
为了保证修改后的CAb文件跟原版的一致,建议同时用WinCE CAB Manager打开另一个一样的CAB原版进行对照,保证索引、标签等一致。这样作出来的自然是接近原版了。
获取CAB文件
在以往的汉化讨论贴中,经常被谈到获取原版执行文件的方式是先安装到PPC中,然后在复制、粘贴回PC端进行处理。现在有了WinCE CAB Manager,一切都迎刃而解:只要使用WinCE CAB Manager导出CAB的文件,就可以获得全部的安装文件:





打开一个CAB文件,选择“文件/导出/导出到INF”菜单,


选择输出目录,“下一步”……


CAB文件被逐个导出……


在图中的文件夹里面就是全部的安装原版文件了……
通过WinCE CAB Manager对CAB的管理,我们可以作更多的事情,比如以前大家讨论如何在英文平台添加若干文件来进行最简的中文系统,完全可以利用WinCE CAB Manager生成一个正式的安装文件来执行,这样岂不方便?很多破解版也可以直接修改原版CAB实现直接安装。
不过经过测试,前面采用导出INF的方式所生成的INF文件,再导入回WinCE CAB Manager的时候确不能正确导入,不过也有助于自己跟进相应的内容自行添加修改了。 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值