Rob*_*ert 17 installer windows-installer installshield wix wise
"Visual Studio Setup"项目是否适合不同版本的复杂设置?
该应用程序相当大(> 500,000行代码)并且正在不断发展.新版本每6至10个月发布一次.我们有多个配置文件(INI和XML),注册表项,数据库迁移脚本等.应用程序正在从Visual Basic 6.0迁移到.NET.旧的安装程序是使用Installshield构建的.对Installshield的反馈是:适应性差,重用性差 - 这就是我们评估"Visual Studio Setup"作为替代方案的原因.
我们考虑的其他产品:
我们不想考虑的解决方案:
Chr*_*ter 22
对Visual Studio部署项目不,不,不,不.我参与过"大型"项目(15,000个文件,包含数千个合并模块和数百个InstallUtil自定义操作,因为VDPROJ几乎不会暴露任何基础MSI,如创建服务).我可以继续几个小时,看看它到底有多可怕.
我有一个由四个安装开发人员组成的团队,我们使用WiX和InstallShield.我们的典型安装有近100个功能,800个合并模块和15,000个文件.我们部署了您可以想象的几乎所有类型的资源,包括链接第三方安装以创建完整的产品或系统.我们能够为多个集成,发布和维护分支构建的十几种产品做到这一点.我们四个人支持一个拥有约250名开发人员的400多人组织.
我们能够做到这一点,因为InstallShield实际上可以为您提供相当多的重用.您可以使用产品配置和功能/合并模块来创建文件组和业务逻辑的封装.尽管如此,WiX做得更好(虽然在这里和那里我们仍然需要使用InstallShield更难学习和使用漏洞),所以我们一直在慢慢地将我们的基线过渡到WiX.
小智 8
不要去那里!! 我们认为这对一些简单的安装人员来说是可行的,但事实证明这是一场噩梦......乍一看VS设置项目看起来还不错,但很快你就会意识到各种不足之处 - 这意味着你会写一个一堆自定义操作代码,用于完成最简单的任务(例如,服务处理和安装到明确定义的特殊目录中,这些目录无法从"漂亮的"安装项目GUI访问).
您只能使用一些非常基本的表单来获取用户输入(例如,密码输入不可能).安装程序版本号没有自动递增.文件处理非常糟糕 - 您必须手动选择每个文件.也就是说,您不能只是说"将此目录中的所有文件安装到该目录中" - 这是一项非常棒的任务,可以在包含数百个文件的目录中手动扫描新文件.
不,去寻求WiX,虽然学习曲线看起来可能比VS安装者稍差 - 但我很多次后悔我们没有这样做.