Are Visual Studio Setup projects suitable for complex setups?
Asked Answered
C

2

17

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:

Corncob answered 20/3, 2010 at 11:31 Comment(3)
Hi Robert, it has been 10 months now. I would be curious to know what you decided to use, and how it turned out. Thanks.Aerometer
We decided in favor of Advanced Installer. The current impression is very positive, but since the migration project is not completely done, we have no experience if updates and change sets will be easy to create, manage and deliver. Probably in another 10 month we know more :-)Corncob
@Aerometer another year has passed and I'd like to give a little update on this (Robert is my coworker and I am the one who is responsible for implementing setup) -- Advanced Installer is working without problems. It exposes many powerful MSI features and is highly customizable. Also, because it uses an XML file format it plays well with version control and changes are easily reviewed if there are regressions.Oleic
S
21

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.

Sumer answered 20/3, 2010 at 14:38 Comment(4)
Can I ask what type of software has that many features and merge modules?Lenhart
Think in terms of the complexity of visual studio. Different products and editions with reusable components including reuse across products ( example SQL Server management console uses Visual Studio integrated shell )Sumer
For a list of products that I can discuss publically see: overwatch.com/products/multi-source_main.phpSumer
Thanks, I should have figured some of it would be governmental stuffs.Lenhart
E
8

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.

Emulsion answered 21/3, 2010 at 0:40 Comment(1)
For adding files, couldn't you manipulate the project file for the setup project (using a script)?Hays

© 2022 - 2024 — McMap. All rights reserved.