添加文件、依赖组件、注册表

接下来我们就要进入创建组件最重要的一环了,添加文件。为什么说重要,因为这里有一个大坑,我在Windows Embedded Standard产品组施卫娟老师的指导下,花了两周的时间才勉强爬出来,可见该坑之深。

在这里我们使用了一个现成的Demo,SilverlightTV作为我们的目标文件。SilverlightTV中包含很多文件和文件夹。我们要做的第一件事,就是将所有文件拷贝到一个文件夹中。这一点非常重要,因为考虑到效率问题,Windows Embedded Standard组件中的文件只能包括在同一个文件夹中。

主要提示:如果将包含子目录的文件夹添加到组件中,组件设计器不会报错,而要等到这个组件加入到Target Designer时,才会报文件找不到的错误,并且在构建好的Image文件中,只会包括文件夹,而不会包括其中的文件。

不过,新的问题就来了,如果我的文件结构是固定的,并且有相互的依赖关系,把所有文件都放到一个文件夹后,程序无法正常运行该怎么办呢?我们自然有办法,不过现在,还是赶紧将所有文件放在一个文件夹中吧,这个文件夹就是添加Repositories时指定的Source Path文件夹。不过千万记清文件原来所在的文件夹,否则下一步就麻烦了。

做完这步之后,回到Component Designer中,在Files节点单击右键,在菜单中选择Add – Files in Folder,在稍后弹出的对话框中,选择我们放置源文件的文件夹。经过下面的处理过程之后,文件夹中所有的文件都被加入到组件中了

不过问题是,所有的文件还被放置在同一个目录中,无法正常执行。这时,我们要通过一个比较繁琐的过程来解决这个问题——修改文件的目的文件夹。在右侧的文件列表中,选中某一个文件,双击,打开文件编辑对话框:

我们打开的是一个wmv文件,我们只需要修改Destination中的目录结构,%24%是一个转义字符,表示C盘,我们不要去动它。根据我们文件的原始位置填写目的文件的所在目录就可以了。这个工作要花费一段时间,需要点耐心。

接下来,我们要添加组件的Group Memberships,表示组件在组件目录树中所处的位置。我们在“Group Memberships”节点上右键选择“Add Group Membership”命令。在弹出的对话框中,选择SoftwareàSystemàUser InterfaceàShells,然后选择Shell即可。点击OK,关闭对话框。

接下来为组件添加依赖关系。依赖关系表明该组件依赖于那些组件,当我们添加了该组件到Target Image中时,在依赖检查时,会将其所依赖的组件也添加到Image中。

我们选择“Component or Group Dependency”,右键菜单中“Add”-“Component Dependency”,会弹出添加组件依赖对话框。

我们在“Component dependency source”选择Database,即选择组件数据库中的组件。然后找到SoftwareàSystemàNetworking & Communicationsà ApplicationsàInternet Explorer – Hotfix Q321232,并且确认My Component下选择的是“Depends on the selected component”,然后点击Apply按钮,添加依赖关系。

这时对话框不会关闭,所以我们还需要添加第二个依赖组件,就是大名鼎鼎的

好了,到这里,我们的组件就基本完成了,哦,还忘了件事,添加注册表。不过请大家注意的是,并不是每个Silverlight组件都需要添加注册表项,是因为SilverlightTV这个组件中调用了ActiveX,IE中会有安全限制,所以我们才通过修改注册表的方式来规避这个问题。关于IE安全限制的问题,我们后边会专门说明,在这里大家只要了解如何为组件添加注册表项就可以了。

在Component Designer中选择Registry Data,右键菜单中选择添加注册表项。我们可以点击Key name后边的Browse按钮,在注册表中定位要添加的项。我们要添加的项为:

HKEY_CURRENT_USER\Software\Microsoft\Internet        Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN

中的“iexplore.exe”项,值为DWORD,设置为0。

大家一看就知道这个选项是与IE有关的,至于什么关系,我们先卖个关子,稍后再说。先点击OK,关闭注册表编辑对话框。

好了,到这里我们支持Silverlight的Shell组件终于编辑完成了。好的,赶紧保存一下吧。不过,我们怎么在Target Designer里使用这个组件呢?

这就要看下一节的了……

本文转自马宁博客园博客,原文链接:http://www.cnblogs.com/aawolf/archive/2008/08/01/1258029.html,如需转载请自行联系原作者

Windows Embedded Standard开发初体验(四)相关推荐

  1. Windows Embedded Standard开发初体验(二)

    支持Silverlight的Windows Embedded Standard 好了,完成安装之后,我们就可以来做Windows Embedded Standard的第一个操作系统镜像了.在开始菜单中 ...

  2. Windows Phone 7之初体验(四.平台架构简介)

    一.应用程序平台架构 分为两大部分: 1. Screen 在本地部分又分为两块: a)       Tool and Support:这里主要包括开发应用所需的工具和支持. b)      Runti ...

  3. Windows Embedded CE 6.0开发初体验(一)Windows CE概述

    这篇文章的目的并不是介绍Windows Embedded CE开发的方方面面,只是用一个初涉嵌入式领域的软件开发者的视角来介绍Windows CE开发中最常用的概念和知识,解决大家会在实际开发中碰到的 ...

  4. Windows Embedded CE 6.0开发初体验(二)CE开发环境 收藏

    上一篇<Windows Embedded CE 6.0开发初体验>之"嵌入式开发流程": http://blog.csdn.net/aawolf/archive/200 ...

  5. Windows Embedded CE 6.0开发初体验(三)设置Boot-loader

    在Digi CC 9P开发板中已经预置了Boot-loader和一个CE 6.0的系统,所以,我们直接启动开发板,就可以运行一个CE 6.0的操作系统.不过,我们的最终目的是要开发一个自己的CE 6. ...

  6. Windows Embedded CE 6.0开发初体验(二)CE开发环境

    CE开发环境 下面就要让今天的主角闪亮登场了--Digi CC 9P开发板.为了感谢Digi提供的开发板,还是给他们做个广告吧:这是一家以WiFi相关产品为主营业务的公司,也生产ARM架构的CPU,所 ...

  7. Windows Embedded Standard 7 概述

    WES7(Windows EmbeddedStandard 7)是微软Windows 7组件化的嵌入式操作系统,基于X86 架构.WES7将 Windows 7 的技术和丰富用户体验引入到嵌入式设备. ...

  8. Digital Signage and Windows Embedded Standard 7

    参考原文网址:http://blogs.msdn.com/b/embedded/archive/2010/05/12/digital-signage-and-windows-embedded-stan ...

  9. 如此智能的Windows Embedded Standard 7

    近期应一位做嵌入式系统开发的朋友的邀请,体验了一下微软的Windows Embedded Standard 7嵌入系统的全国开放体验日活动(没有参加的朋友可以在网上了解哦:http://www.far ...

最新文章

  1. pycharm里面下载pip(不用去官网)
  2. 内连接、左外连接、右外连接、交叉连接区别
  3. 牛客网 字符串的排列
  4. 2021-05-22 Android 网络性能测试工具iperf详细使用方法
  5. SSM网上超市购物商城管理系统、
  6. 《现代控制系统》第五章——反馈控制系统性能分析 5.4 二阶系统里面极点以及零点带来的影响
  7. 通过read_excel打开xls文件时,报错struct.error: unpack requires a bytes object of length 2
  8. 关于Svchost.exe的说明及可能出现的问题解答
  9. 关于n维和n-1维欧式空间的理解(转)
  10. 论文:YOLOX: Exceeding YOLO Series in 2021
  11. 计算机组成原理计算题整理
  12. arduino麦轮转弯程序_麦克纳姆轮全向轮战车程序精髓分享
  13. 文本预处理库spaCy的基本使用(快速入门)
  14. 并发之Striped64(l累加器)
  15. 区块链如何改变出版商在学术传播中的角色
  16. 【华为云服务之】在华为云ECS上安装Docker
  17. android 英汉字典,英汉全文字典安卓版
  18. 计算机信息安全及职业道德,CISP人员职业道德的准则
  19. 无人驾驶小车调试笔记(三)--小车启动及初始化设置
  20. 以太坊学习路线——(五)DApp开发:简易版去中心化微博

热门文章

  1. 【FFmpeg】windows下的库下载
  2. 【linux】Valgrind工具集详解(十三):DRD(线程错误检测器)
  3. mytag.class.php,dedetag.class.php文件分析
  4. qt获取当前系统音量值_Qt编写自定义控件50-迷你仪表盘
  5. java 左右键_js 区分鼠标左右键点击
  6. 【java】兴唐第二十四节课
  7. Error:java: 错误: 不支持发行版本 14
  8. Set集合常用方法 遍历Set集合的方法
  9. python入门小练习_python入门题目小练
  10. 小程序json字符串转 json对象 { name :你好} 转成 { name :你好}