Visual Studio 安装项目是否适合复杂的设置?

发布于 2024-08-26 02:41:05 字数 1235 浏览 4 评论 0 原文

“Visual Studio 安装程序”项目是否适合不同版本中的复杂设置?

该应用程序相当大(> 500,000 行代码)并且正在持续开发中。每 6 到 10 个月就会发布一个新版本。我们有多个配置文件(INI 和 XML)、注册表项、数据库迁移脚本等。该应用程序正在从 Visual Basic 6.0 到 .NET。旧的安装程序是使用 Installshield 构建的。对 Installshield 的反馈是:适应性差,重用性差 - 这就是我们评估“视觉效果”的原因工作室设置”作为替代方案。

我们考虑的其他产品:

免费解决方案

商业解决方案

我们不喜欢考虑的解决方案:

Are "Visual Studio Setup" projects suitable for complex setups in different versions?

The application is rather large (> 500,000 lines of code) and is under continuous development. Every 6 to 10 months a new version gets released. We have multiple configuration files (INI and XML), registry keys, database migration scripts, etc. The application is in the progress of being migrated from Visual Basic 6.0 to .NET. The old installer was build with Installshield. The feedback to Installshield is: Bad adaptability, bad reuse - that's why we are evaluating "Visual Studio Setup" as an alternative.

Other products we consider:

Free Solutions

Commercial Solutions

Solutions we don't like to consider:

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

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

发布评论

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

评论(2

枕梦 2024-09-02 02:41:06

对 Visual Studio 部署项目来说,不,不,不,不。我参与过“大型”项目(15,000 个文件,包含数千个合并模块和数百个 InstallUtil 自定义操作,因为 VDPROJ 几乎不公开任何底层 MSI,例如创建服务)。我可以用几个小时来讲述这到底有多么可怕。

我有一个由四名安装开发人员组成的团队,我们混合使用 WiXInstallShield。我们的典型安装有近 100 个功能、800 个合并模块和 15,000 个文件。我们部署几乎所有类型的资源,包括链接第三方安装以创建完整的产品或系统。我们能够为十多个产品做到这一点,每个产品都构建了多个集成、发布和维护分支。我们四个人支持一个拥有 400 多人、大约 250 名开发人员的组织。

我们之所以能够做到这一点,是因为 InstallShield 实际上可以为您提供相当多的重用。您可以使用产品配置和功能/合并模块来创建文件组和业务逻辑的封装。尽管如此,WiX 做得更好(尽管学习起来要困难得多,而且到处都有漏洞,我们仍然需要 InstallShield),所以我们一直在尽可能地将我们的基线慢慢过渡到 WiX。

No, no, no and no to Visual Studio Deployment projects. I've been there on "large" projects (15,000 files with thousands of merge modules and hundreds of InstallUtil custom actions because VDPROJ exposes almost nothing of the underlying MSI such as creating services). I could go on for hours about how horrible it truly is.

I have a team of four installation developers and we use a mix of WiX and InstallShield. Our typical install has nearly 100 features, 800 merge modules and 15,000 files. We deploy nearly every type of resource you can imagine including chaining third-party installs to create complete products or systems. We are able to do this for over a dozen products each building off of multiple integration, release and maintenance branches. The four of us support an organization of over 400 people with around 250 developers.

We are able to do this because InstallShield actually can give you a fair amount of reuse. You use product configurations and features / merge modules to create encapsulations of groups of files and business logic. Still, WiX does a better job (although much harder to learn and feature holes here and there that we still need InstallShield for), so we have been slowly transitioning our baseline over to WiX where possible.

末蓝 2024-09-02 02:41:06

不要去那里!我们认为这对于一些简单的安装程序来说是可行的,但事实证明这是一场噩梦......乍一看,VS 安装项目看起来不错,但很快你就会意识到各种缺陷 - 这意味着你将编写一个一堆自定义操作代码,用于完成最简单的任务(例如,服务处理和安装到明确定义的特殊目录中,而这些目录无法从“好的”安装项目 GUI 访问)。

您只能使用一些非常基本的表单来获取用户输入(例如不可能输入密码)。安装程序版本号不会自动递增。文件处理很糟糕 - 你必须手动选择每个文件。也就是说,您不能只是说“将此目录中的所有文件安装到该目录中” - 坐下来手动扫描具有数百个文件的目录中的新文件是一项非常棒的任务。

不,选择 WiX,尽管学习曲线可能看起来比 VS 安装程序稍差一些 - 但我多次后悔我们没有这样做。

Don't go there!! We thought it was feasible for a few simple installers but it has turned out to be a nightmare... At a first glance the VS setup projects look ok, but soon you'll realize the various deficiencies - meaning that you'll write a bunch of custom action code for accomplishing just the simplest tasks (e.g., service handling and installation into well-defined special directories that are just not accessible from the "nice" setup project GUI).

You can only use some very basic forms to get user input (password input is for instance not possible). There is no automatic incrementing of installer version numbers. The file handling is horrible - you manually have to pick each and every file. That is, you cannot just say "install all files in this directory into that directory" - fantastic task to sit and manually scan for new files in a directory with hundreds of files.

No, go for WiX, although the learning curve might seem slightly worse than for the VS installers - but I have regretted it many times that we didn't do that.

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