I've been working on a tool that creates a UI for authoring wxs files. Currently it's simple code that uses Linq-to-XMl queries to bind the UI to the XDocument and I'm starting the process of refactoring it.
My question is: Are there any classes already in WiX that provide useful functionality? For example something like enumerating a WiXDependencies collection to get back strongly typed information on module signature, language, version and then being able to add/add range/remove and so on. Basically I'm looking to reuse or create an API that can handle all my interaction with the wxs file so my UI layer doesnt have to be aware of all the details.
I've been looking at the classes in the serialize namespace and I see they have interesting members and typically an OutputXml method but it's not obvious to me how you would construct the class and read existing xml into it.
Update: I do now see the CDR class but it only seems to read from a file on not any other sources.