宏组件是WES\XPE中的一类很重要的功能组件。一个宏组件本身没有文件或注册表资源,而是指向其它多个组件,换句话来说,宏组件就是多个能够构成一组功能的组件集合或者组件依赖关系。宏组件对于打包时必须共存于一个配置的多个组件和捆绑可以重复使用的一组功能是有很用的。不用向配置中逐个添加集合中所有的单个组件,您可以创建一个依赖所有这些组件的宏组件,并且添加到配置。

宏组件和依赖关系组

    一个依赖关系组是多个组件的集合,这些组件在配置中依赖其它一个或多个组件。宏组件和依赖关系组被包含到配置中的方法不同。一个宏组件可以象其它组件那样被添加到配置中。而对于依赖关系组,只有当一个依赖于它的组件被添加到配置时,才可以被添加到配置中。此外,宏组件声明它自己的成员,而依赖关系组则不能。成员声明依赖关系组成员。宏组件控制着一个明确的依赖关系列表,但依赖关系组成员可以改变。如果您想将一套组件作为一个整体添加到您的配置,则创建一个宏组件。如果创建一个依赖关系组,您必须修改每个组件来声明组中成员,并创建一个依赖于这个组的组件。

预定的宏组件

    组件库包括两种类型的预定义的宏组件:Windows技术宏组件和设计模板。Windows技术宏组件由下列组成:
  •     多个组件构成一个Windows功能(如Internet Explorer Technologies macro )。
  •     相关功能组件(如TCP/IP Networking With File Sharing和  Client for MS Networks )。
  •     安装特定应用程序所需的构成先决条件的组件(如Microsoft SQL Express 2005 macro ) 。
    目标设计器中组件浏览器树的“Software”节点下显示着这些宏组件。设计模板可以包括技术宏组件和提供有针对性的功能组件,如所有构建一个机顶盒所需的功能。这些都显示在目标设计器中组件浏览器树的“Design Templates”节点下。所有宏组件在组件浏览器中用粗体字显示。

如何创建一个宏组件

    当您考虑并决定创建一个包含其他组件的宏组件后,可以通过在组件设计器中创建一个新的.sld文件(通过选择“File->New”)实现。如下图所示。
lzg_ad:在WES中创建一个宏组件_第1张图片
展开平台节点,在“Components”节点点击鼠标右键,并选择“Add Component”,如下图所示。完成属性窗格中组件属性的字段。您可以输入所有者,作者,组件帮助,可见性等。
lzg_ad:在WES中创建一个宏组件_第2张图片
 因为这是一个宏组件,你必须选中“Macro Component”复选框。您也可以选择新组件的原型。点击“Prototype”字段右边的“Browse”按钮到,并选择“Selector Prototype Component”(选择器原型组件)。下图演示了这一操作。通过加入原型,允许开发人员在目标设计器中,宏组件的Settings中通过复选框的方式选择或取消选择包含的组件。
lzg_ad:在WES中创建一个宏组件_第3张图片
 

添加组成员

    展开您的新组件节点,在“Group Memberships” 上点击鼠标右键,并选择“Add Group Membership”(添加组成员)。按您的设计要求选择适当的组,然后点击“OK”。注意,您可以按照您的实际组件需要选择多个组或类别。

添加组件或组依赖关系

    在组件分支下的“Component or Group Dependency”节点上点击鼠标右键,选择“Add”,添加一个组件依赖关系或组依赖关系。在这种情况下,会出现一个对话框,您可以选择组件依赖关系或组依赖关系。下图为添加组件的例子。
 
lzg_ad:在WES中创建一个宏组件_第4张图片
注意:文件,注册表数据和资源。宏组件没有与之关联的存储库或存储库集合。它们也不包含文件,注册表项或其他资源

保存组件和导入到组件库

    要保存.sld文件,选择“File->Save As”并命名.sld文件。保存文件后,打开组件库管理器并且导入该.sld文件到组件库。

小结

    本文讨论了宏组件的作用以及创建一个宏组件。您可以创建一个宏组件,它依赖于一些相关的组件。您可以在目标设计器中简单地添加宏组件到您配置中。配置将包括所有在您的设计中的主要组件。您可以在选择器原型组件上添加一个成员,为使用这个宏组件的开发人员提供在配置用户接口中从这个宏组件上选择和取消组件的功能,在下图宏组件设置。当添加一个宏组件时,宏组件依赖的所有的组件被添加到该配置。然而,如果您从配置中删除宏组件,添加的组件不会被自动删除,必须手动删除它们。
lzg_ad:在WES中创建一个宏组件_第5张图片