error 9001: Activity 'variantReplicator' validation failed: must have one and only one enabled child' (ERR0265)

Build 1501 on 14/Nov/2017  This topic last edited on: 18/Sep/2015, at 17:37

As the message says the "variantReplicator" can have only one child.

Your WindowsWorkflow is like this:

    <DataReplicator x:Name="variantReplicator" Data="{wf:ActivityBind createVariant, Path=DataOut}">
        <TransformXml x:Name="computeVariantFileName" XmlIn="{wf:ActivityBind Object, Path=XmlOut}">
            <TransformXml.Pars>
                <!-- DataOut[0].Info.SrcDescription contains the name of the variantType -->
                <wf:WorkflowParameterBinding ParameterName="variantTypeName" Value="{wf:ActivityBind variantReplicator, Path=DataOut[0].Info.SrcDescription}" />
                <wf:WorkflowParameterBinding ParameterName="objectId" Value="/*/@id" />
                <wf:WorkflowParameterBinding ParameterName="objectName" Value="/*/@name" />
            </TransformXml.Pars>
        </TransformXml>
        <Save x:Name="saveVariant" Data="{wf:ActivityBind variantReplicator, Path=DataOut}" Mode="Overwrite" To="{}{0}/{1}" Description="Saving variant to target...">
            <Save.Pars>
                <wf:WorkflowParameterBinding ParameterName="p0" Value="{wf:ActivityBind ImagesPublishWF, Path=ParValue[&quot;destDir&quot;]}" />
                <wf:WorkflowParameterBinding ParameterName="string(/*)" Value="{wf:ActivityBind computeVariantFileName, Path=XmlOut}" />
            </Save.Pars>
        </Save>
    </DataReplicator>
 
As you can see there are two nodes inside the DataReplicator: the Transform and the Save.

Try to move the save inside the transform, like this:

    <DataReplicator x:Name="variantReplicator" Data="{wf:ActivityBind createVariant, Path=DataOut}">
        <TransformXml x:Name="computeVariantFileName" XmlIn="{wf:ActivityBind Object, Path=XmlOut}">
            <TransformXml.Pars>
                <!-- DataOut[0].Info.SrcDescription contains the name of the variantType -->
                <wf:WorkflowParameterBinding ParameterName="variantTypeName" Value="{wf:ActivityBind variantReplicator, Path=DataOut[0].Info.SrcDescription}" />
                <wf:WorkflowParameterBinding ParameterName="objectId" Value="/*/@id" />
                <wf:WorkflowParameterBinding ParameterName="objectName" Value="/*/@name" />
            </TransformXml.Pars>
            <Save x:Name="saveVariant" Data="{wf:ActivityBind variantReplicator, Path=DataOut}" Mode="Overwrite" To="{}{0}/{1}" Description="Saving variant to target...">
                <Save.Pars>
                    <wf:WorkflowParameterBinding ParameterName="p0" Value="{wf:ActivityBind ImagesPublishWF, Path=ParValue[&quot;destDir&quot;]}" />
                    <wf:WorkflowParameterBinding ParameterName="string(/*)" Value="{wf:ActivityBind computeVariantFileName, Path=XmlOut}" />
                </Save.Pars>
            </Save>
        </TransformXml>
    </DataReplicator>