C# 自定义操作 Linq to XML vs XmlConfig/XmlFile

C# Custom Action Linq to XML vs XmlConfig/XmlFile

我想知道 creating/changing xml.

时 C# 自定义操作和实用程序扩展之间的优缺点

根据我的经验-

C# 自定义操作:使用 LINQ 到 XML 和 XmlReader 比使用 wix 语法更常见。非wix用户改码会更方便

XmlConfig/XmlFile:无需了解 c# 即可更改 xml。非常适合非程序员和小型 msi 软件包。

希望这两种能力都能在这里发挥更大的优势。

1)如果您正在编写托管代码,则必须处理回滚和卸载场景。

如果您使用的是 WIX 代码,回滚和卸载方案将由安装程序处理。

2)但是您不像在托管代码中那样拥有太多控制权,即您受限于 WIX 工具集提供的内容。

3)并且不要忘记共享资源。大多数时候,共享资源中托管代码所做的更改不会增加共享资源引用计数器。 虽然使用 WIX 安装程序进行了更改,但会解决此问题。


并且会有更多这样的 differences.As 尽可能尝试使用 WIX 功能并仅在 WIX 没有该功能或实现该解决方案存在错误时才使用自定义操作。

主要区别在于编程的命令式和声明式范例 因为 WiX 更喜欢声明式风格 - 扩展是更可取的方式

其次 - 如果您编写自己的 CA(托管或非托管),则必须处理 repair/rollback/uninstall 序列(在 UtilExt 中完成)