Wix#WixSharp与WiX相比的经验

MrC*_*ube 15 installation wix setup-project setup-deployment wixsharp

我们正在使用Inno Setup,并计划将其替换为WiX.但在评估和使用WiX时,我觉得与程序化设置解决方案相比,声明性方式有一些限制.

此外,我发现WiX文档相当稀疏.所以我遇到了Wix#(WixSharp),它承诺通过用C#编写的脚本文件以编程方式创建WiX源代码.

然而,我们对非常小的公司甚至"单人秀"都有过一些负面的经历.因此,我只想询问您使用Wix#(WixSharp)的经历,或者甚至是其他好的替代方案.你能报告一些优点或限制吗?

Dev*_*ica 16

Wix#看起来像是一个改进的好赌注"它会在明年左右"得分; 见下文.请注意,在Wix#中构建自定义操作非常简单.

来自这篇文章:http: //www.codeproject.com/Articles/31407/Wix-WixSharp-managed-interface-for-WiX

2014年7月,Wix#在更自由的MIT许可下重新发布,现在托管在CodePlex上. https://wixsharp.codeplex.com/

2014年8月,在这个CodeProject文章中发布并描述了UI Extensions to Wix#:"Wix#(WixSharp)UI Extensions".
http://www.codeproject.com/Articles/804584/Wixsharp-WixSharp-UI-Extensions

新的Wix#功能即将推出这一事实对该产品来说是个好兆头.

由于Wix#是基于WiX和Windows Installer技术构建的,因此它只能在WiX中执行.当Wix#耗尽气体时... WiX可以做许多Wix#C#语法中无法直接提供的东西,因此您通常可以直接使用WiX XML技术弥补差距.另请参阅我的答案,了解制作Wix#生成.wxs XML的其他示例,然后包含其他WiX XML代码并调用Candle和Light以将生成的组合XML构建到MSI中. 以编程方式构建MSI

以下是我迄今为止所经历的WiX和Wix#优缺点的快速,非详尽列表.

WiX/Wix #Prof:

  • 它生成真正的 Windows Installer MSI文件.
  • 卸载功能是"自由"; 你自动获得一个可靠的卸载程序.
  • 我的环境中的服务器管理员很容易接受MSI文件,因为他们信任MSI技术和卸载功能.
    • Windows注册表项包含在您获得的"免费"卸载中,只要您使用WiX或Wix#native语法创建它们并且不合并.reg文件 - 您将不会以这种方式获得注册表项卸载.

WiX/Wix #Cons

  • 因为它仅限于Windows Installer功能集,所以在WiX和Wix中一些"程序"的东西更难做到#

WiX专业人士

  • Web上提供了许多很棒的示例和支持资源("我如何...在WiX中").
  • 用于获取注册表项和放入XML WiX语句的实用程序运行良好.

WiX缺点

  • 作为一名C#开发人员,我发现WiX XML开始时不直观,直接使用XML文件.Wix#和C#在开始时比WiX更有意义.

Wix #Pros

  • 现在,在Wix#中实现自定义操作很简单.
  • Wix#整合了Visual Studio.我目前正在使用VS2013.
  • Wix#和C#在开始时比WiX XML更有意义.更好的起点.
  • Wix#帮助我以更平易近人的方式学习WiX.看看在Wix#中有什么用处和什么不用,有助于理解WiX.

Wix #Cons

  • Web上的Wix#例子目前很难实现.通常有必要研究WiX操作方法,然后弄清楚如何将其应用于Wix#.
  • 我没有找到用于收集注册表项并在WiX#C#代码中表达的自动路径.我手动翻译了.reg文件条目.有必要在Wix中使用注册表项#"RegValue("语句来获得注册表项的自动卸载功能. 注意:开发人员在2015年1月发布时添加了此功能.我还没有尝试过.

我会说,在WiX/Wix中做一些简单明了的程序安装程序,比如NSIS,以及上一代基于脚本的安装程序(例如,较旧的Wise版本),在WiX/Wix#中经常需要额外的研究和创造力.

总的来说,我打赌Wix#作为一种增长技术,是当前和未来使用的安全赌注.最糟糕的情况是,您仍然拥有.wxs文件,并且可以转而使用直接的WiX XML方法构建安装程序,并且您仍然可以从Wix#time投资中获得价值.

最近更新到Wix#常见安装程序任务的产品

截至2015年1月.请参阅:[ https://wixsharp.codeplex.com/releases/view/610843] [1 ]

  • 现在可以导入.reg注册表设置文件,而不是手动编码注册表类条目
  • 对Windows Config文件修改的其他支持
  • 对Windows服务安装的特定支持
  • 支持将参数值传递给Deferred Custom Actions,并自动生成所有WiX支持基础架构
  • 支持目标系统目录中的绝对路径,并自动生成所有WiX支持基础架构

  • 编辑添加2015年1月发布的一些有用功能列表.虽然这些东西大部分都是"可能的",但现在它们更加顺畅.例如,简单地直接导入和使用.reg文件(与C#中的注册表项手动编码相比)并且仍然获得注册表项的免费"卸载"功能的能力是一个很大的生产力助推器. (2认同)