安装shield或Wix

发布于 2024-09-07 09:49:42 字数 1539 浏览 6 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

ぃ双果 2024-09-14 09:49:42

创建了一个 Wix 安装程序来完成您想要做的事情后,我很乐意推荐它。

我认为 Wix 相对于 InstallShield 的优点是:

  1. 由于 Wix 是免费的,因此团队中的每个人都可以安装它,因此每个人都可以为安装程序做出贡献。如果一个开发人员向项目添加了一个库,他们可以根据需要更新安装程序,而无需等待“安装人员”完成他的工作。
  2. 在构建服务器上安装 Wix 没有任何问题,这使其非常适合使用持续集成的环境。它与 MSBuild 很好地集成(请参阅 Votive 项目)。
  3. Wix 安装程序是从文本文件构建的,这使得它们非常容易进行版本控制。
  4. Wix 包含部署工具基础 (DTF),这使得使用 .Net 代码创建自定义操作变得非常容易。
  5. Wix 非常接近金属:您通常可以将 Windows Installer 知识直接应用到 Wix。相反,学习 Wix 可以教会您很多有关 Windows Installer 的知识,这在提供部署支持方面总是有好处的。

为了平衡这一点,有一些事情需要注意:

  1. Wix 确实有一个陡峭的学习曲线。如果您还没有,请查看 WiX 教程
  2. WiX 不是像 InstallShield 那样的“可视”环境 - 它通常都是文本和 xml。话虽如此,还有编辑器,免费商业
  3. 特别与 IIS 设置相关:Wix 3.0 仅适用于 IIS 6 元数据库 API。要在 IIS 7 上安装,您必须启用 目标服务器上的元数据库兼容性功能。 Wix 3.5 中将全面支持 IIS 7 - 我已经尝试过它的测试版,到目前为止似乎运行良好。

Having created a Wix installer to do exactly what you're looking to do, I'd happily recommend it.

The benefits of Wix over InstallShield as I see it:

  1. Since Wix is free, everyone on your team can install it, and thus everyone can contribute to the installer. If one dev adds a library to the project, they can update the installer as appropriate, without waiting for the "Setup guy" to do his bit.
  2. There are no issues with installing Wix on a Build Server, making it a nice fit for an environment where you use Continuous Integration. It integrates nicely with MSBuild (see the Votive project).
  3. Wix installers are built from text files, making them very easy to version control.
  4. Wix includes Deployment Tools Foundation (DTF) which makes it very easy to create custom actions using .Net code.
  5. Wix is close to the metal: you can usually apply your knowledge of Windows Installer quite directly to Wix. Conversly, learning Wix teaches you a lot about Windows Installer which is always good when it comes to providing support for deployments.

To balance this, there are a few things to be aware of:

  1. Wix does have a steep learning curve. If you haven't already, check out the WiX tutorial.
  2. WiX isn't a "visual" environment like InstallShield - it's usually text and xml all the way. Having said this, there are editors, free and commercial.
  3. Specifically relating to IIS setups: Wix 3.0 only works against the IIS 6 metabase APIs. To install on IIS 7, you'll have to enable the Metabase Compatibility feature on the target server. Full support for IIS 7 is coming in Wix 3.5 - I've tried the beta of this, and it seems to work fine so far.
游魂 2024-09-14 09:49:42

根据我使用 Wix 和 InstallShield 的经验,我建议使用 InstallShield,除非您需要相当基本且简单的安装程序。我这样说是因为由于缺乏可用信息,巨大的 Wix 学习曲线变得更加困难。

没有关于 Wix 的书籍,因此您的资源仅限于 Wix 教程,该教程详细而冗长,但仍然没有涵盖除基础知识和通过 Google 找到的博客文章之外的内容。诚然,有许多优秀的博客文章详细介绍了如何完成特定的事情,但除非您没有截止日期,否则您可能无法连续几天坐下来研究如何在 Wix 中完成特定的事情。就我个人而言,我发现自己这样做太多了,Wix 无法成为一个可行的解决方案(同样,除非您只需要一个简单的安装程序)

最终,就我而言,我们现有的安装程序是用 InstallShield 开发的,我们可以简单地有了它,生产力更快。 InstallShield 还有自己的脚本语言,该语言也有非常好的文档。

对我来说另一个很大的优点是 InstallShield 减轻了多个实例的痛苦(尝试搜索如何使用 Wix 执行此操作,您就会明白我在说什么)和升级/修补。与在 Wix 中完成的任务相比,使用 InstallShield 只需一小部分时间即可完成这两个任务(尤其是多个实例)。

我的建议是根据您的时间限制/截止日期/承诺、安装程序的复杂性以及产品的成熟度进行选择。 Wix 需要大量研究,InstallShield 提供了一种相当快速的方法。如果您拥有成熟的产品而不是相当年轻的产品,这可能会更加痛苦。

希望这有帮助。

Based on my experience with Wix and InstallShield, I would recommend using InstallShield unless you need a fairly basic and straightforward installer. I say this because the huge Wix learning curve is made even more difficult by the lack of information available

There are no books on Wix, so your resources are limited to the Wix tutorial, which is detailed and lengthy but still doesn't cover much beyond basics, and blog posts you find via Google. Granted, there are many good blog posts which detail how to accomplish specific things, but unless you don't have deadlines to meet, you probably can't afford to sit and research how to do specific things in Wix for days at a time. Personally, I found myself doing this way too much for Wix to be a feasible solution (again, unless you only need a simple installer)

Ultimately, in my case, we had existing installers which were developed with InstallShield and we are simply able to be productive quicker with it. InstallShield also has its own scripting language which has pretty good documentation too.

Another big plus for me was that InstallShield eases the pain of multiple instances (try searching for how to do this with Wix and you'll get an idea of what I'm saying) and upgrading/patching. I was able to accomplish both of these (especially multiple instances) in a fraction of the time with InstallShield than what it took to accomplish in Wix.

My advice would be to choose based upon your time constraints/deadlines/commitments, complexity of your installer, and maturity of your product. Wix requires LOTS of research for things InstallShield provides a fairly quick way of doing. This can be even more painful if you have a mature product versus a fairly young product.

Hope this helps.

看透却不说透 2024-09-14 09:49:42

为了解决 Samuel 的上述观点......

  1. 我在 CodePlex 上创建了一个名为 IsWiX 的项目,用于解决民主化问题。您可以将其与 WiX 一起使用来创建合并模块,然后使用 InstallShield 来使用合并模块,以获得两全其美的效果。这使得安装人员可以使用 InstallShield,而我的数十名开发人员可以使用 IsWiX/WiX。 XML 仍然可以用附加元数据进行标记,因此我们不会限制模块可以描述的内容。

  2. InstallShield 有一个独立的构建引擎,与 MSBuild/TFS 集成并提供自动化接口。 WiX 在这里没有优势。

  3. InstallShield 也是一个文本文件。这是一种更丑陋的 DTD 格式,但 IsWiX 通过从安装程序中很少更改的部分中提取经常更改的部分来解决该问题。

  4. 我强烈鼓励将 DTF 与 InstallShield 一起使用。毕竟,Type 1 导出函数与任何基于 MSI 的工具都是相同的。

  5. InstallShield 有一个直接编辑器,可以显示基础表。这实际上比 WiX 更接近金属,WiX 使用基于 XSD 的 DSL 来输出金属。
    总而言之,WiX InstallShield 确实有很多优点,我将它们一起使用来创建极其复杂的安装程序。

PS- IsWiX 在哈希和排序上投入了大量的心思来解决分支合并问题。 (我们在数十个分支机构上使用 Base Clearcase,因此这对我们来说非常重要。)

To address Samuel's points above....

  1. I've created a project on CodePlex that is called IsWiX that addresses the democratization issue. You use it with WiX to create Merge Modules and then consume the Merge Modules with InstallShield to get the best of both worlds. This allows a setup guy to use InstallShield and dozens of my developers to use IsWiX/WiX. The XML can still be marked up with additional metadata so we aren't restricted in what the modules can describe.

  2. InstallShield has a stand alone build engine that integrates with MSBuild/TFS and provides an automation interface. There is no advantage for WiX here.

  3. InstallShield is a text file also. It's an uglier DTD format but IsWiX solves that problem by abstracting the frequently changing portions from the rarely changing portion of the installer.

  4. I highly encourage the use of DTF with InstallShield. After all a Type 1 Exported Function is the same to any MSI based tool.

  5. InstallShield has a direct editor which shows you the underlying tables. This is actually closer to the metal then WiX which uses an XSD based DSL to output the metal.
    All in all, there are really good things about WiX AND InstallShield and I use them together to create extremely complex installers.

PS- IsWiX put a lot of thought into hashing and sorting to solve branch merge problems. ( We use Base Clearcase on dozens of branches so this was very important to us. )

榕城若虚 2024-09-14 09:49:42

对塞缪尔的回答+1。至于陡峭的学习曲线......如果您不了解底层技术(Windows Installer)的工作方式,您将在安装支持方面遇到问题,无论是您选择的InstallShield还是WiX。但 WiX 鼓励您学习 Windows Installer 以正确使用 WiX 抽象。

我个人使用 InstallShield 开始了我的安装项目(一个巨大的 Web 应用程序),但我最近转向了 WiX,我对此感到很高兴。我选择的要点是:

  • 它是免费的,
  • 它是 XML(不再需要痛苦的比较和合并),
  • 它对 NAnt 很友好,
  • 它完全按照您的指示执行(不多也不少)

希望您发现此信息有用。

+1 to Samuel's answer. As for the steep learning curve... if you don't understand the way the underlying technology (Windows Installer) works, you'll have problems with the support of your installation, either InstallShield or WiX you choose. But WiX encourages you to learn Windows Installer to use WiX abstractions correctly.

I personally started my setup project (a huge web application) with InstallShield, but I recently moved to WiX and I'm happy about it. The key points of my choice:

  • it is free
  • it is XML (no more pain diffing and merging)
  • it is friendly to NAnt
  • it does exactly what you instruct it to do (no more and no less)

Hope you find this information useful.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文