C# Windows Installer XML域对象

C# Windows Installer XML域对象,c#,wix,C#,Wix,我一直在开发一个工具,它可以创建一个用于编写wxs文件的UI。目前,它是使用Linq到XMl查询将UI绑定到XDocument的简单代码,我正在开始重构它 我的问题是:WiX中是否已经有提供有用功能的类?例如,枚举WiXDependencies集合以获取关于模块签名、语言、版本的强类型信息,然后能够添加/添加范围/删除等等。基本上,我希望重用或创建一个API来处理我与wxs文件的所有交互,这样我的UI层就不必知道所有细节 我一直在研究serialize命名空间中的类,我看到它们有有趣的成员,通常

我一直在开发一个工具,它可以创建一个用于编写wxs文件的UI。目前,它是使用Linq到XMl查询将UI绑定到XDocument的简单代码,我正在开始重构它

我的问题是:WiX中是否已经有提供有用功能的类?例如,枚举WiXDependencies集合以获取关于模块签名、语言、版本的强类型信息,然后能够添加/添加范围/删除等等。基本上,我希望重用或创建一个API来处理我与wxs文件的所有交互,这样我的UI层就不必知道所有细节

我一直在研究serialize命名空间中的类,我看到它们有有趣的成员,通常是一个OutputXml方法,但我不清楚如何构造该类并将现有xml读入其中


更新:我现在确实看到了CDR类,但它似乎只是从其他任何源上的文件读取。

WiX工具集确实有一个CodeDOM,它是通过XsdGen.exe工具(WiX\toolsrc\XsdGen中的代码)从WiX.xsd创建的。它是在.NETV1.1版本中构建的,所以我不确定它对LINQ有多友好。这可能是我们应该在WiX v4.x中改进的地方。

Rob-如果WiX提供了一个LINQ友好的DOM,那就太好了。如果WiX已经有了这个功能,它将大大简化我的工作,同时允许WiX团队对创作实践进行一些控制。它还可以用于其他用途,例如用于生成和更新wxs文件的命令行实用程序。是的,我完全同意。让我们完成WiX v3.5的发布和刻录,然后解决这个问题。如果有人(在OOD方面比我更有经验)可以将一些类图和接口以及一些示例放在一起,我可以自愿完成其余的繁重工作。