I'm not an expert with XmlConfig yet but my understanding is that VerifyPath is 
used to tell if the element/attribute is actually present.  With VerifyPath 
specified the CustomAction can tell during repair and during uninstall if the 
element/attribute needs to be fixed/removed.  VerifyPath is what was missing 
from the old XmlFile implementation that couldn't handle all repair and 
uninstall scenarios well.

I think you'll get the uninstall to work if you provide the VerifyPath.


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Anders Ljusberg
Sent: Wednesday, December 27, 2006 08:32
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Removing nodes with XmlConfig

I've been trying to use the XmlConfig node in WiX v3.0. What I'm trying to do 
is to append a new "add"-node under 
/configuration/system.data/DbProviderFactories (in machine.config) that should 
be removed on uninstall. I think I've figured out how to add it properly, but I 
still don't understand how to remove it!

The installation script looks something like this:
<util:XmlConfig Id="Machine_Config_Xml_Root"
                
File="[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config"
                Action="create" On="install"
                ElementPath="//configuration/system.data/DbProviderFactories" 
Name="add"
                Node="element" Sequence="1">
</util:XmlConfig>
<util:XmlConfig Id="Machine_Config_Xml_2"
                
File="[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config"
                ElementPath="Machine_Config_Xml_Root"
                Name="invariant"
                Value="MTNE.Framework.Data.CslClient" Sequence="2">
</util:XmlConfig>

(which creates a node looking like this: <add invariant=" 
MTNE.Framework.Data.CslClient"/>)

But how do I remove it? I've tried this:

<util:XmlConfig Id="Machine_Config_Xml_Uninstall_1"
                
File="[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config"
                Action="delete" On="uninstall"
                
ElementPath="//configuration/system.data/DbProviderFactories/[EMAIL 
PROTECTED]'MTNE.Framework.Data.CslClient'[\]]"
                Sequence="1">
</util:XmlConfig>

but that doesn't seem to do anything at all...

Finally, an other (related?) question.. What is the VerifyPath attribute used 
for?

Best Regards,

Anders Ljusberg

--
http://ljusberg.se/blogs/smorakning
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to