添加文件是创建组件中一个重要的环节。
用现成的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中会有安全限制的问题。
在Component Designer中选择Registry Data,右键菜单中选择添加注册表项。点击Key name后边的Browse按钮,在注册表中定位要添加的项。添加的项为:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN
中的“iexplore.exe”项,值为DWORD,设置为0。
点击OK,关闭对话框。
支持Silverlight的Shell组件到此就编辑完成。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。