Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

What I am looking for some of the best software examples of how installation and upgrading is performed. This could be from M$, Open Source, anything. E.g.: User experience, release compatibility, UI, click once installation, the whole spectrum of installing software.

Also is there any specific mistakes that are easy to make, that would have a huge negative impact on installation/upgrading a product.

share|improve this question
1  
See also serverfault.com/questions/64865/… which has a lot of people that admin corporate installs mentioning specific mistakes and negative items with installers. This SuperUser question also goes into the pros and cons of insatallers vs xcopy type "installs" superuser.com/questions/1137/… –  GAThrawn Sep 22 '09 at 12:52
add comment

4 Answers

up vote 5 down vote accepted

It doesn't get much easier than "apt-get install <package>" -- it'll work out what other packages are needed from your entire gamut of repositories, let you know what it's going to change, tell you if it can't proceed for some reason, all the important stuff. It might not be "pretty", but by gum it's superbly functional, and as long as you don't go and force it to do something it says is a bad idea (or install severely broken packages), it's really, really difficult to break the system.

It also centralizes update services. When a new version of any program is available from your gamut of repositories, it detects this and will offer to upgrade your software. No need for vendors to duplicate upgrade services over and over again, flooding a system tray with Java updaters, Flash updaters, Acrobat updaters, Quicktime updaters, eclipse updaters, etc. It's better to have one high profile and well reviewed tool to handle this than leave it up to each software provider to perform the complicated process of updating their program.

Finally, the apt design supports a flexible set of transport protocols. If you desire a new system to acquire packages and updates you're free to implement the handler without throwing away existing functionality. I've seen people implement torrent transports for packages, to offload mirroring costs to a cloud of users, for example.

share|improve this answer
    
I read that as "superfly" the first two times through :) –  warren Sep 22 '09 at 5:36
    
Also, it doesn't try to auto update, but provides you with tools to give you changelogs, and tell you when you need to update. –  Cian Sep 22 '09 at 12:04
    
Technically, apt-get doesn't provide changelogs. That's handled by a separate system that I don't think Debian has adopted. Eventually I expect a replacement technology may come around, but it could require a change in the archive layout. –  jldugger Oct 6 '09 at 20:09
add comment

I like the Windows Installer format (MSI files) for features like install on first use, running from a networked location, self-repairing, customization via transforms, being able to integrate patches, being able to chain multiple installs together, integration with GPOs for network deployments, and so on. It's removal and rollback functionality seems pretty robust, although I'm certain that it's possibly to break it by doing something stupid.

Also a lot to be said for the Mac OS way.

share|improve this answer
add comment

I can't think of any installer I would call the "best" but I've seen a lot of stuff that is real bad for one simple reason: The installer makes assumptions and doesn't allow for someone doing something a little differently. I can't think of specific examples right now but I'm sure we've all seen plenty of it.

share|improve this answer
add comment

Any installs of a product in Mac OS X that works "the Mac way" - open disk image, copy to Applications folder.

The self-contained '.app' process makes a lot of sense. It can lead to larger installs because of duplicated libraries, but removal is easy, too - drag application to Trash.

It also ensures that only the libraries it needs are used, since they're all contained in the '.app' structure.

share|improve this answer
    
Duplicated libraries are horrendous from a security perspective... GDI exploits ring any bells? –  womble Sep 22 '09 at 12:27
    
but updated libs break apps too often :-\ –  warren Sep 22 '09 at 15:24
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.