Why is setup.exe so difficult? Am I missing something?

Matt England mengland@mengland.net
Wed Oct 12 14:03:00 GMT 2005

[Warning: This is a complete flame of cygwin's setup.exe.  After being a 
long-time user, I've simply given up patience with the program, and this 
email will probably be the least-courteous note I've posted to any internet 
community in a long, long time.  I simply need to get someone's attention, 
and this is my last ditch attempt before I (and my software group) 
completely abandon cygwin for now and try an work exclusively with 
mingw/mysys.  I do have a purpose with this flame:  I'm trying to find the 
answers as to why setup.exe perplexes myself and the rest of my development 
group.  Please do not take any of this note personally.]

I find cygwin's setup.exe extremely difficult to understand, and over the 
years I've used it, I have found it somewhat buggy (unless the "bugs" I 
find are really just "features" that I don't understand).

The biggest question: why do myself and everyone else in my software 
development group that I manage (as well as everyone else with whom I've 
spoken over the years regarding cygwin) find cygwin's setup.exe so perplexing?

And why does everyone else in this community for which I write 
(cygwin@cygwin.com) seem to have no problems with it?  Or maybe they do?

Here are some example problems scenarios:

* Installing/updating a subversion package

I want to install or update a subversion package for my cygwin system.  I 
tried for about 15 minutes to figure out how to do this (and get a specific 
rev of svn--1.2.3-1) to no avail.  The organization of the modes and views 
and lists of setup.exe to be are extremely unintuitive--I've never 
understood them, and I think I've been using cygwin for about 5 years 
now.  It's not like I'm a rookie.

* Installing a full cygwin set

The only way I get by with cygwin is to always attempt a "full" download 
and hope for the best.  However, a full download of cygwin, at least with 
our controlled setup.exe, is NOT a full download!  We had to write a 
user-installation page just to make sure the installation user had to 
manually select all the packages in the supposed "full" cygwin install 
(about 3-4 packages were missing in the list).  What gives?

* Duplication a cygwin environment from machine to machine

This is critical for development consistency.  We had to download the 
entire package set,

* Figure out which things to install and which ones to not

This is the worst thing of them all.  I always feel like an idiot whenever 
I step into setup.exe

I could probably provide a longer list with much more detail.  However, 
empathy for these issues I suspect are rather binary:  one either 
completely understands what I'm talking about, or they think that I simply 
haven't read the docs well enough and that they can use setup.exe just fine.

There's also the "setup.exe is an extremely powerful and flexible" utility 
argument.  I'll grant anyone this argument; it seems rather capable...I 
guess...** if someone  can figure out how to use it. **  I see flexibility 
coming at the price of understanding.

I have attempted to read several different user guides on the setup.exe 
installation process.  None of them I have seen thus far address the 
questions and problems I have with setup.exe.  But let's say there is a 
document out there that explains all the setup.exe nuances and helps a user 
like me to "see the light."  Why does one require such a document (and a 
side note: why has it been so hard for me to find?)?  Why not simply make a 
more-intuitive flavor of the user experience for installation and upgrades?

Please, please do not label me an "idiot user."  For what it's worth, I 
hold a computer engineering degree from a highly-regarded university, I 
have been a software developer for a long time, I have sysadmin-ed 6 
different Unix systems, Redhat systems, BSD systems, and have been a 
significant VMS user.  On the web-and-email-server side of things: I have 
administered and used qmail, postfix, Apache, Drupal, MediaWiki, phpBB, 
mail2forum, Subversion, and several other similar systems.  I have been a 
sw-developer, tester, systems-integrator, sales-engineer, support 
engineering, and marketing manager for a variety of storage-area networking 
systems (I worked for a company that made them) on a heterogeneous 
storage-area network (Windows NT, 6 Unixes, Linux, etc).  I have helped 
develop industry-leading, patent-pending software.

I'm not trying to impress someone with my "resume."  I'm simply trying to 
convey the fact that 1) I think I am a reasonably-capable technologist, and 

It's disappointing, because beyond the install-and-update process, I 
generally find cygwin a pleasure to use.  First of all, it's free of 
charge; further, the software-module updates are fantastics (I subscribe to 
the package-update-notification list, and like how the module/app 
stakeholders pretty much update many things just as soon as they are 
available; note the recent OpenSSL and Subversion updates).  These and 
other things enable my business to be quite productive.

But if this community and the cygwin developers are going to go to such 
great lengths to make such a comprehensive and robust unix-on-windows 
system, why not make a better installation-and-upgrade-package-management 

Here's a thought:  Why not just keep the setup.exe as it is, support all 
the users who I'm sure have mastered it by now and probably love it (for I 
doubt something like that would not have lasted this long without a devoted 
user set), and simply build an additional install-and-upgrade program that 
uses the same "back-end" technology/interfaces and presents something 
different to the user?

Best regards, and thanks in advance for any help.

Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

More information about the Cygwin mailing list