
实现Wince程序的安装包制作的自动化
网上有很多wince程序的安装包制作工具,经常用到的有Wince cab manager,这些工具使用起来比较简单,这里就不再详细介绍。本文主要描述的是利用wince提供的打包工具进行打包的工作,通过脚本来实现安装包制作。
首先需要如下几个文件cabwiz.exe,cabwiz.ddf,makecab.exe通常在你的wince的安装目录下C:/Program Files/Windows CE Platform Builder/5.00/CEPB/BIN,将这些文件拷出,并放入c盘。
wince自带的打包工具采用脚本的方式来进行打包,这个脚本便是inf文件,因此需要对inf文件的格式有相当的了解。
完美卸载(强力卸载软件)拥有安装监视、智能卸载、闪电清理、闪电修复、广告截杀、垃圾清理、注册表修复、系统减肥、系统优化、文件快速拷贝、定时专家、系统保护、无效链接清理、驱动管理、内存管理、进程管理、服务管理、文件加密、驱动管理、文件粉碎、、网络防火墙、dll清理、磁盘修复等二十多种强大的功能,是您维护系统的黄金拍档。第四种:下载出来是一个独立的安装包文件,无法解压,而且安装时会检测本机是否有符合的硬件,如果没有连驱动文件都不释放,对于这种驱动安装包,我们有两种方法来处理,一种是不把其驱动整合到系统中,而是在系统安装完成时使用我们的部署工具静默安装方式调用一次wince系统安装软件,这样如果本机有匹配的硬件那么就安装,没有那么他也自己会判断自动退出程序。它拥有安装监视、智能卸载、闪电清理、闪电修复、广告截杀、垃圾清理、注册表修复、无效链接清理、驱动管理、内存管理、进程管理、服务管理、驱动管理、文件加解密、文件粉碎、系统减肥、系统优化、文件快速拷贝、定时专家、系统保护、网络防火墙等二十多种强大的功能,是您维护系统的黄金拍档。
INF文件其实是一种纯文本文件,可用任意一款文本编辑软件打开进行编辑,如:记事本、写字板等。INF文件有一整套的编写规则,每一个INF文件都是严格按照这些规则来编写的。
*规则一:INF文件是分节的,每个INF文件有许多的节组成,节名用方括号括起来。这些节名有些是系统定义好的,有些是用户自定义的。每节名最长为255字符(Win2K/XP/2003)或28个字符(Win 98)。节与节之间没有先后顺序的区别,另外,同一个INF文件中如果出现两个同样的节名,则系统会自动将这两个节名下面的条目合并到一起。
*规则二:在节与节之间的内容叫条目,每一个节又是由许多的条目组成的,每一个条目都是由形如“signature=”$CHICAGO$”"的形式组成的。如果每一个条目的等号后有多个值,则每一个值之间用“,”号分隔开。
*规则三:INF文件对大小写不敏感。
*规则四:“;“号后面的内容为注释。
*规则五:如果一个条目的内容过多,则用“/”将一行内容书写为多行。
每个INF文件都包含此节,该节中的条目主要是描述此INF文件支持的设备类型和适用的操作系统。在该节中如果出现“signature=” $CHICAGO$”"这样的条目则表示该INF文件适用于Windows 98之后的所有操作系统,如果包含“signature=”$Windows NT$”"这样的条目则表示该INF文件适用于Windows 2000/XP/2003操作系统,而且两者必具其一。另外,该节中“CLASS”条目表明设备类型,常见类型有:Display(显示设备,如显卡)、Media(多媒体设备,如声卡)、Net(网络设备,通常是网卡)、Modem(调制解调器)、Printer (打印设备)、Image(图像捕获设备,如)。
![]()
首创一键智能识别假显卡、假硬件,让无良硬件商无处可藏。首创一键智能识别假显卡、假硬件,让无良硬件商无处可藏 。之间有一个空格),每安装一个设备就重启一次电脑、显卡等设备金手指,安装一个启动一次,打开命令提示符输入sfc /,来检查是哪个设备的驱动程序引起的故障,排除硬盘分区表损坏,则应该是硬件有问题或硬件接触不良引起的wince系统安装软件,如果能够正常安装系统。
该节主要指明安装文件所在的介质。如:”1=”ATi Drivers Release CD”"表明所有驱动程序都在零售版的CD盘上。
驱动程序文件列表及被安装的位置,该节必须结合[SourceDisksNames]节才能知道具体的位置。如“atinbtxx.sys=1″,则你必须到[DestinationDirs]节去查看“1″具体代表那个位置。
INF文件指示安装程序在安装的过程中将一些文件复制到硬盘,或将硬盘上的一些文件删除、重命名等。该节即指定了文件所在的路径。
DefaultInstall节和Install节
描述了设备驱动程序与硬件设备的实际属性。默认情况下,首先执行[DefaultInstall]节,该节指定了要复制或删除的文件,注册表的更新,INF文件的更新等等信息,同时又包含指向其他节的指针。
String节
该节定义了字符串变量,当某些字符串频繁地出现在INF文件中,为简化输入,可在该节中定义一字符串变量,代表该字符串出现在INF文件中。
此简单的安装包主要是制作inf文件,我们这次制作的安装包将要安装到嵌入式设备中,安装的全路径为:
/flash/photo.jpg
/test disk/test.exe
/test disk/test.jpg

并且我们设定test.exe为启动文件。
F:/CurRel/flash/photo.jpg
F:/CurRel/test disk/test.exe
F:/CurRel/test disk/test.jpg
[Version]
Signature=$Windows NT$
Provider=Company Name
CESignature=$Windows CE$
[CEStrings]
AppName=testApp
InstallDir=/test disk
[Strings]
REG_INIT=/test disk/test.exe
[WriteRegedit]
1=HKLM,init,Launch50,REG_SZ,%REG_INIT%
[SourceDisksNames]
1=,SourceDir,,F:/CurRel/flash
2=,SourceDir,,F:/CurRel/test disk
[DestinationDirs]
CopyFileList1=0,/flash
CopyFileList2=0,/system disk
[SourceDisksFiles]
photo.jpg=1
test.exe=2
test.jpg=2
[CopyFileList1]
1=photo.jpg
[CopyFileList2]
2=test.exe
3=test.jpg
[DefaultInstall]
Copyfiles=CopyFileList1,CopyFileList2,
AddReg=WriteRegedit
3、将cabwiz.exe,cabwiz.ddf,makecab.exe放置在C盘,并将前述保存的test.inf文件也存于C盘。然后运行命令行命令:c:/cabwiz.exe “c:/test.inf” /dest “f:/currel” /err test.log
运行后将会在F:/CurRel中生成test.CAB,test.DAT,test.log,其中test.cab即为安装包,可在wince的device上进行安装,test.log为安装包的生成log,可从中检查是否发生了错误。
mod=attachment&aid=ndy4mtyyfde0zwm1zty5fdezmtgymzk0nzn8mtiwntm5mhwynzgwotu=¬humb=yes"2.png (48.26 kb, 下载次数: 3)1,固件精减、添加apk软件 将system.img解包,解包后将../system/app目录下的不需要的apk文件进行删除、修改、替换,以制作适合自己的固件包,对于app目录内不清楚用途的apk文件,请勿随意删除,以免引起不必要的问题。我们打开windows 的"管理工具",在"服务"列表的最后可以看到这两个服务,分别是锐起无盘xp辅助服务和锐起无盘xp数据服务,据我个人推测这两个服务相当于bxp 中的dhcp tftp和i/o 服务, 在这里可以先把两个服务先停止,因为我需要替换两个用于破解的文件, 在破解文件夹中找到 dlxpdhcp.exe manager.exe 把它们复制到锐起的安装目录中,替换掉原版的文件,(必须停止这个服务后,才能替换成功).破解文件夹中一共有三个.exe文件 别一个rtiosrv.exe 非常重要,这个时候不能替换,我们稍后再来处理它.。另 外:支持硬盘安装iso无需进pe即可安装系统[首先把下载到的iso文件改名为win$.iso放到非系统分区的根目录(如d:\win$.iso), 然后将光盘根目录下的grldr改名为ntldr替换c盘根目录的同名文件(win7/vista用户需要改名为bootmgr)]。
另外由于inf文件限制比较多,无法做到灵活应用,可采用动态生成inf文件的方法。主要思路如下:将文件按照相对路径的方式存放在某一文件夹中,然后生成一个xml文件,此xml文件存放了这些文件的数量及要安装的路径,凭此xml文件动态生成inf文件,然后自动制作安装包。
检查时,只需核对xml文件即可,如此做法,可达到动态的自动制作安装包的目的。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-114471-1.html
quot
是不是得发个道歉声明啊
休言开战