实现Wince程序的安装包制作的自动化

打包Windows CE应用程序(一) 自己编写inf文件,然后命令行调用cabwiz.exe进行打包 阅读详情

实现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盘。

二、认识inf文件
wince自带的打包工具采用脚本的方式来进行打包,这个脚本便是inf文件,因此需要对inf文件的格式有相当的了解。

INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚本以控制硬件操作。在INF文件中指明了硬件驱动该如何安装到系统中,源文件在哪里、安装到哪一个文件夹中、怎样在注册表中加入自身相关信息等等。安装监视器、调制解调器和打印机等设备所需的驱动程序,都是通过INF文件,正是INF的功劳才使得Windows可以找到这些硬件设备的驱动并正确安装。

INF文件的规则
INF文件其实是一种纯文本文件,可用任意一款文本编辑软件打开进行编辑,如:记事本、写字板等。INF文件有一整套的编写规则,每一个INF文件都是严格按照这些规则来编写的。

*规则一:INF文件是分节的,每个INF文件有许多的节组成,节名用方括号括起来。这些节名有些是系统定义好的,有些是用户自定义的。每节名最长为255字符(Win2K/XP/2003)或28个字符(Win 98)。节与节之间没有先后顺序的区别,另外,同一个INF文件中如果出现两个同样的节名,则系统会自动将这两个节名下面的条目合并到一起。

*规则二:在节与节之间的内容叫条目,每一个节又是由许多的条目组成的,每一个条目都是由形如"signature="$CHICAGO$""的形式组成的。如果每一个条目的等号后有多个值,则每一个值之间用","号分隔开。

*规则三:INF文件对大小写不敏感。

*规则四:";"号后面的内容为注释。

*规则五:如果一个条目的内容过多,则用"/"将一行内容书写为多行。

INF文件节的定义
Version节
每个INF文件都包含此节,该节中的条目主要是描述此INF文件支持的设备类型和适用的操作系统。在该节中如果出现"signature=" $CHICAGO$""这样的条目则表示该INF文件适用于Windows 98之后的所有操作系统,如果包含"signature="$Windows NT$""这样的条目则表示该INF文件适用于Windows 2000/XP/2003操作系统,而且两者必具其一。另外,该节中"CLASS"条目表明设备类型,常见类型有:Display(显示设备,如显卡)、Media(多媒体设备,如声卡)、Net(网络设备,通常是网卡)、Modem(调制解调器)、Printer (打印设备)、Image(图像捕获设备,如摄像头)。

Manufacturer节
该节中的条目主要是描述INF文件可以识别的所有硬件设备,其中包含有设备的生产厂家,以便设备的正确安装。如"%ATi%=ATi"指明设备的生产商为"ATi",这个大家都不会陌生吧,是显卡的生产商。

SourceDisksNames节
该节主要指明安装文件所在的介质。如:"1="ATi Drivers Release CD""表明所有驱动程序都在零售版的CD盘上。

SourceDiskFiles节
驱动程序文件列表及被安装的位置,该节必须结合[SourceDisksNames]节才能知道具体的位置。如"atinbtxx.sys=1",则你必须到[DestinationDirs]节去查看"1"具体代表那个位置。

DestinationDirs节
INF文件指示安装程序在安装的过程中将一些文件复制到硬盘,或将硬盘上的一些文件删除、重命名等。该节即指定了文件所在的路径。

DefaultInstall节和Install节

描述了设备驱动程序与硬件设备的实际属性。默认情况下,首先执行[DefaultInstall]节,该节指定了要复制或删除的文件,注册表的更新,INF文件的更新等等信息,同时又包含指向其他节的指针。

String节

该节定义了字符串变量,当某些字符串频繁地出现在INF文件中,为简化输入,可在该节中定义一字符串变量,代表该字符串出现在INF文件中。

三、一个简单的安装包的制作
此简单的安装包主要是制作inf文件,我们这次制作的安装包将要安装到嵌入式设备中,安装的全路径为:

/flash/photo.jpg

/test disk/test.exe

/test disk/test.jpg

并且我们设定test.exe为启动文件。

 

1、在PC上放置一些文件,存放的全路径为:
F:/CurRel/flash/photo.jpg

F:/CurRel/test disk/test.exe

F:/CurRel/test disk/test.jpg

2、写一个inf文件,保存成test.inf文件。
[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,可从中检查是否发生了错误。

四、小结
以上的简单的安装包可以扩展成更多的存放路径及更多的文件,可以满足中小型安装包的应用。一旦制作成功,只需将inf文件进行保存,每次制作新安装包只需将相关的文件替换即可。

另外由于inf文件限制比较多,无法做到灵活应用,可采用动态生成inf文件的方法。主要思路如下:将文件按照相对路径的方式存放在某一文件夹中,然后生成一个xml文件,此xml文件存放了这些文件的数量及要安装的路径,凭此xml文件动态生成inf文件,然后自动制作安装包。

检查时,只需核对xml文件即可,如此做法,可达到动态的自动制作安装包的目的。

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/luhouxiang/archive/2009/04/29/4137446.aspx

WinCE5.0/6.0下,通过command line实现自动化编译 作者:ARM-WinCE     好久没写Blog了,实在觉得说不过去了,今天介绍一下WinCE的自动化编译。 先来解释一下:一般我们要编译WinCE都是先创建工程,然后再IDE的开发环境中进行编译。对于WinCE5.0来说,是用Platform Builder5.0;对于WinCE6.0来说,就是用VS2005,因为PB6.0已经集成到VS2005里面了。这样有个问题,就是每次都要人 阅读详情

相关推荐

基于WINCE系统的逆变器控制程序实战

逆变器控制程序是指在电力系统中,用于将直流电(DC)转换为交流电(AC)的软件控制逻辑。这一程序对保证电力供应的质量和安全至关重要。随着技术的发展,控制程序变得越来越复杂,需要高效的算法和编程技术来实现精确、稳定的电源转换。Windows Embedded Compact,简称WINCE,是微软公司针对嵌入式系统推出的实时操作系统。它具有体积小、响应速度快、可定制性强等特点,适合于资源受限的硬件平台,如逆变器控制板等。

weixin_36444661的博客 937

如何制作WinCE程序安装包(cab压缩包)

转自:http://blog.sina.com.cn/s/blog_49aef14b0100ef89.html~type=v5_one&label=rela_nextarticle 如何制作WinCE安装包 一、工具软件 要在Wince安装程序,则需要制作*.cab安装包。制作*.cab安装包,需要专门的制作工具软件,该软件需在同级目录下包含如下文件: Cabwiz.exe 、cabwiz

wocao1226的专栏 3151

wince 6.0安装包下载地址

这个可是可以下载下来安装的,不是在线安装的。 安装序例号可以在网上找,很多!

WINDOWS CE打包过程

Smartphone 的名称不能为中文 把程序,从新生成解决方案,然后在添加一个 项目-其他项目类型-安装和部署-智能CAB项目; 还可以使用此窗口更改制造商的名称,以及指定允许的最低和最高操作系统版本。 可以将“OSVersionMin”属性设置为 4.21,以指示您的 Pocket PC 应用程序具有屏幕方向感知功能。但是,将此属性设置为 4.21 会阻止应用程序安装到基于...

weixin_30832143的博客 273

WinCE脚本解析程序(写写文本就能做很多意想不到的事情)

简介:CETool是一个WinCE的辅助程序,使用C语言和Windows API编写,作了一些特殊处理以同时支持WinCE5和WinCE6,主要实现shell中的功能,提供的各种操作涉及到文件系统、窗口管理、进程管理和流程控制几个方面,通过解析配置文件内容来执行相应的操作,属于一种脚本解析程序。程序有以下特点:1. 程序一般是在原路径执行,比如一开始就放置在\Storage Card\目录下,即打开后就以\Storage Card\为工作目录开始处理各项操作。考虑到在程序运程过程中可能要对程序所在分区(或磁盘)进行格式化(或者是移除SD卡)等操作,故添加了一项“自我复制到内存中运行”的功能,即启动后先检测工作目录是不是在内存虚拟出来根目录"\"下,如果不是则先对自身进行复制再重新加载复制后的可执行文件,以便后续的SD移除、或者格式化等操作。对于配置文件,因为是一开始就读进内存中的,所以无需进行复制。此功能一般都不需要使用,即直接在原来的路径运行即可,如需开始此功能,只需将配置文件的文件名从CETool.ini改为_CETool.ini即可。 2. 程序在一次性加载完配置文件后,接着逐行去解析文件内容,遇到注释行或者是格式不正确的行则跳过该行,配置文件有以下特点: (1)配置文件无大小限制,仅取决于物理内存大小,支持Unicode与ANSI编码的文件格式; (2)配置文件中每行的长度无限制,但某些操作的参数对长度有一定限制,如创建目录时,作为目录名的参数的长度有限制(这是文件系统和API的问题)。 (3)各个操作放置的位置、出现的次数无限制。 (4)每一行中的子操作数量无限制。 (5)具有合理的严格性和纠错处理,每一行中在'='后边非关键字处可随意添加空格、制表符、逗号,不影响正常解析,关键内容可以加上引号(单引号和双引号的区别,将在后述提到),如包含空格的路径、参数等。详细介绍参数特殊说明。 3. 支持相对路径的表示方式。参考特殊说明。 4. 支持从文件读入并作为参数的方式(即配置文件中嵌入其它文件,嵌套层数无限制,一般为临时创建的文件,一些不确定参数可以先保存到临时文件,再用此程序读取)。参考特殊说明。5. 支持VB代码嵌入,方便变量使用、判断、循环(这些还有些问题需要解决,将在CETool v2.0中实现)。 此程序涉及内容: 此程序涉及到一些Windows和C语言的基础知识,包括文件系统、注册表、进程、线程、窗口、事件、消息、进程间与线程间通信、脚本、动态库、递归、回调、多维指针、函数指针、数据结构、加密算法等。

WinCE_CabManager制作修改CAB安装详细图文教程

WinCE_CabManager制作修改CAB安装详细图文教程,很详细,一步一步教你如何制作出专业的cab安装包

WIn10 安装wince6.0开发环境(转)

最近开始学习wince6.0的移植,心血来潮写一篇博客,也是监督自己学习的开始,立一个flag。 搭建环境如下:     1、安装vs2005 和 补丁     2、安装wince600 和 补丁 一、开始安装需要准备vs2005和补丁如下 1)chs_vs_2005_VSTS_180_Trial.img (vs2005镜像文件) 2)VS80sp1-KB926604-X86-CHS....

xxxyluohui的专栏 3403

手把手教您如何在WinCE设备上安装程序

手把手教您如何在WinCE设备上安装程序,提供实例截图描述如何同步WinCE设备并安装WinCE程序到手持设备上

PPC/Smartphone/WinCE软件安装包制作

当我们开发完Pocket PC或者Smartphone的软件后,都需要考虑如何制作给最终用户使用的软件安装包。专门用于制作安装包的软件有很多,如Install Shield等。但在许多情况下,我们仅仅需要一些比较简单的安装过程,这时候我们完全可以利用SDK中提供的工具和一些免费的软件来制作安装包。另外,我们制作的软件经常会需要在不同的平台下运行,例如笔者开发的一个软件同时支持HPC,PPC,Sma

波拿巴的专栏 4328

制作WINCE系统下安装包CAB文件的工具

制作WINCE系统下安装包CAB文件,由于一些文件复制到WINCE系统中会报错,所以打包为.CAB文件。

WinCE6.0平台中文SDK安装包

这个是wince6.0下的sdk,可以直接安装,是中文的,非常好用

如何用labview开发wince应用程序

这几年安装Windows CE系统的单板电脑开始在工控行业里普及。用VS2005/VS2008开发Windows CE系统的应用程序可以像开发PC机的应用程序一样。现在我们还可以选择LabVIEW开发Windows CE系统的应用程序。这样我们就可以很容易开发出漂亮而且专业的界面。如仪表,波形显示等。Labview 2009安装和激活Touch Panel Module后即可支持Win

sqcg999的专栏 4061

深入解析SSD报错“READ FPDMA QUEUED”:从诊断到修复全流程

本文深入解析了SSD报错“READ FPDMA QUEUED”的含义、成因与全流程解决方案。该错误通常指示硬盘硬件或健康状态问题。文章详细介绍了如何通过系统日志定位错误、解读关键的S.M.A.R.T.健康报告(重点关注重分配扇区计数等指标),并逐步进行硬件排查(如更换SATA数据线)、软件修复与数据抢救,最终指导用户根据诊断结果做出维修或更换SSD的决策。

weixin_29233333的博客 400

WinCE5.0/6.0下命令行实现自动编译

转帖网址:http://www.joymo.cn/Html/articles/pocketpc_6_40228473468.html先来解释一下:一般我们要编译WinCE都是先创建工程,然后再IDE的开发环境中进行编译。对于WinCE5.0来说,是用Platform Builder5.0;对于WinCE6.0来说,就是用VS2005,因为PB6.0已经集成到VS2005里面了。这样有个问题,就

云卷云舒 1279

DIC新手避坑指南:压缩实验中的应变测量常见错误与数据校验技巧

本文为DIC技术新手提供了压缩实验中应变测量的全面避坑指南。文章系统梳理了从试样尺寸录入、散斑质量到数据后处理中应变方向与符号混淆、数据插值对齐等常见错误,并分享了基于MATLAB的自动化数据校验与可视化对比技巧,帮助建立可靠的实验数据分析SOP,确保DIC测量结果的准确性。

weixin_29313423的博客 113

告别概念晕眩:用TC3xx SMU和TLF35584的配置实例,搞懂ASIL D功能安全落地

本文通过英飞凌TC3xx系列MCU的SMU模块与TLF35584电源管理芯片的协同配置实例,详细解析了如何实现符合ASIL D功能安全标准的刹车辅助ECU。文章涵盖SMU报警源配置、响应动作类型、TLF35584的安全状态管理,以及构建完整安全闭环的实践方法,帮助工程师将抽象的安全概念落地为具体设计方案。

weixin_30647065的博客 437
上一篇: 搭建Windows Mobile的开发平台(VS2008+sp1)
下一篇: 制作在wince系统上的安装程序解决方案
Matrix0078
博客等级 码龄23年 126粉丝 90原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值