Mo Dejong's install problems

Mo DeJong
Tue Mar 28 15:41:00 GMT 2000

On Tue, 28 Mar 2000, Parker, Ron wrote:

> Mo DeJong wrote:
> > Re: The installer posted by Ron Parker.
> <snip>
> Sorry for the slow response, I just explained to Chris in a private e-mail
> that apparently one of the inbound mail servers was throwing away all e-mail
> it received and reporting it as delivered. Chris mentioned you had problems
> and I searched the archives for your original email.
> > I first downloaded the cygwin installer and saved it in D:\Cygwin. I then
> > extracted all the .tar.gz files from cygwin into D:\Cygwin.

What I meant to say was that I extracted all the cygwin .tar.gz files
from a larger .tar file I created.

> For starters, there is no need to extract the tar.gz files yourself. The
> setup program does this for you.
> > The "cygwin setup" program was a dos based util that asked me where the
> > root directory should be located. I chose the default of C:\.

My point was that most people are used to graphical installers for windows
programs, not console ones.

> Actually it is a 32-bit Windows console program.

My old cygwin install might have had C:\ mounted as root. I do not think
we should use an old mount point if it is in the registry.

> I will check this, it should not have defaulted to C:\ unless you previously
> mounted C:\ as root. It may be that the version on my website predates the
> code that checks for a previous root mount.
> > It then asked me if I wanted to download packages from the internet. I
> > typed "no".
> > At that point, it started installing every .tar.gz file it found
> > (the ones located in subdirectories of D:\Cygwin).
> This was the intended behavior. 


> The setup program will install any packages that are in the same directory
> as the setup.exe or in any of its subdirectories. The logic behind the
> subdirectory checking is in case someone did a recursive get with ncftp or a
> similar client.
> > The installer seemed to create everything in the "C:\" directory.
> > At the very least, the default should be something like "C:\Cygwin-1.1.1"
> > or "C:\Program Files\Cygwin-1.1.1", not the "C:\" directory!
> It creates it in whatever directory you specify as root at the first prompt
> that it presents.
> > The installer program seemed to "get stuck" after printing the
> > following text to the screen. "Creating the uninstall file...".
> > I was not sure if the program had crashed or if it was doing
> > something. After about 10 minutes I had to kill the program
> > to do anything on my system (a Win 95 box).

I let it run for a very long time. I know it was stuck because my
box crashed when I tried to do a shutdown.

> I doubt it was stuck, with at least one version of the setup program it was
> a very slow process.  This may be the version you tried.
> The setup program generates a log of files that are extracted from the
> tar.gz files this is simply the piped output of the tar commands.  It then
> reads this file and passes each one's name, which is in Unix format, to
> cygpath for conversion to Windows format.  These DOS style file names are
> used in the uninstall batch file.

That sounds a lot better.

> I use cygpath because Chris did not want setup to depend on any internal
> cygwin functionality and the setup.exe is a Windows program not a cygwin
> program. Since it is a Windows program it was behaving like calling cygpath
> repeatedly from the "MS-DOS Prompt" instead of being as fast as calling it
> repeatedly in bash or a shell script. I have dramatically sped up this
> process by preloading cygwin.dll so that each invocation of cygpath does not
> have to load the DLL into memory.
> > I had to reboot my box to get it working again after the installer
> > crashed. I then tried to run what I thought would be the cygwin
> > bash shell by choosing the following menu item
> > Start->Programs->Cygnus Solutions->Cygwin-1.1.0.
> > The old B.20 install I had on this box (I just uninstalled B.20)
> > would launch bash when I clicked on that menu item, but this
> > version just printed:
> > Out of environment space
> > Out of environment space
> > Bad command or file name
> > I am guessing a .bat file is being used and that the proper
> > executable could not be found on the PATH.

Nope. Windows is really hosed in that respect. I have to wonder why
a .bat file is even getting used at all. Why not create a .bashrc
file in the root of the install path and then put the setting of
the PATH in there? I tried this on my box at home and it seemed
to work like a charm. My cygwin.bat file looked like this:

echo off
cd C:/Cygwin/usr/bin

I then put the variable stuff in C:/Cygwin/.bashrc and it seemed to work.

> A .bat file is being used. The "Out of environment space" message occurred
> when it tried to add the cygwin directories to the path.  I am not sure if
> there is a way I can programmatically specify a larger environment space
> when I create the shortcut. I will look into this as well.
> > I then decided I would uninstall cygwin and try again but use "C:\Cygwin"
> > as the root directory. I looked in the "Add-Remove programs" list
> > but there was no listing for cygwin. I am no windows expert, so I
> > did not want to try to hack the registry to remove whatever settings
> > the installer created. I was stuck at this point.
> Had the installer finished the uninstall file creation process, there would
> have been another item on the start menu for uninstalling the whole thing. 
> I mentioned on the list that I did not add the program to the "Add-Remove
> Programs" list, because the uninstall script is just a batch file and had no
> way of removing the item from the list after uninstalling. DJ had
> recommended that I look at regtool. I will look at it and see about adding
> the information to the "Add-Remove Programs" list.
> > I hope that helps.
> It does.

Ron, do you want some help writing this installer? I think I could take
the code you already wrote and whip up a graphical installer that does
the same thing. Interested?

Mo DeJong
Red Hat Inc.

More information about the Cygwin-developers mailing list