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

Chris Taylor chris@equate.dyndns.org
Wed Oct 12 14:29:00 GMT 2005


Matt England wrote:
<snip>

> 
> 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?

I used to find it confusing, and difficult to use.. Then the way of
addressing the views was changed a bit, and you were given the ability
to maximise the setup window.

> 
> 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?

Perhaps we're all using a newer version?

> 
> 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.

This one is easy. Here are some steps for it. Apologies if it reads like
an idiots guide, I spend too much time around (l)users, who most
definitely need things as simplistic as possible, so it's become a habit :(

1) Run setup
2) Select Install from Internet (or you could Download without
Installing, so as to mirror the packages)
3) Pick your mirror - i use http://www.mirror.ac.uk
4) Click View once, to select Full view. Make sure Curr is selected.
5) Scroll down to the packages beginning with s, and click on the Skip
by subversion once, it will select 1.2.3-1.
6) Click View again to select Partial - verify that subversion is in the
list.
7) Click Next until done.

Subversion is now installed.

> 
> * 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?

How are you telling setup to select all packages?
After getting the mirror list, are you clicking on the 'Default' by All,
so that it reads Install?
If so, then yes, this does leave some packages not downloaded.
I've just checked this myself. This may be a bug, or it may be because
they duplicate other packages or conflict with them? I couldn't say.
If you need them though, after selecting Install, click View 4 times -
it should now read Not Installed. You will now be able to change each of
these packages to Install.

> 
> * Duplication a cygwin environment from machine to machine
> 
> This is critical for development consistency.  We had to download the 
> entire package set,
> 

Best way to do this is to maintain a local mirror - I think there may be
some documentation on how to do this.. Otherwise, download all the
packages you need for your environment using setup (Download without
Installing), and then always use "Install from Local Directory" to
install. This will probably require you to map drives, or at least have
readily accessible network shares, but should solve the problem.

> * 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

And in this, you're no different from anyone else that doesn't know what
all the packages do.
I've been using cygwin and linux for around 6 years now, and I still
don't know what half of the things are for - especially when it comes to
the dependancies..
I still hope that some day someone will port apt-get to cygwin, along
with the apt-utils.. I'd assume it's possible, as we already have the
packages in a list format (setup.bz2), but I don't know nearly enough to
attempt this myself.. (hint hint folks ;)

> 
> 
> 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.

Yes, I'm sure you'll see both cases in the responses - hopefully this
one is helpful to you :)

> 
> 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.

Given what it does, it is powerful, but not as flexible as it might be.
To be honest, the limitations are imposed by package management as a
whole, at least to some extent.. Or  that's my opinion anyway.

> 
> 
> 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?

How do you define categories that match what every user needs?
You can't. It's a literal impossibility, as no two users will ever want
the same. It forces you to either give users limited choice, thus giving
them packages they have no interest in, or absolutely do not want (see
debian's tasksel for an example), or to give them complete choice (see
dselect, also from debian).
setup.exe takes the latter route, though is vastly more presentable (for
now) than dselect.
Obviously, as the number of packages grows, something may need to be
done to further organise them, but it works reasonably well just now.

<snip>

> 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 2) I FIND cygwin's setup.exe *THE* MOST 
> DIFFICULT-TO-USE PROGRAM IN ALL THE SOFTWARE I CURRENTLY USE TODAY.

Have you ever played with dselect? Or aptitude? :P (I find dselect
relatively easy now, I must say, but aptitude drives me nuts).

> 
> 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 system?

See above.

> 
> 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?

Possibly something for the future.. However there are always those time
constraints, and so on.. Remember, this is pretty much entirely a
volunteer project...

Anyway. I hope this helps you understand setup better, and find it
easier to use.. Or at least more tolerable ;)

Chris / EqUaTe

-- 

Chris Taylor

IT Manager
Catz Club

Tel: 02074723338
Mob: 07795444733
Fax: 02074331720

4 Daleham Mews
London
NW3 5DB

--
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