Mail Archives: cygwin-developers/2000/03/28/18:44:12
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.
Check.
> 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
bash
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.
- Raw text -