在Target Desinger中包含了一万一千多个组件,怎样找到自己需要的组件呢?下面我们来讨论一下组件浏览器中的过滤器。
可以通过过滤的方法找到一个组件或一组相关的组件,Windows XP Embedded开发包内包含的大量组件可以通过过滤器方便地进行查找。
点击在组件浏览器上面的Filter按钮,创建一个新的过滤器
在Filter Manager对话框中,按New按钮
在Name栏填入TweakUI
在过滤规则描述栏中,双击过滤规则“Component Display Name Contains[Sybstring]”,在出现的Filter Editor对话框中,输入TweakK
按下OK关闭过滤编辑器
在Filter Manager中,Avalable Filter List栏中应该显示Tweak
选择Tweak过滤器,并按下Apply Filter按钮
在组件浏览器中,会仅仅显示Tweak UI Control Panel Applet组件
将该组件加入到配置中
将过滤器恢复到All Conponents显示状态,显示所有的组件
下一步,将向配置中添加Design Template组件,这个设计模板组件也是个宏组件,并且与Demo Platform Component 组件非常类似;所谓宏组件是指一个仅仅包含组件关联信息的组件,而没有其他功能。例如可以将与TCP/IP协议有关的20个组件都与一个名为TCP/IP的宏组件关联,通过添加这个TCP/IP宏组件,可以一次添加那20个组件。
向配置中添加组件的方法有很多,可以单个组件逐一添加;可以添加宏组件;也可以通过Target Designer的关联性检查功能自动添加组件。
Windows XP Embedded提供了若干的模板组件,从单一的软件功能如TCP/IP、DerictX8.0到整个系统模板如机顶盒模板、POS机模板都有,可以根据实际应用考虑使用其中一个。
加入Windows-based Terminal Professional组件,这个组件可以在Design Templates文件夹中找到。在配置面板中,扩展这个组件,并选中Settings,右边的属性面板会显示该宏组件中主要的组件模块。
下一步工作是要向配置中添加其他必须的核心组件,在这个例子中,你的文件系统是FAT格式,所以需要添加FAT组件
1. 1. 可以在Software\\System\\Storage and File Systems\\Infrastructure\\File Systems路径下找到FAT组件
2. 2. 再加入Fat format组件,该组件在Software\\System\\Storage and File Systems\\Applications路径下
3. 3. 加入Explore Shell组件,该组件在Software\\System\\User Interface\\Shells路径下
4. 4. 加入NT Loader组件,该组件在Software|System\\System Services\\Base.路径下
最后,进行关联性检查,确保所有的必要组件都已经添加到配置中。
在Configuration菜单中,选择Check Dependencies进行组件关联性检查,所有宏组件的关联组件以及缺少的组件都会自动添加到配置中。
关联性检查结束后,会提示一个错误:
Component: "Regional and Language Options [Version 5.1.2600, R620]" requires at least one additional enabled component not in the configuration.
Target Designer不能通过自动添加组件解决这个错误,因为有多个组件可以选择,所以Target Designer会将可以选择的组件列出,由开发者自己决定添加哪一个组件。
选择Target Designer底部的Tasks栏
双击上面的条目,Target Designer会显示一个提示,要开发者从多个可选的组件中挑选需要的组件。
在本例子中,选择English Language Support组件,按下Add按钮,尽管其他语言也列出了,但并不是必须的。
开始菜单选项
在关联性检查阶段,User Interface Core组件会被自动添加到配置中,因为其他开发者选中的组件需要该组件的支持;如果需要在Image的开始菜单中包含需要的菜单,则要设置该组件的选项。
选择的开始菜单选项:
? ? Show Control Panel on Start Menu
? ? Show My Computer on Start Menu
不要选择的开始菜单项:
? ? Prohibit Access to Hot Keys
? ? Prohibit Access to Control Panel
最后再进行一次关联性检查。
构造及测试运行时IMAGE
在Configuration菜单中,选中Build Target Image… 菜单项,出现Build对话框
在Destination栏中,添入一个保存Image的空目录,例如在C:\\Windows Embedded Images目录下,建立一个新的空目录Test Configuration
log文件应保存在另外的目录中,不要与Image在同一目录
按下Build按钮,Target Designer会完成Image的构建;完成后,在指定目录下会生成如下的文件和目录集合
如果在运行了关联性检查之后,对配置进行了改变,构建Image时,Target Designer会提示开发者再做一次关联性检查。
构件完成后,会显示如下的提示框:
在上面的例子中,请注意提示No Errors,但有两个Warnings,第一个Warning出现是因为在配置中没有输入PID号码,不输入PID号码构造出来的Image是个限时评估版的;第二个Warning出现是因为Tweak UI 组件被包含进配置,但该组件不是Released版本组件,当然对Image本身没什么影响。
构造完成后,关闭该对话框。
将以上Image文件目录中的目录和文件拷贝到D盘的根目录下,因为文件目录必须和前面配置属性中的设定相匹配,拷贝完成后,得到下面图示的目录:
保存配置信息,选择File菜单的Save菜单项。
关闭Target Designer
重启机器
测试XPE系统
在重启过程中,会提示两个启动选项,运行Windows XP Professional, 或者运行Windows XP Embedded. 择Windows XP Embedded。
启动选项使用C:\\Boot.ini控制的,在前面我们已经在Boot.ini中添加了如下段落:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\\WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\\WINDOWS="Microsoft Windows XP Embedded" /fastdetect
当XPE正常运行后,可以查看在该系统中是否包含了我们需要的功能,以此来检验我们的工作。
打开Control Panel,查看其中是否包含了Tweak UI Control Applet选项。
运行Tweak UI控制面板程序,可以看到下面的对话框:
到此,我们完成了整个开发过程。
开发XP Embedded Bootable CD
1.准备工作
首先做一些硬件方面的准备:至少需要一台刻录机和两块硬盘。第一块硬盘就是操作系统所在的硬盘,对分区没有什么特殊要求,但操作系统必须是Windows 2000/XP/Server 2003。第二块硬盘是制作光盘的关键,此盘中的分区数量不得大于4个,并且要保留至少8MB未分区空间,第一个分区为主分区,分区格式为FAT16,容量必须小于一张光盘的容量(650MB或700MB),根据我们这次讲解的内容计算,分成300MB即可。所有分区工作都可在Windows中完成,这里不再赘述,分完区千万不要忘记激活第二块硬盘的主分区(下文中称该主分区为“目标区”,第二块硬盘为“目标盘”,第一块硬盘为“系统盘”)。
分好区后,将“C:\Program Files\Windows Embedded\utilities\”中的“BOOTPREP.exe”拷贝至目标区,由于这是一个16位程序,所以必须在DOS下运行。重启电脑,进入BIOS(一般是按“Del”键或“Ctrl+Alt+Esc”组合键),将系统盘设为“None”(当然,也可以关闭电脑,拆下系统盘),再设置首先从软盘或光盘启动(视你想用哪种方法启动而定),保存退出。使用Win98光盘或启动软盘引导至DOS界面下,输入“C:”,然后回车进入C盘,也就是目标区,再输入“BOOTPREP”并回车,按两次“Y”确认后,目标盘设置完成。
2.创建“EnableAutoLayout”组件并导入
①打开开始菜单中的“Component Designer”,在打开的程序界面中选择菜单“File”→“New”创建一个新的“sld”文件。
②展开窗口左侧的“Windows XP Embedded Client (x86)”目录,并在“Components”目录上单击右键,选择“Add Component”。
③在右侧新建窗口的“Name”区内输入一个名称,例如“EnableAutoLayout_Settings”(图3)。
④右键单击左侧窗口中的“Registry Data”,选择“Add”→“Registry Data”,在弹出的“Add Component Registry Resources”对话框中分别填写以下值(图4):
Root: HKEY_LOCAL_MACHINE
Key name: SOFTWARE\Microsoft\ Windows\CurrentVersion\OptimalLayout
value name: EnableAutoLayout
Type: REG_DWORD
value: 0
⑤选择“Default”单选框,按“OK”回到主窗口,选择“Flie”→“Save”保存为“EnableAutoLayout.sld”,下面将该文件导入数据库。
⑥在开始菜单中选择“Component Database Manager”,在“Database”标签窗口中选择“Import”(图5)。在弹出对话框的“SLD file”一栏中找到刚刚保存的“EnableAutoLayout.sld”文件。
⑦最后选择“Import”开始导入组件(图6),导完后关闭所有对话框。
3.创建“Target hardware device drivers”组件并导入
①进入目录:C:\Program Files\Windows Embedded\utilities\,执行“tap.exe”,很快便在同一目录中生成一个“devices.pmq”文件。
②在开始菜单中选择“Component Designer”,在弹出窗口中选择“Flie”→“Import”,导入“devices.pmq”文件(导入时间较长,图7)。
③导入完毕,选择窗口左侧的“Components”→“devices”,在右侧窗口的“Name”文本框中填写“My devices-hardware”(图8)。
④单击右侧窗口中“Prototype”栏旁的“Browse”按钮,在弹出窗口中选中“Software”→“Test&Development”→“Selector Prototype Component”(图9)。按“OK”回到主窗口,选择“Flie”→“Save”保存文件为“Mydevices.sld”。
⑤按第2步中的“⑥”和“⑦”两个步骤将“Mydevices.sld”导入到数据库。
4.创建El Torito实时运行镜像(El Torito run-time image)
①在开始菜单中选择“Target Designer”,在弹出窗口中选择“File”→“New”,命名为“My XP Embedded”后按“OK”(图10)。
②“Target Designer”的窗口共分为4部分,上面左侧窗口中显示所有组件的列表,先前导入的“Enable AutoLayout_Settings”和“My devices-hardware”组件就放在根目录下。中间窗口中显示新建的“My XP Embedded”系统的组件列表,此时还没有任何组件。右侧窗口则用于显示“My XP Embedded”系统组件的属性和设置窗口。下面的大窗口显示制作信息,有“Tasks”、“Messages”和“Debug”3个标签(图11)。
③双击左侧窗口中的“EnableAutoLayout”和“My devices-hardware”组件,将它们添加到中间的“My XP Embedded”窗口中。
④展开左侧窗口中的“Design Templates”,双击添加“Windows-based Terminal Professinal”组件,这个组件中包含了一个最小化XP Embedded所必需的基本组件。
⑤展开左侧窗口中的“Software”→“System”→“Storage & Flie System”→“Infrastructure”→“Flie Systems”,双击添加“FAT”组件。再展开左侧窗口中的“Software”→“System”→“Storage & Flie System”→“Applications”,双击添加“FAT format”组件。这一步是为实时运行镜像设置文件系统。