Hi Tim,
Please see (much further) below an implementation I use.
It will turn this:
<Configuration>
<Extensions>
<Data>
</Data>
</Extensions>
</Configuration>
Into:
<Configuration>
<Extensions>
<Data>
<Extension Name="ExtName" Type=" SomeValue "/>
</Data>
</Extensions>
</Configuration>
And on uninstall will remove the bits it has created.
Most of the time I do MajorUpgrades, so I control the content in the original
config file, which means I can get away with a simple XMLFile command to set
the value.
I only use XMLConfig when I'm poking around in files that aren't actually mine
as I need to be able to back out my changes on uninstall and XMLFile isn't too
good at this.
Anyway, on to the code (names have been changed to protect identities):
<Fragment>
<DirectoryRef Id="INSTALLLOCATION">
<Component Id="DataExtension"
Guid="{93217AB4-B61E-4EF0-BC07-ABFBEE569466}" Win64="yes">
<util:XmlConfig Id="DataExtension"
On="install"
Action="create"
Sequence="1"
File="[INSTALLLOCATION] server.config"
ElementPath ="//Configuration/Extensions/Data"
VerifyPath
="//Configuration/Extensions/Data/Extension[\[]@Name= ExtName [\]]"
Node="element"
Name="Extension"
/>
<CreateFolder/>
</Component>
<Component Id="DataExtensionName"
Guid="{64DE6042-74C9-4F04-9BBD-C40E9D5742E6}" Win64="yes">
<util:XmlConfig Id="DataExtensionName"
Sequence="2"
File="[INSTALLLOCATION] server.config"
ElementId ="DataExtension"
VerifyPath
="//Configuration/Extensions/Data/Extension[\[]@Name= ExtName [\]]"
Name="Name"
Value=" ExtName"
/>
<CreateFolder/>
</Component>
<Component Id="DataExtensionType"
Guid="{250572F0-1F0A-4FED-B56C-D6654EFBA193}" Win64="yes">
<util:XmlConfig Id="DataExtensionType"
Sequence="3"
File="[INSTALLLOCATION]server.config"
ElementId ="DataExtension"
VerifyPath
="//Configuration/Extensions/Data/Extension[\[]@Name= ExtName [\]]"
Name="Type"
Value="SomeValue"
/>
<CreateFolder/>
</Component>
<!--Uninstall-->
<Component Id="DataExtensionUninstall"
Guid="{DB19543E-F691-4452-B0B5-04F6D1F43BF2}" Win64="yes">
<util:XmlConfig
Id="DataExtensionUninstall"
File="[INSTALLLOCATION] server.config"
Action="delete"
Node="element"
VerifyPath="Extension[\[]@Name= ExtName [\]]"
ElementPath="//Configuration/Extensions/Data"
On="uninstall"
Sequence="1" />
<CreateFolder/>
</Component>
</DirectoryRef>
</Fragment>
Before you implement this, please understand what it does and (most
importantly) what you are trying to achieve.
James
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users