|
|
||
MSI Factory
The location to insert the XML text below into, relative to the XML element located by the Target search string field. Choose from:
First Child - The XML will be inserted as the first child element of the target element.
Last Child - The XML will be inserted as the last child element of the target element.
Before - The XML will be inserted before the target element at the same level as the target element (as a sibling element).
After - The XML will be inserted after the target element at the same level as the target element (as a sibling element).
A string that specifies the location of the target element in the main WXS file. Note that you will need to be familiar with the WiX schema as well as how MSI Factory outputs the WiX files in order to properly use insertions. You can use the following syntax.
To find an absolute path, use forward slashes starting at the root element. For example, to find the main Product element, you would use "/Wix/Product". You can also use an asterisk to match any element at a particular level if you don't know or care what it is. For example, you could also find the main Product element using "/*/Product".
To perform a depth first search for an element, use the format "//ELEMENTNAME". So, for example, to find the first Component defined in the file, you would use "//Component". This type of search is most often combined with one of the predicates below to be useful.
To find the Nth element of a particular name at a specific level, you can add a [#] to the end of the element name. For example, to find the first ComponentRef in the 3rd Feature element, use "/Wix/Product/Feature[3]/ComponentRef".
To find an element that contains a specific child element, you can add [ChildElementName] to the end of the element name. For example, to find the first Feature element that contains a MergeRef element, use "/Wix/Product/Feature[MergeRef]".
To find an element that contains a specific attribute, you can add [@AttributeName] to the end of the target element name. For example, to find the first File element that has a KeyPath attribute (depth first), use "//File[@KeyPath]".
To find an element that contains a specific attribute that has a specific value, you can add [@AttributeName='Value'] to the end of the target element name. For example, to find the Component element with the Id of "Program.exe", use "//Component[@Id='Program.exe']".
This edit field contains the properly-formed XML text that should be inserted relative to the target element. Note that you must have one and only one root element. This text will be inserted verbatim into the main WXS file.
Here are examples of valid text:
1.
<UIRef Id="MyUI" />
2.
<Fragment>
<DirectoryRef Id="INSTALLDIR">
<Component Id="ProductX.exe" Guid="4D9959C8-47BE-4627-BB99-5F857F231CA2">
<File Id="ProductX.exe" Name="Product X.exe" DiskId="1" KeyPath="yes" Source="C:\Source\Product X.exe"/>
</Component>
</DirectoryRef>
</Fragment>
Here are examples of invalid text:
1. Not properly formed XML:
Hello world.
2. Not properly formed XML:
<UIRef Id="MyUI"
3. More than one root element:
<UIRef Id="MyUI" />
<Property Id="MyProperty" Value="SomeValue"/>
Learn More: Indigo Rose Software - MSI Factory - Buy Now - Contact Us