[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]

Contains the module implementations and linear workflow composition in a module type definition.

Schema Hierarchy

        InputType (WriteActionModuleType)
          ModuleImplementation (WriteActionModuleType)



Attributes and Elements

The following sections describe attributes, child elements, and the parent element of the Composite element.



Child Elements

Element Description


Required element. Contains all module implementations that are used in the workflow of a module type definition.

Composition (WriteActionModuleType)

Required element. Defines the composition of the workflow of a module type definition.

Parent Elements

Element Description

ModuleImplementation (WriteActionModuleType)

Defines the implementation type for native or managed module type definitions and defines the composite elements for composite module type definitions.


Composite modules comprise one or more modules, as opposed to being implemented in native or managed code. Each module type requires or expects specific member modules in a specific order. For more information about the correct member modules for specific module types, see each MemberModules topic listed in the following table.

Module Type MemberModules


MemberModules (ConditionDetectionModuleType)


MemberModules (DataSourceModuleType)


MemberModules (WriteActionModuleType)


The following XML sample shows a WriteActionModuleType element that is defined in the System.Windows.Library management pack. This particular write action module is used to start a service on the specified computer name. The reason for defining this module type is to provide a specialized version of the System.CommandExecuter write action module type.

  Copy Code
<WriteActionModuleType ID="Microsoft.Windows.ServiceControlManager.StartService" Accessibility="Public">
	<xsd:element name="ComputerName" type="xsd:string" />
	<xsd:element name="ServiceName" type="xsd:string" />
	<OverrideableParameter ID="ComputerName" ParameterType="string" Selector="$Config/ComputerName$" />
	<OverrideableParameter ID="ServiceName" ParameterType="string" Selector="$Config/ServiceName$" />
		<WriteAction ID="StartService" TypeID="System!System.CommandExecuter">
		<WorkingDirectory />
		<CommandLine>\\$Config/ComputerName$ start $Config/ServiceName$</CommandLine>
		<Node ID="StartService" />

See Also