为何使用 Windows Installer XML (WiX) 而不是 VDPROJ?

发布于 2024-08-29 00:18:08 字数 65 浏览 4 评论 0原文

当我们有内置的 .net MSI 安装程序时,为什么要选择 Windows Installer XML (WiX)?

Why should one go for Windows Installer XML (WiX) when we have in built .net MSI installer?

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

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

发布评论

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

评论(5

转身泪倾城 2024-09-05 00:18:08

我要花好几个小时才能吐槽我讨厌 VDPROJ 的一切。我不会,因为在我(专家)看来,VDPROJ 很糟糕已经是既定的法律。如果您的安装非常简单,以至于您没有注意到任何问题,那么请按照我的猜测并坚持下去。但是,如果您已经发现自己正在与该工具作斗争,试图让它做它不做的事情,那么请听从我的建议,快速将其转储到 WiX。

我讨厌 VDPROJ 的 10 件事:

  1. 不支持 MSBuild。当然,您可以从命令中调用 devenv
    线,但效果没那么好。
  2. 不暴露批判性概念
    一个组件。每个文件/注册表密钥都是其自己组件的密钥文件。
  3. 没有有效的方法来完全排除自动依赖性扫描。
  4. 快捷方式总是被广告
  5. 无法描述服务。
  6. 很多事情无法描述,导致过度使用自定义
    行动。
  7. 无法精细控制调度/执行
    自定义操作。太抽象了。
  8. 抽象是错误的。延期
    CA 计划使用模拟,但在 Vista 上会中断。
  9. 各种限制引导您走上调整内置 MSI 的道路
    在后期构建期间克服所有限制。结果是
    非常糟糕的构建自动化黑客。
  10. 合并模块目录表
    创作不正确。
  11. 还有 100 件我不喜欢的事情
    现在还记得。

It would take me hours to rant about everything I hate about VDPROJ. I won't because in my (expert) opinion it's already settled law that VDPROJ sucks. If your install is so simple that you haven't noticed any problems, then be my guess and stick with it. But if you already find yourself fighting the tool trying to get it to do things it doesn't do, then take my advice and dump it fast for WiX.

10 things I hate about VDPROJ

  1. No MSBuild Support. Sure, you can call devenv from the command
    line but it's not as good.
  2. No exposing of the critical concept of
    a component. Every file/reg key is a keyfile of it's own component.
  3. No effective way to fully exclude automatic dependency scanning.
  4. Shortcuts are always Advertised
  5. No way to describe a service.
  6. No way to describe many things which leads to overuse of custom
    actions.
  7. No way to fine control the scheduling / execution of
    custom actions. Too abstracted.
  8. Abstraction is wrong. Deferred
    CA's are scheduled with Impersonation which breaks on Vista.
  9. Various limitations lead you down a path of massaging the built MSI
    during postbuild to get around all the limiations. Results in a
    very poor build automation hacks.
  10. Merge Module directory tables
    are authored incorrectly.
  11. 100 other things suck that I'm not
    remembering right now.
卖梦商人 2024-09-05 00:18:08

WiX 教程介绍给出了 WiX 与其他设置开发工具(包括VS 设置项目):

  • 声明式方法
  • 无限制访问 Windows
    安装程序功能
  • 源代码而不是基于 GUI
    信息组装
  • 完全集成到应用程序中
    构建
  • 可能与应用程序集成的 流程
    对团队发展的发展
  • 支持,两者
    内部和第三方
  • 免费、开源

希望这会有所帮助。

The introduction of WiX tutorial gives the basic idea about WiX advantages comparing to other setup development tools (including VS setup projects):

  • declarative approach
  • unrestricted access to Windows
    Installer functionality
  • source code instead of GUI-based
    assembly of information
  • complete integration into application
    build processes
  • possible integration with application
    development
  • support for team development, both
    in-house and third-party
  • free, open source

Hope this helps.

彼岸花似海 2024-09-05 00:18:08

Visual Studio 部署包只能由 Visual Studio 构建。它们不能使用普通的 MSBuild 命令行来构建,这使得它们不太适合构建服务器等。

Visual Studio deployment packages can only be built by visual studio. They cannot be built using plain MSBuild command lines, which makes them less than ideal for e.g. build servers.

风筝有风,海豚有海 2024-09-05 00:18:08

上述所有答案都包含了 Visual Studio 安装项目 (.VDPROJ) 的大部分烦人的功能,这是大多数人都错过的一件事。

.VDPROJ 文件格式是这样的,如果我们制作一个小的
更改为单个条目会完全重写所有条目
其中使得不可能合并来自2个不同的更改
分支。

All the above answers have included most of the annoying features of Visual studio setup projects (.VDPROJ), one thing that most people have missed.

.VDPROJ file format is such that, and if we make a small
change to one single entry it completely rewrites all the entries
within which makes it impossible to merge changes from 2 different
branches.

尐偏执 2024-09-05 00:18:08
  1. 我们中的一些人不想使用/无法使用 .NET 安装程序。
  2. 我们中的一些人不希望必须安装 Visual Studio 来分发用 Borland Delphi 等编写的程序。 WiX 和.NET 彼此无关。
  3. WiX 提供了比 .NET 安装程序更完整的功能集。
  1. Some of us don't want to use / can't use the .NET installer.
  2. Some of us don't want to have to install Visual Studio to distribute a program, written in, say, Borland Delphi. WiX and .NET have nothing to do with one another.
  3. WiX provdes a much more complete feature set than the .NET installer.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文