C#Custom Action Linq to XML vs XmlConfig / XmlFile

时间:2016-02-07 08:20:08

标签: xml wix windows-installer

我想知道在创建/更改xml时C#Custom action和util extention之间的优缺点。

根据我的经验 -

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

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

希望这两种功能更具优势。

2 个答案:

答案 0 :(得分:2)

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

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

2)但是您在托管代码中没有太多控制权,即您受到WIX工具集提供的限制。

3)不要忘记共享资源。大多数情况下,托管代码在共享资源中所做的更改不会增加共享资源引用计数器。 使用WIX安装程序进行更改时,可以解决此问题。

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

答案 1 :(得分:1)

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

其次 - 如果您编写自己的CA(托管或非托管),您必须处理修复/回滚/卸载seqs(它在UtilExt中完成)