“Visual Studio 安装程序”项目是否适合不同版本中的复杂设置?
该应用程序相当大(> 500,000 行代码)并且正在持续开发中。每 6 到 10 个月就会发布一个新版本。我们有多个配置文件(INI 和 XML)、注册表项、数据库迁移脚本等。该应用程序正在从 Visual Basic 6.0 迁移。到.NET。旧的安装程序是使用 Installshield 构建的。反馈至Installshield是:适应性差,重用性差 - 这就是我们评估“Visual Studio 安装程序”作为替代方案的原因。
我们考虑的其他产品:
免费解决方案
商业解决方案
- Installshield (再次...)
- Wise
- Advanced Installer
- 有什么东西丢失了吗?
我们不喜欢考虑的解决方案:
- Inno Setup (就是感觉不太对劲)
最佳答案
对 Visual Studio 部署项目不,不,不,不。我参与过“大型”项目(15,000 个文件,包含数千个合并模块和数百个 InstallUtil 自定义操作,因为 VDPROJ 几乎不公开任何底层 MSI,例如创建服务)。我可以用几个小时来讲述这到底有多么可怕。
我有一个由四名安装开发人员组成的团队,我们混合使用 WiX和 InstallShield 。我们的典型安装有近 100 个功能、800 个合并模块和 15,000 个文件。我们部署几乎所有类型的资源,包括链接第三方安装以创建完整的产品或系统。我们能够为十多个产品做到这一点,每个产品都构建了多个集成、发布和维护分支。我们四个人支持着一个拥有 400 多人、大约 250 名开发人员的组织。
我们之所以能够做到这一点,是因为 InstallShield 实际上可以为您提供相当多的重用。您可以使用产品配置和功能/合并模块来创建文件组和业务逻辑的封装。尽管如此,WiX 做得更好(尽管学习起来要困难得多,而且到处都有漏洞,我们仍然需要 InstallShield),所以我们一直在尽可能地将我们的基线慢慢过渡到 WiX。
关于installation - Visual Studio 安装项目是否适合复杂的设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2482833/