一般咱们在创立Windows Embedded Standard组件的时分都会运用Component Designer生成sld文件,然后由Component Database Manager导入到组件数据库,在一个Windows Embedded Standard项目中,可能有多个组件,包括utilitie组件,driver组件,和shell组件,当数量和版别的规划巨大到必定程度的时分,办理,分发这些组件的时分并不是十分便利。其实有一个很好的方法,能够把组件制造成装置程序的方法,而且还能够装备相应的约束条件,更有利于办理和分发。一起,把这些高品质的组件共享给其他开发人员更能够完善Windows Embedded Standard的生态环境。
下面由最简略的部分开端。咱们先需求创立一个Windows Embedded Standard驱动程序的组件。我挑选的驱动程序是FUJITSU U1010的Realtek ALC262声响控制器的驱动程序,Realtek的声响控制器广泛的应用在各种桌面计算机和移动计算机上。
开端之前,咱们需求创立相应的文件夹结构。我个人习气在C根目录下面创立Components文件夹,来包容半成品组件。当然能够根据需求来挑选自己喜爱的姓名。在Components文件夹下面,创立ALC262文件夹,在ALC262文件夹下,别离创立doc,rep,sld三个文件。doc用于安放相应的阐明,例如装置和组件阐明,卸载的阐明,和授权协议等。一个高品质的组件,文档是很重要的。
准备工作现已完结,现在能够开端组件的创立进程:
作为一个驱动程序的组件,首要,要导入相应的inf文件。翻开Component Designer,File|Import…能够找到用于导入的对话框。在Realtek驱动程序的文件夹下,咱们发现多个inf文件,哪个才是适宜的呢?一般有两种方法来选,榜首种方法,假如这个设备装置过Windows XP,X:\Windows\inf\下会有名为oem1.inf,oem2.inf,ome3.inf……其间必定有一个Realtek的inf,这个inf便是咱们需求的。第二种方法,翻开tap生成的devices.pmq文件,会对硬件做具体的描绘:HDAUDIO\FUNC_01VEN_10ECDEV_0262,HDAUDIO为设备地点总线,DEV_0262为
设备ID。驱动程序中包括DEV_0262的inf文件便是咱们需求的。
导入完结,现已生成了相应的sld文件,咱们还需求对其加以完善。能够看到Realtek High Definition Audio现已在Components下面。咱们依照下面几步来完善这个sld文件。
1.在Repositories下树立一个新的Repository,命名为Realtek High Definition Audio Repository
2.在Packages下树立一个新的Package,命名为Realtek High Definition Audio Package
3.Realtek High Definition Audio Repository的Group Membership下面增加Realtek High Definition Audio Package
4.在Realtek High Definition Audio组件的Group Membership下面增加Realtek High Definition Audio Package
5.保存sld文件到sld文件夹。
6.设置Realtek High Definition Audio Repository的Source Path,设置为rep文件夹。由于sld文件现已保存,所以方位会变成相对路径.\..\rep
7.最重要的一步,在Realtek High Definition Audio的特点里设置Repository为Realtek High Definition Audio Repository
8.Realtek High Definition Audio的Files下删去HDA32.cat,在Windows XP Embedded驱动程序签名是无效的
9.依照Files的列表,把这些文件仿制到rep文件夹下。
10.View|Release Components,能够在运用组件的时分防止正告,最终保存sld文件。
这样,一个组件的sld文件就现已完结了。
接下来,咱们需求把组件制造成装置文件,以便装置到组件数据库中去。
1.创立weupdate.inf文件。内容如下:
Code
[Version]
Signature=$WINDOWS NT$
[XPEInstall]
MinimumPlatformRevision=2010
MinimumDatabaseVersion=2010
QFENumber=SP3
Reboot=0
[Preinstall]
Database Backup=DBBackup
Uninstall SP3 Beta=SPUninst, 1902
[DBBackup]
Text=You should backup your existing Windows XP Embedded database before updating the database.\n\nIf you have already backed up your database, click OK to continue.\n\nFor information on how to back up your database, click Help.
Document=.\doc\BackupXPEDB.rtf
[SPUninst]
Text=You should remove previous versions of Windows XP Embedded Service Pack 3 before updating the database. If you already done this, click OK to proceed.\n\nUpdating the database over a previous version may cause errors during build.\n\nFor information on how to remove previous versions of Windows XP Embedded Service Pack 3, click Help.
Document=.\doc\RemoveXPESP3.rtf
[SLD.NoRep]
sld\HDARt.sld
假如选用此inf文件,必定要确保doc下有相应文件名的文档,不然无法正确运转weupdate.exe
2.仿制weupdate.inf和weupdate.exe到ALC262文件夹下。
3.最终制造成cab自解压装置程序,设置解压缩后主动运转weupdate.exe