无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 12273|回复: 9
打印 上一主题 下一主题

Windows Embedded Standard 8 入门指南 1 of 5-转帖-

  [复制链接]
跳转到指定楼层
1#
发表于 2013-3-23 13:03:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原帖地址 http://blog.sina.com.cn/s/blog_6e94205b01013gqk.html
注意:本教程是针对Release Preview(发布预览版,以下用RP代替)版本的Windows Embedded Standard 8 所写。虽然正式版本(RTM)与RP版,不会有太大的区别。但是还请大家要注意。

我个人水平有限,欢迎大家指出文章中的错误,谢谢。

肖正波


第一章 概述


1.1 Windows Embedded Standard 8概述

Windows Embedded 8 Standard 是构建属于智能系统的区分设备的可信赖平台。它是 Windows 8 的组件化版本,其附加技术扩展了 Windows 专用设备的功能。


技术参数:

处理器体系结构
支持多处理器体系结构(从CTP1 之后,MD里面的ARM选项就消失。所以WES8 支持ARM的希望不大,但是将来微软可能发布CE8,不过和可能要等到win9发布之后了):
- x86
- x64

工具
改进的开发人员体验,可满足整个开发周期的要求:
- 使用映像构建器向导 (IBW) 的向导体验,可快速建立原型
- 使用映像配置编辑器 (ICE) 的高级配置

最新的桌面技术创新

- Metro UI
- Internet Explorer 10
- Windows Media Player 12
- 远程桌面协议 8
- Silverlight 5
- .net Framework 3.5 和 4.5

适当级别的组件化
适用于构建专用设备的粒度级别:
- 150 多个基于 Windows 8 的最新创新的直观功能包
- 用于满足嵌入式特定要求的嵌入式功能,例如 统一写入筛选器(Unified Write Filter,这个太爽了、太好用了)、键盘过滤器、手势过滤器(Gesture Filter)、休眠一次恢复多次 (HORM,通过Unified Write Filter实现)、对话框筛选器和自定义外壳程序、在USB大容量存储设备上运行(Win8是原生支持的USB3.0启动)
- 450 多个用于实现与不断增长的设备硬件和外设集的兼容性的驱动程序集

应用程序兼容性
用于 Windows 8 的应用程序和驱动程序可以在 Windows Embedded Standard 8 上运行,而无需困难、昂贵且耗时的端口设定工作

企业连接性和可管理性
丰富的沉浸式用户体验

改进的电源管理
通过使用智能电源管理 API,可以构建改进 CPU 空闲时间的应用程序。

开发人员可以使用 Windows Embedded Standard 8 创建各种智能、互连、面向服务的高级商用设备和消费类设备。 这些设备可以运行成千上万种现有 Windows 应用程序和驱动程序,范围从瘦客户端到多功能打印机,其中包括:


高级机顶盒


加油机


功能齐全的服务点


游戏设备


家庭自动化网关


工业控制


智能装置


多媒体 Internet 设备


网亭


数字标牌


移动服务点


监控设备


多功能打印机


联网式媒体设备


瘦客户端



1.3 Windows Embedded Standard 8开发流程

Windows Embedded Standard 8开发套件一共包含三张光盘。,一张Toolkit、一张x86的Bootable IBW、一张x64的Bootable IBW。两张Bootable IBW是可启动光盘。目标设备从Bootable IBW光盘启动之后会加载Image Builder Wizard(IBW),用户可以一步一步的操作IBW,来给目标设备安装一个系统。这个过程和安装普通的Win8很像不过有了更多的选择项目。Image Builder Wizard(IBW)是运行在Windows PE上的,不需要去安装其他工具直接使用Bootable IBW光盘就可以构建Runtime镜像(目标系统镜像),这颠覆了传统嵌入式开发的方式。




见图1-1、1-2,整个开发流程包含5个阶段:

配置,该阶段分为两种方式:

直接使用IBW构建系统镜像

使用Image Configuration Editor(ICE)编写一个应答文件,然后IBW根据应答文件来操作。 在此阶段,你可以使用Module Designer(MD),将自己的应用组件化,导入到ICE中。

构建,Image Builder Engune(IBE)根据配置阶段的信息,在目标设备中完成镜像的构建。大约需要30-90分钟完成目标系统镜像构建(这部分不需要人为干预,但最后OOBE阶段除外)。

定制,目标系统镜像构建完成后,开发人员可以在运行的目标嵌入式镜像上进行一些定制(例如:修改注册表、安装应用软件等)。

捕获,将已经完成定制的目标系统镜像,通过ImageX捕获成*.wim个格式的镜像文件。

部署,将捕获成*.wim个格式的镜像文件,通过网络、USB存储设备、光盘等介质批来部署到同型号的其他目标设备中。


图 1-1 开发流程-1




图 1-2 开发流程-2




END

肖正波

深圳艾斯威特贸易有限公司

2012-10-28

评分

参与人数 2无忧币 +33 收起 理由
apollooqm + 5 赞一个!
gongjc + 28

查看全部评分

2#
 楼主| 发表于 2013-3-23 13:05:58 | 只看该作者
Windows Embedded Standard 8 入门指南 2 of 5  (2012-10-28 20:21:17)转载▼ 标签: windows standard 8 杂谈         分类: WES8开发技术


注意:截至到我发布这篇文章之前,Windows Embedded Standard 8 已经发布了RP版本,这个版本是正式版本(RTM)发布前的最后一个版本。

大家可以从http://connect.microsoft.com/directory/?keywords=windows+embedded 注册申请参与测试(需要参与3个强制性调查)后,即可下载。
第二章 Image Builder Wizard (IBW)
2.1 Image Builder Wizard (IBW)概述

Image Builder Wizard (IBW,镜像构建向导)是一个工具,您可以用它来创建,配置,安装一个Windows Embedded Standard 7嵌入式系统镜像到您的嵌入式设备上。
Image Builder Wizard可以直接运行在您的嵌入式设备上(IBW是运行在Windows PE 4.0上的),通过这个向导指导您完成一个Windows Embedded Standard 8嵌入式系统镜像的配置。然后,您可以并将镜像安装到您的设备中,或者您可以部署一个已经捕获好的WIM(Windows Imaging Format)镜像文件(*.wim格式的文件)或Answer File(应答文件,*.xml格式的文件)。
2.2 Hello! Windows Embedded Standard 7

据不完全统计(主要是我自己的估计)大多数程序员写的第一个程序是”Hello”、”Hello World”、”Hello,My name is……”;我相信本文的读者大多数都是第一次接触Windows Embedded Standard 8(WES 8),在本节中我们要对WES 7说一声”Hello”,我们要使用Image Builder Wizard (IBW)构建一个目标系统镜像。放心这很容易,不需要写一行代码。我们的目标是在虚拟机内,构建一个体积很小的。适合一个专用设备使用的系统。

首先需要一些准备工作。你需要:
安装好Vmware Workstation 9
http://www.iswtt.com/blog/download/ISWT_WindowsEmbeddedStandard 8_TEST.zip 下载虚拟机模板。
已经下载好了Embedded_8_32Bit_Bootable_IBW.iso

好了,让我们开始吧。

注意:正如本节所演示的,请在虚拟机中完成这系统镜像的构建,因为部分操作会将您硬盘的数据完全摸掉!



图2-1 进度条



图2-2 欢迎界面

• 步骤 1:

用Vmware Workstation 9打开:“ISWT_WindowsEmbeddedStandard 8_TEST.vmx”这个文件。

“Embedded_8_32Bit_Bootable_IBW.iso”载入虚拟机的光盘驱动器,然后配置虚拟机从光盘驱动器引导。如果是实体机,请将“Embedded_8_32Bit_Bootable_IBW.iso”烧录光盘,然后修改BIOS的启动项设置将“CDROM”配置成第一启动设备,然后插入刚才烧录的光盘。最后启动实体机,让实体机从光盘引导。
虚拟机(实体机)启动后确认进度条,见图 2-1。耐心等待几分钟直到出现如“图 2-2”的欢迎画面。这里一共有三个选项:“Install NOW(开始安装)”、“Deploy an Answer File or WIM(部署一个应答文件或WIM文件)”和“Launch WinPE Command Prompt(加载WinPE 命令提示符,CMD)。”我们选择:“Install NOW”来启动IBW。


图2-3 输入产品密钥

• 步骤 2:根据提示,输入产品密钥。

对于RP测试版,可以使用NFJPK-4MJBJ-72FJM-J3C9W-D9JTT来激活一个30天的评估版本。



图2-4 许可协议

• 步骤 3: 选中“I accept the license terms”代表接受许可协议(见图2-4),然后单击“Next”按钮继续。


图2-5 模板

• 步骤 4: 选中“Do not use a template”,后单击“Next”按钮。可以一自己从“零”开始选择组件。


图2-6 区域与语言

• 步骤 5: “Language to install(安装的语言,最终系统界面的语言)” 选择“Chinese (Simplified,china)”(见图2-6),然后单击“Next”按钮。其他两项:“Time and currency format(时间和货币格式)”和“Keyboard or input method(键盘或输入法)”会自动选择对应的选项。


图2-7 查找和选择驱动

• 步骤 7:选中“Automatically detect devices”(见图2-7),然后单击“Next”按钮。
在本页中给出了三个选项:
1. “Automatically detect devices”,自动检测设备。
2. “Choose a .pmq”,选择一个PMQ文件。类似自动检测,不过不是从当前的环境而是根据PMQ文件提供的数据进行检测,PMQ文件(该文件记录了详细的硬件环境信息。)可以使用“Target Analyzer Probe”(TAP.exe)生成,该工具的x86、x64版本分别含在WES 7开发套件的两张启动光盘的\sources目录下。TAP.exe可以在Windows PE中执行。选中该选项后单击“Browse”按钮选择PMQ文件。
3. “Do not select additional drivers”,不加载额外的驱动:将不会让开发人员选择驱动包和加载额外的驱动(确认驱动的安装)。
注意:使用此选项并不会大幅度的减少系统体积,但是如果目标设备使用的SATA(ACHI或RAID模式)、SCSI、SAS等其他非IDE接口的外存储器,请一定确保与其控制器对应的驱动程序被加载。因为某些系统启动必须的驱动程序并没有包含在组件库中。尤其是上面提到了外存储器控制器的驱动程序要特别注意!Windows Embedded Standatd 8中已经集成了Vmware的SCSI磁盘控制器。


图2-8 确认驱动的安装

• 步骤 8:单击“Next”按钮。

附注:
在本页**有设备共有三个分类:
1.“Unmapped Devices”,未映射的设备,表示没有找到驱动程序的设备。
2.”External Devices“,额外的驱动,表示用户向IBW提供的驱动程序。
3.“Inbox Drivers”,自带的驱动,表示组件库已经有的驱动程序。
单击“Browse”按钮在弹出的窗口中可以选择额外驱动的存储位置。例如:将额外的驱动文件存放在USB 可移动存储器上(U盘)。选择U盘的驱动后,单击“OK”按钮,完成操作。会弹出报告信息。
单击“Switch viem”链接可以切换显示方式,按照驱动的类型显示。

注意:

对驱动目录搜索是支持子目录的,每个存放驱动的文件夹至少有一个INF文件
这种加载驱动的方式主要的成功主要取决于INF文件是否格式上合法,存在一定概率的驱动无法加载。如果无法加载则可以在“定制”阶段手工安装驱动(系统启动必须的硬件驱动除外!)。
在第一次IBW重新启动前不能移除装有驱动文件的存储器,否则构建系统镜像将失败。

  

  

通过以下几种方式可以获得额外的驱动程序:
1. 从硬件附带的驱动光盘;
2. 硬件制造商的支持网站下载;
3. 用第三方软件(例如:驱动精灵)从现有Windows 8中提取(不推荐此方法);

注意:
从1、2中获得的驱动程序往往是一个单独的自解压缩包,你必须使用7ZIP这类软件将其解压缩,并确保存放解压缩后的驱动的目录有带有INF文件。
一般磁盘控制器类硬件的驱动带有一个显著的特征:在其驱动(可能需要自己手动解压缩)的目录中会带有IMZ、IMA、IMZ格式等的软盘镜像文件或自写入软盘镜像的程序,如果没有INF文件,需要用“WINIMG”一类的软件将软盘镜像文件中的驱动文件提取出来。


图2-9 依赖性检查

• 步骤 9:单击“Resolve Dependencies”按钮,选中“Unbranded Screens”(见图2-9),然后单击“Next”按钮。单机“Down”按钮关闭对话框。
展开“Branding”,选中“Custom logon”和“Unbranded Boot。”然后单击“Next”按钮。

附注:

Unbranded Boot 可以隐藏Windows 8的开机界面,即被一个黑屏代替。
Unbranded Screens 可以去除所有Windows的商标logo和windows 字符串商标(开、关机画面、系统属性等),但是我们这里使用的是评估版本(含测试版),所以此功能无效。
Custom logon 可以屏蔽登陆界面中的电源选项、输入法选择、活动会话显示、登陆屏幕的过渡动画等,限制用户操作和客户的提升一体化感觉。
单击“Switch viem”链接可以改变当前组件的显示方式,可以按照组件名的字母顺序显示组件。
单击“Revert to original”链接可以所有组件的状态还原到本页的初始状态。

依赖性检查
WES 8包含了很多个组件,这些组件往往依赖其它组件才能工作或某些组件不能共存在一个系统镜像中,在IBW的组件选择页面中必须解决所有依赖性问题才能够进行继续构建系统镜像。
在本页中当你根据自己的需要选则了组件后,单击“Resolve Dependencies”按钮,IBW会自动检查是否出现了依赖性问题和解决存在的依赖性问题。如果选中了“Include applicable updates”则会自动添加相关的更新包(主要是安全更新),这会增加目标镜像大小但可以提高系统的稳定性和安全性。
当不要能自动解决的依赖性问题时回弹出“Resolve Dependencies”窗口,一般只会出现两种情况:必须选择一个组件或只能选择一个组件(不被选中的组件将被删除)。


图2-10 确认驱动和特性组件

• 步骤 10:确认后,单击“Next”按钮。



图2-11选择安装位置

• 步骤 11:选择一个分区(见图 2-19),单击“Next”按钮开始镜像构建。大约15-30分钟后构建完成。


图2-12 驱动器高级(单击“Device options (advanced)”后)

附注:

在本页中可以对磁盘进行分区操作,以下是各个按钮的功能(见图 2-12)。
1.Refresh 刷新,刷新所有分区的状态;
2.Load Device 加载驱动器,如果没有识别出驱动器,可以通过单击该按钮,弹出加载驱动对话框,加载用户提供的驱动程序;
3.Device options (advanced)驱动器高级选项,显示其它选项:“Delete”、“Format”、“New”、“Extend”、“Hide USB disk”、“Create separate system partition”;
Delete 删除,删除当前选中的分区,该分区的数据将被全部摸除!;
Format格式化,格式化当前选中的分区,该分区的数据将被全部摸除!;
New 新建;在未分配的空间的新建一个分区,可以指定分区大小;
Extend 扩展;调整当前选中的分区的容量;

图2-12 系统隔离分区

Create separate system partition 建立系统隔离分区,该分区处于隐藏状态、不为该分区分配盘符、该分区容量350MB装有Windows的引导器(Bootmgr)(见图 2-21);
如果选择的分区不符合构建镜像的条件,可以单击提示信息,得到详细的错误信息和解决方法。

图2-13 OOBE-评估版信息

图2-14 OOBE-个性化

图2-15 OOBE-设置


图2-16 OOBE-Microsoft 账户

图2-17 OOBE-选择本地账户


图2-18 OOBE-创建本地账户



图2-19 登陆后

• 步骤 12:我们经过已经称之为OOBE的阶段,对系统进行一些必须的初始化配置。因为我们是为了一个虚拟的专用设备构建,所以我们选择本地账户。建立账户后,系统第一次登陆会做一些初始化操作。屏幕是黑屏,等待1-2分钟即可看到Metro UI 风格的开始菜单,见图2-19。

附注:

因为我们是在虚拟机中构建的系统,所以你把鼠标移到右上角,Charm Bar 不容易出现,多尝试几次就好了。

END

肖正波

深圳艾斯威特贸易有限公司

2012-10-28
回复

使用道具 举报

3#
 楼主| 发表于 2013-3-23 13:08:12 | 只看该作者
Windows Embedded Standard 8 入门指南 3 of 5  (2012-10-29 20:46:40)转载▼ 标签: windows embedded standard 8         分类: WES8开发技术


第三章 Module Designer(MD)


3.1 搭建开发环境



在我们介绍Module Designer(MD)之前,我先要大家开发环境。你需呀:

准备好:

Windows Embedded 8 的Toolkit安装源(已经包含32bit的Catalog)。如果你要安装64bit(或64bit的IBW)的Catalog需要额外准备好,Windows Embedded 8 Standard 64bit Bootable IBW 的光盘。

确保你的计算机硬件符合下列要求:
1 GHz 32 位 或 64 位处理器
1 GB 操作系统内存(32 位系统)或 2 GB 操作系统内存(64 位系统)
完成安装需要 11 GB(安装所有可用组件) 可用硬盘空间
下列一个或多个媒体设备:
DVD-ROM 驱动器
USB 2.0 接口

确保你的计算机软件符合下列要求:
Windows 7 SP1 操作系统 或 Windows 8 (建议安装到英文版上)
已经安装 Microsoft .NET Framework 4 (Windows 8 默认已经安装)


图3-1  可供安装的组件

安装过程很简单。插好光盘。运行setup.exe启动安装程序。这里主要说一下可供安装的组件,见图3-1。

/Tools下分别是32bit和64bit的IBW

/Catalogs(相当于WES 7的DS库)分别是32bit和64bit的Catalog

/Windows Embedded Developer Update 用于升级开发工具(对于RP测试版,无意义)。

我们直接选择默认安装就可以。


3.2 用Module Designer(MD)创建一个组件。



在介绍Module Designer之前,我们先解释几个名词:

Catalog:相当于WES7的DS,从WES7 开始由于组件化的颗粒度变浅,组件数量减少。不再使用数据库管理组件。直接使用xml文档作为索引管理组件。所以就有了Catalog(WES 7 叫DS)。Catalog实际上是一个文件夹,包含组件的文件、索引和模板等数据。我们自定义的组件发布后要导入到Catalog中,才能被ICE识别。

Module:我们在这里把Module翻译成组件。组件简单来说,可以包含用户的文件、自定义的命令等。你可以将自己的应用程序打包成组件。


图3-2 Module Designer 创建一个组件
步骤1: 我们打开Module Designer,我们选择“Create new module”,创建一个组件,之后单击“Next”按钮。





图3-3 Module Designer 组件信息-1
步骤2: 参照图片设置或根据情况自行设置(见图3-3),之后单击“Next”按钮。

附注:

Catalog 是让你选择该组件将被用在那个Catalog中。
Friendly name 是组件的显示名称
unique name 是组件的实际名称,这个名称必须是唯一的不能和Catalog中现存的组件发生重名,一旦设置后不能被修改。默认是和Friendly name 相同。
Primary architecture 是处理器的架构。
Supported architectures 是你组件可以支持的处理器架构。·
Minimum Supported OS version 是你组件支持的最低系统版本。
This module’s version number 是你组件的版本号
Display category 是你组件将来显示在Catalog中的那个分支下,点“Browse”按钮可以修改。


图3-4 Module Designer 组件信息-2
步骤3: 参照图片设置或根据情况自行设置(见图3-4),之后单击“Next”按钮。

附注:此页只要是对组件的一个附加描述信息,“Public key token”我们稍后讲,怎样将组件签名,防止被篡改。


图3-5 添加文件



图3-6 添加驱动的询问



图3-7 已经添加驱动
步骤4: 单击“Add payload”可以添加项目(见图3-5)。之后单击“Next”按钮。

注意:我们建议将文件拷贝到目标位置,然后添加。这样不需要再次修改文件的目标的路径(自动给你生成好了)。

如果你选择添加的文件中包含INF文件,则会出现一个对话框(见图3-6),你可以根据实际去选择。

如果不是驱动选择第一项;

如果是驱动程序,但是这个程序需要运行一个exe程序去安装,则选择第二项,而且在后面的步骤中你要添加一个命令,去执行安装。

如果是驱动程序,你可以用设备管理器直接通过读取inf文件去安装则选择第三项。

警告:MD不会自动识别是INF文件中标识的文件。所以如果你添加一个驱动,一定要一次性选择该驱动的所有文件!如图3-7所示。


图3-8 添加命令
步骤5: 单击“Add payload Command”添加命令,调用已经添加的exe文件(见图3-8)。

单击“Add Custom Command”添加自定义命令。

“Remove Command”可以移除,当前选定的项目。

都设置好后,单击“next”按钮继续。



图3-9 添加依赖关系


图3-10 依赖关系
步骤6: 单击“Add”按钮在弹出的对话框中添加依赖关系(见图3-9)。根据需要,从左侧选择好条目,单击“Add”按钮添加,如果你添加多个项目,在下面的“Dependency Type”中可以选择要求依赖全部被添加的组件或者只依赖其中一个被添加的组件(只能选一个)。都设置好后,单击“next”按钮继续。


图3-11 卸载组件

步骤7: 如果你的组件允许被用户卸载(这里的卸载是指:用DISM在成本的系统中卸载,不是在Catalog中删除已经导入的组件),不要勾选“This module can not be uninstalled”。下面的你区域,你可以添加自定义命令,用于卸载前进行清理操作。都设置好后,单击“next”按钮继续。


图3-12 保存
步骤8: 见图3-12。第一个选项是将组件的配置信息保存。第二个选项是生成一个DISM脚本,你可以在已经做好的系统里,用DISM脚本,去安装这个组件。第三个是将组件导入到Catalog中,如果现在不导入可以通过ICE导入。单击“Create”按钮继续。

注意:emx文件仅仅包含,组件的配置信息。emd文件才包含你自定义组件的全部资源(包含组件的配置)!



步骤9: 最后单击“Finish”按钮完成组件的制作。



END

肖正波

深圳艾斯威特贸易有限公司

2012-10-29

[ 本帖最后由 wlyh 于 2013-3-23 13:16 编辑 ]
回复

使用道具 举报

4#
 楼主| 发表于 2013-3-23 13:17:29 | 只看该作者
第四章 Image Configuration Editor


4.1 Image Configuration Editor(ICE)概述



        已经读过第一、二章的人应该知道Image Builder Wizard (IBW,镜像构建向导)可以通过读取Answer File(应答文件),来进行操作。Image Configuration Editor(ICE,镜像配置编辑器)主要功能的其中之一就是提供一个图形化的工具来编写Answer File,让你免去用记事本写应答文件的烦恼。当然你除了用ICE方便、快速的写应答文件以外,你还可以用ICE直接生成一个安装源(很方便,鼠标点两下即可,不需要了解和掌握Windows PE 4.0、Bootmgr等相关的技术)。


4.2 安装 Image Configuration Editor(ICE)



我们在第三章中已经介绍了WES8 开发工具的安装,这里不再阐述。


4.3 Image Configuration Editor(ICE)软件界面



第一次启动ICE,询问是否帮助微软改进产品?

附注:我写这篇文章的时候WES8 还是测试版,将来在正式版推出后,有可能要求你输入产品密钥以激活开发工具或者选择开始90-180天评估。




图 4-1  ICE的界面

首先介绍一下ICE的界面。见图 4-1。
①菜单栏,具体见菜单的功能;
②工具栏,从左到右依次是新建应答文件、打开应答文件、关闭应答文件、保存、删除所选定的醒目、查找、依赖性检查、生成应答文件及其所附带的系统文件(构建的文件不包含IBW!);
③ (编目)栏。主要显示可用的组件(和WES7不同,新建应答文件后才会显示);
④ Answer File(应答文件)栏。主要显示应答文件中的组件;
⑤ 设置和属性栏。用于显示和修改被选中的组件的设置和属性(如果你选中的是Catalog中的组件,那么只能看不能改),特别要注意IBW在构建系统中分为7个阶段,大多数组件的设置的值需要针对这7个阶段分别设置,属性往往是固定的显示该组件的组件名、版本等信息和设置是否禁用该组件,被禁用后不被构建。

菜单的功能:

File/New Configuration File //新建一个应答文件;
File/Open Configuration File //打开一个已经存在的应答文件;
File/Close Configuration File  //关闭已经打开的应答文件;
File/Save Configuration File  //保存已经打开的应答文件;
File/Close Configuration File As… //另存为已经打开的应答文件;
File/Import … //向Catalog导入… ;
File/Import PMQ… //向Catalog导入PMQ文件,PMQ由TAP生成的目标设备的硬件配置信息记录文件;
File/Import Module… //向Catalog导入组件(如何自己制作组件看上一章。);
File/Select Catalog… //选择要使用的Catalog。;
File/Exit //退出;

Edit/Copy //复制选中的项目 ;
Edit/Paste //粘贴复制的项目 ;
Edit/Delete //删除选中的项目 ;
Edit/Reset Default Value //重置默认值 ;
Edit/Add to Configuration File //将选中的项目添加到应答文件 ;

Validate/Validate Only //进行依赖性检查 ;
Validate/Add requited Modules //进行依赖性检查,同时添加依赖性检查中要求添加的组件;
Validate/Add Applicable Updates // 添加可使用的更新;

Insert/Synchronous Command //插入同步命令,里面分4个阶段,具体见下一章;
Insert/Driver Path //插入驱动路径,集成驱动,具体见下一章;
Insert/Oem Folders Path //插入OEM 文件夹路径,集成文件资源,具体见下一章;

Tools/Hide Sensitive Data //隐藏敏感数据,隐藏(加密)应答文件中设置的用户密码;
Tools/Create Configuration Set// 生成应答文件及其所附带的系统文件,构建的文件不包含IBW;


Tools/Create Media //构建镜像 ;
Tools/Create IBW Image with full Catalog… //构建带有完整Catalog的进项,如果你没修改过Catalog,构建出来的就是开发工具提供的IBW Bootable 镜像;
Tools/Create Windows PE image //构建一个Windows PE镜像;
Tools/Create IBW image From Configuration // 构建一个带有应答文件的IBW镜像;

Comnubity和Help 就不不多介绍了,主要是一些线上资源和本地的帮助文档;
4.4 IBW 构建系统的流程





图4-2 IBW系统构建流程图

       A列,代表从零开始,使用IBW构建系统镜像所经历的阶段。
       B列,代表使用sysprep封装系统镜像后,在第一启动时进行的“安装”操作时所经历的阶段。
       注意:并不是在所有情况下都会经历每个阶段,经历那些阶段取决于用户使用Sysprep的参数和Sysprep应答文件中的配置。
      图4-2 中,windowsPE阶段被拆分成了2部分,分别代表IBW被加载的前后(IBW可以看作windows的安装程序)。
4.5 Image Configuration Editor 基础操作演示。

       现在让我们用Image Configuration Editor(ICE)编写一个简单应答文件,用这个应答文件让大家熟悉一下Image Configuration Editor(ICE)的基础操作。

图 4-3 选择 Catlog

      步骤1 打开Image Configuration Editor(ICE),选择菜单“File-〉Select Catlog…”选择分布式共享库的位置 ,见图 4-3。默认的位置是“C:\Windows Embedded Catalog”。单击“Select Catlog”按钮选中。



图 4-4 选择 Catlog

     步骤2   选择菜单“File-〉File/New Answer File“,新建立一个应答文件。 见图 4-4,Name 是应答文件名称,我们起名为ISWT、其他2项是选择系统的平台和系统的版本。单击“Create”按钮建立应答文件。

介绍一下左侧的DS库中各个分类的用途:

\Drives:系统自带的驱动
\FeaturesPack: 功能组件包,所有可用的组件都在这里。
\product:产品(配置)包,该包只有一个组件,但该组件带有很多属性,用于进行一些配置。当你新建一个应答文件时会自动添加该组件包。



图 4-5 依赖性检查 – 1



图 4-6 依赖性检查 – 2

      步骤3 选择菜单“Validate-〉Add Required Packages(添加需要的组件包)“进行依赖性检查,双击下方日志区域的错误信息。见图 4-5,我们按照图 4-6所示,选择组件。我们选择“Simplified Chinese Language Pack(简体中文)”作为系统语言,使用“branded Screens”即标准的Windows 登陆界面,之后单击“OK”按钮。再次选择菜单“Validate-〉Add Required Packages(添加需要的组件包)“进行依赖性检查。(当在解决了依赖性问题后,应再进行一次依赖性检查,直到不再出现依赖性问题为止)。



图 4-7 添加组件

      步骤4 展开在左侧Catlog的“\Features\Lockdown”,双击“Unified Write Filter”,这样我们就将一个组件添加到应答文件中。见图 4-7



图 4-8 组件的设置



图 4-9 组件的属性

      步骤5 在选中组件的情况下,查看最右侧的配置和属性栏。这里面分两个选项卡“Settings”和“Properties”。“Settings”中主要是设置该组件在IBW中的设置,例如:对于“Unified Write Filter” 组件来说,设置“Unified Write Filter”的工作模式,见图 4-8。“Properties”中主要是设置该组件在ICE中的属性,例如:是否启用或禁用该组件,见图 4-9。
       这里边重点介绍一些如何配置“Settings”选项卡的属性。注意画红框的部分,我们在上面讲过Windows的安装有7个阶段,一个包(组件)的属性可能在不同阶段分别有设置,pass:P1代表第一阶段……一直到pass:P7(这些阶段随着部署的方式不同不会都被执行!具体看图4-2 所示的构建流程图)。
      Fliter view 设置成“All Settings”可以显示(只能看,不能改。如果修改请设置Fliter view 到对应的阶段)这个包(组件)的全部设置。
      但是如果其中一个属性在不同阶段都有,只显示一个!设置后会变成粗体,另外PASS后面会有*号标明。同时对于有自定义设置的包(组件)的图标会变成深蓝色。
      您可以显示一组包(组件)的全部属性,这样方便查找。

      到此为止,大家已经熟悉了一下ICE的基础操作,在下一章中我们将介绍一个开发实例。

END

肖正波

深圳艾斯威特贸易有限公司

2012-11-04

[ 本帖最后由 wlyh 于 2013-3-23 13:24 编辑 ]
回复

使用道具 举报

5#
 楼主| 发表于 2013-3-23 13:18:00 | 只看该作者
第五章 实战开发


5.1 准备



在这一章节中我们将从头开始,将整个开发流程走一遍,和第二章一样我们的目标机是一台虚拟机。整个系统的安装过程是不需要大家交互的。

需要大家准备好:
已经安装好VMware Workstation 并且VMware Workstation 的版本是9.0.0 Build 812388或者更高版本。
http://www.iswtt.com/blog/download/WES8_Module_Demo.zip下载自定义组件(放到公司的WEB服务器上了,建议大家用xunlei拖)。

这个组件有以下功能:

将我们自己的Shell(MyShell.exe)释放到System32目录中;

将SYSPREP_Demo.xml(sysprep中用的到的脚本) 释放到Sysprep目录中;

将 Vmware Tools 的安装源释放到c:\temp 目录下,并且自动安装(静默安装)。安装完成后,自动删除c:\temp 目录;

大家有兴趣可以用Module Designer 打开这个组件,去看看该组件的设置。

3. 从http://www.iswtt.com/blog/download/makeiso.zip下载ISO镜像构建脚本。

4. 从http://www.iswtt.com/blog/download/ISWT_WindowsEmbeddedStandard 8_TEST.zip 下载虚拟机模板。

5. 从http://www.iswtt.com/blog/download/vm_scsi.zip 下载VM虚拟机的SCSI磁盘控制器驱动。

可选的:我上传了一个已经配置好的应答文件,从http://www.iswtt.com/blog/download/WES8_Demo.zip下载。

5.2 开始





图 5-1 新建应答文件

• 步骤 1: 打开ICE,选择菜单“File”-〉“New Configuration File”,新建建立一个应答文件,其他参照图 5-1 设置,其中“Select OS architecture”必须选择为“x86”。


2.jpeg (16.1 KB, 下载次数: 2)

图 5-2 成功导入组件

• 步骤 2: 将下载好的WES8_Module_Demo.zip解压缩,选择菜单“File”-〉“Import ”-〉“Import Module”,在选中刚才解压缩获得的文件“WES8 Demo .emd”。

确保出现如图 5-2 所示的成功导入组件的信息。



图 5-3 Winodws PE

• 步骤 3:

将虚拟机模板,WindowsEmbeddedStandard 8_TEST.zip解压缩。用Vmware Workstation 9打开文件:“ISWT_WindowsEmbeddedStandard 8_TEST.vmx”。

将开发工具中的“Embedded_8_32Bit_Bootable_IBW.iso”载入虚拟机的光盘驱动器,然后配置虚拟机从光盘驱动器引导。

虚拟机(实体机)启动后确认进度条,耐心等待几分钟直到出现欢迎画面。这里一共有三个选项:“Install NOW(开始安装)”、“Deploy an Answer File or WIM(部署一个应答文件或WIM文件)”和“Launch WinPE Command Prompt(加载WinPE 命令提示符,CMD)。”我们选择:“Launch WinPE Command Prompt”来启动WinPE的CMD。

• 步骤 4:

在CMD窗口中依次输入下列命令:

diskpart
Sslect Disk 0
clean all
Create Partition Primary
format fs=ntfs
assign letter=z:

TAP /O Z:\VM.PMQ

这样就获得了目标机的硬件配置信息。

直接关闭虚拟机电源,将虚拟机的磁盘挂载(虚拟机的属性里面选中虚拟硬盘,单击“Utilities”按钮选择“MAP”)到本地。把vm.pmq 磁盘文件从挂载的磁盘中拷贝出来。

完成拷贝后,记得将磁盘卸载。


图 5-4 依赖性检查

• 步骤 5:

回到ICE当中,选择菜单“File”-〉“Import …”-〉“Import PMQ…”,将刚才拷贝出来的vm.pmq 导入到应答文件中。

从左侧的“catalog”添加以下组件:

\Features\ISWT Training\WES8 Demo ;
\Features\Diagnostics, Feedback and Maintenance\Registry Editor ;
\Features\Diagnostics, Feedback and Maintenance\Task Manager ;
\Features\Shell\Shell Launcher  ;
\Features\User Applications\Internet Explorer 10 ;
\Features\User Applications\Windows Command Line Utilities;

按快捷键“Ctrl+F5”,进行依赖性检查。双击下方“Message”\“Validation”的错误信息,在弹出的对话框中,选择“Simplifed Chinese Language Pack”和“Branded Screens”见图5-4,单击“OK”按钮关闭对话框。
再次按快捷键“Ctrl+F5”,进行依赖性检查。



图 5-5 设置Shell Launcher

• 步骤 6: 展开应答文件中的"“\Features\Shell\Shell Launcher\ Shell Launcher_x86”,将右上方的“Fliter view by:”设置成“7 OOBE System”。

将“Shell”的值改为myshell.exe ;
选中“UserSetting”,单击鼠标右键,在弹出的菜单中选择“Insert New User”;
展开刚刚新建立的“User”,将“AccountName”的值设置成Administrator;
将“DefaultReturnCodeAction ”的值设置为0;
将“Key”的值设置为1;
将“Shell”的值改为Explorer.exe ;
都设置好后,参见图5-5。

系统如果是以Administrator 账户登录,启动的shell是标准的explorer。
如果是以其他账户登录,启动的shell是自定义的myshell.exe。


图 5-6 配置分区参数

• 步骤 7:

展开应答文件中的"“Products\Embedded Core\LUA-Setting_X86”,将右上方的“Fliter view by:”设置成“2 Offline Servicing”。将“EnableLua”的值改为False。这样我们就关闭了UAC。

展开应答文件中的"“Products\Embedded Core\International-Core_X86”,将右上方的“Fliter view by:”设置成“4 Specialize”。将“UILanguage ”的值改为zh-CN。

展开应答文件中的"“Products\Embedded Core\International-Core-WinPE_X86”,将右上方的“Fliter view by:”设置成“1 WindowsPE”。将“UILanguage ”的值改为zh-CN。

展开应答文件中的"“Products\Embedded Core\Setup_X86”,将右上方的“Fliter view by:”设置成“1 WindowsPE”。
将“DiskConfiguration ”下的“WillShowUI ”的值设置为“OnError”
选中“DiskConfiguration ”,单击鼠标右键,在弹出的菜单中选择“Insert New Disk”;
展开刚刚新建里的“Disk”,将“DiskID”的值设置成0;
将“WillWipeDisk ”的值设置成true;因为目标磁盘可能存在分区,所以我们设置抹除磁盘。
选中刚刚新建立的“Disk”下的“CreatePartitions ”,单击鼠标右键,在弹出的菜单中选择“Insert New CreatePartition”;
展开刚刚建立的“CreatePartition”,将“Extend”的值设置为“false”
将“Order”的值设置为“1”
将“Size”的值设置为“5000”
将“Type”的值设置为“Primary”,见图5-6

展开应答文件中的"“Products\Embedded Core\Setup_X86”,将右上方的“Fliter view by:”设置成“1 WindowsPE”。
展开“ImageInstall ”下的“OSimage”将“InstallToAvailablePartition ”的值设置为“True”
展开应答文件中的"“Products\Embedded Core\Setup_X86”,将右上方的“Fliter view by:”设置成“1 WindowsPE”。
展开“UserData ”将“AcceptEula ”的值设置为“True”
展开“UserData ”下的“Productkey”将“Key ”的值设置为“NFJPK-4MJBJ-72FJM-J3C9W-D9JTT”。这个key是WES8 RP版的评估产品密钥,如果你有其他的产品密钥,可以自行替换。

将“WillShowUI”设置为“Error”



图 5-7 创建帐户

• 步骤 8:

展开应答文件中的"“Products\Embedded Core\Shell-Setup_X86”,将右上方的“Fliter view by:”设置成“7 OOBE System”。
展开“OOBE”,将“HideWirelessSetupInOOBE ”设置为“True”;
将“HideWirelessSetupInOOBE”设置为“True”
将“HideOEMRegistrationScreen”设置为“True”
将“HideLocalAccountScreen ”设置为“True”
将“HideEULAPage”设置为“True”
将“NetworkLocation”设置为“Work”
将“ProtectYourPC ”设置为“1”
将“SkipMachineOOBE”设置为“True”

展开应答文件中的"“Products\Embedded Core\Shell-Setup_X86”,将右上方的“Fliter view by:”设置成“7 OOBE System”。
展开“UserAccounts”下的“AdministratorPassword”将“Valus”设置为“ISWT”;
不要将密码设置为别的值,注意大小写。

展开应答文件中的"“Products\Embedded Core\Shell-Setup_X86”,将右上方的“Fliter view by:”设置成“7 OOBE System”。
选中“UserAccounts”下的“LocalAccounts”,单击鼠标右键在弹出的菜单中选择“Insert NewLocalAccount”。
展开刚刚建立的“LocalAccount”。将“Name”和“DisplayName”的值设置为“ISWT Demo”。
将“Group”的值设置为“Users”。
展开刚刚建立的“LocalAccount”下的“Password”,将“Valus”设置为“ISWT”;

都设置好后,参见图5-7。如果Password中显示的是一长串字符串,则可能是被加密保存的。

• 步骤 9:

展开应答文件中的"“Products\Embedded Core\Shell-Setup_X86”,将右上方的“Fliter view by:”设置成“4 Specialize”。
展开“AutoLogon”,将“Username”设置为“Administrator”
将“Enable”的值设置为“True”
展开“Password”,将“Valus”设置为“ISWT”;






图 5-8 搜索1


图 5-9 搜索2

• 步骤 10:

按快捷键“Ctrl+F”,打开搜索。
取消选中“Configuration File”,选中“Search File Name”,输入关键字“Notepad.exe”,见图5-8。单击Find按钮开始搜索。
双击“Path”是“Notepad/Files”的项目。定位后将该组件添加到应答文件中。

按快捷键“Ctrl+F”,打开搜索。取消选中“Catalog”和“Search File Name”,选中“Configuration File,输入关键字“Home”,见图5-9。单击Find按钮开始搜索。双击搜索到的项目。
将对应的值(Home_Page)修改为“www.iswtt.com”。



图 5-10 集成驱动

• 步骤 11:

在“Windows Embedded Catalog”文件夹中(默认的位置是C:\Windows Embedded Catalog\),新建一个名称为“My Drivers”的文件夹。

将下载的vm_scsi.zip 解压缩,将解压缩出来的“vm_scsi”文件夹复制到刚才建立的“My Drivers”文件夹下。例如:“C:\Windows Embedded Catalog\My Drivers\vm_scsi”。

选择菜单“Insert”->“Driver Path”->“Pass 1 WindowsPE …”,选择刚才建立的“My Drivers”文件夹。
检查“Path”的值,应该变成为:“%distributionshareroot%\My Drivers”,见图5-10

附注:

对于INF格式的驱动建议采用此方法集成。对于exe格式的驱动建议做成自定义组件,然后调用。例如本文提供的WES8_Demo这个自定义组件。

系统必须的驱动程序,必须集成在“WindowsPE”阶段。


图 5-11 构建系统

• 步骤 12:

将应答文件保存,到此对应答文件的设置都完成了,我们开始构建系统镜像。
选择菜单“Tools”-〉“ Create Media”  -〉“Create IBW image From Configuration”(需要有管理员权限)。单击“Next”按钮继续。
因为Vmware 虚拟机不支持USB启动,我们要将系统的镜像打包成ISO格式。所以我们选择“Publish to a folder”,单击“Browse”按钮,选择“c:\osimg”文件夹(如果没有,自己建一个。)见图5-11。都设置好后,单击“Create Media”按钮开始构建。



将下栽的”makeiso.zip”解压缩,运行makeiso.cmd脚本(必须提供管理员权限),将系统文件打包成一个iso镜像。如果你使用的不是默认位置,需要自己修改脚本。
打包命令的例子:

"C:\Program Files\Windows Embedded 8 Standard\Toolset\Windows Deployment Tools\Deployment Tools\x86\Oscdimg\oscdimg.exe" -n -m -b"C:\Program Files\Windows Embedded 8 Standard\Toolset\Windows Deployment Tools\Deployment Tools\x86\Oscdimg\etfsboot.com" "C:\osimg" "C:\osimg.iso"

格式:oscdimg.exe" -n -m -b“引导模块” “系统文件的位置”“目标iso文件的存放位置”。



图 5-12 SYSPrep封装系统

• 步骤 13:

用Vmware Workstation 9打开文件:“ISWT_WindowsEmbeddedStandard 8_TEST.vmx”。

将开发工具中的“osimg.iso”载入虚拟机的光盘驱动器,然后配置虚拟机从光盘驱动器引导。大家耐心等待,十几分钟后就能看到“桌面”了。你可以安装软件等对系统做一些自定义。

打开CMD 执行下面2条命令(见图5-12):

cd C:\Windows\System32\Sysprep

sysprep /generalize /audit /shutdown /unattend:SYSPREP_Demo.xml

之后系统会关机。之后你可以通过imageX、Ghost等去分发这个镜像。

辅助:SYSPREP_Demo.xml 封装用的应答文件的作用:

配置自动登录,进入审核模式时,将自动登录账户配置为Administrator。

配置自动登录,退出审核模式后,将最终的自动登录账户配置为ISWT User。

设置准备好进入审核模式后关机。

进入刚进入审核模式时,执行命令Notepad。


图 5-13 进入审核模式



图 5-14 最终的成品


• 步骤 14:

我们再次打开虚拟机电源,耐心等待,第一次登录后,将会弹出记事本,手动关闭记事本后,系统将继续加载SYSPrep执行后,系统将关闭。
再次打开虚拟机电源,输入登录密码ISWT后(不知道为什么自动登陆的密码不对,BUG?)。我们点一下开始菜单上的桌面。你可以看到SYSPrep被加载,我们现在处于审核模式下。你可以对系统再次做一些自定义操作。
最后单击“确定”按钮。系统重启后退出审核模式。重启后见图 5-14。

到此整个开发流程就结束了。



END

肖正波

深圳艾斯威特贸易有限公司

2012-11-11

[ 本帖最后由 wlyh 于 2013-3-23 13:31 编辑 ]
回复

使用道具 举报

6#
发表于 2013-3-25 21:58:32 | 只看该作者
图片看不到啊,网上的这个东西都这样啊
回复

使用道具 举报

7#
 楼主| 发表于 2013-3-25 22:29:20 | 只看该作者
第二个图片是挂了,,源地址的就挂了,,没办法
别的都还在啊,我这里能看见
回复

使用道具 举报

8#
发表于 2013-3-26 09:13:04 | 只看该作者
肖正波写的东西实在是有点摸不着头脑,还是看HELP文件靠谱。
回复

使用道具 举报

9#
发表于 2023-4-3 01:46:05 | 只看该作者
有图,感谢转发分享!
回复

使用道具 举报

10#
发表于 2023-8-16 13:22:25 | 只看该作者
wlyh 发表于 2013-3-23 13:08
Windows Embedded Standard 8 入门指南 3 of 5  (2012-10-29 20:46:40)转载▼ 标签: windows embedded sta ...

学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-20 10:36

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表