Hello, No one expressed a specific interest in my cygwin-without-autoit schemes, but I guess I'll let you all know how it worked out anyway :)
First here's a summary: 1. run setup.exe interactivly a) select install from local directory b) select next c) select cancel d) copy the file structure you find in $CYGWIN_ROOT to a safe location. 2. run setup.exe interactivly a) select download from network b) follow the instructions in the GUI until you have download the files you want to a local directory c) in a subdirectory of the download directory find setup.ini e) edit your setup.ini, replacing any category name that doesn't have "Base" in it with the category name "Base" Now you can make a batch script(note:2 below) to work with Unattended, that copies the saved file structure from summary item 1.d, to your target root directory, changing /etc/setup/last-cache to point to the repository in your Unattended %Z% drive, then run setup.exe with the -q flag and using -R to point it at your target root directory. Now an explanation: My procedure is still a little crufty, and it relies on some undocumented behavior of Cygwin's setup.exe installation application, but I still prefer it to using point-n-click-o-mation. To recap you can run setup.exe -q for a silent install. Use -R to specify Cygwin's soon to be root directory. Now the weird parts . . . By default cygwin wants to download from the internet and install a basic set of utilities; worse it doesn't have a default mirror selected, so you can't run setup.exe at all without some tricks. Here is the procedure I followed to allow an unattended install with no AutoIt: First I used setup.exe to download the packages I was interested in, as described on the Unattended web site. Whatever you choose as a source of files for setup.exe by default it will only install packages from the Base Category -- even in silent mode. At the same time, there is no command line option to control which packages get installed. This is an obvious problem, how do we trick it? It knows what category a packages belongs by looking in a file named setup.ini(3), which it keeps in its file cache. So that setup.exe will think everything is part of the Base category you can just search setup.ini for lines like this(4): category: Editors and make them like this: category: Base Now before we run setup.exe, we still need a way to tell it to install from a local directory. As you run setup.exe it starts putting files into your Cygwin- root-to-be(1). If you cancel and start up again, it remembers your previous choices, made through the GUI, by saving them in files in /etc/setup and by reading events out of /var/log/setup.log! The all important decision about where to install from is read from a line in the log like: 2004/02/02 08:29:40 source: network install I haven't experimented enough to know what a minimal log file would look like, so I just used one I created by running setup.exe to the point where I select an install from a local directory, click next, then cancel. I then retrieve the /var/log/setup.log file, and save it for later use. If /etc/setup/last-action contains the string "Install" cygwin will be in install mode (that's actually it'd default anyway), and it reads /etc/setup/last-cache to decide where to store downloaded files. Thus, to pass those defaults to setup.exe when I run from Unattended I just pre-populate the target root directory with an /etc/setup/ with the right contents. (1) After a partial run of setup.exe in interactive mode my cygwin root contains the following files: /etc/setup/last-action /etc/setup/last-cache /etc/setup/last-connection /etc/setup/last-mirror /etc/setup/timestamp /var/log/setup.log /var/log/setup.log.full (2) My cygwin.bat looks like this: set CYGWIN_ROOT=C:\cygwin todo.pl "%Z%\packages\cygwin\setup.exe -q -R %CYGWIN_ROOT%" todo.pl "xcopy /S %Z%\packages\cygwin\skel %CYGWIN_ROOT%\ " (3) After downloading from http://mirrors.kernel.org/ using cygwin/pkgs as a file cache setup.exe created the following file structure in ./pkgs: cygwin/pkgs/ cygwin/pkgs/http%3a%2f%2fmirrors.kernel.org%2fsources.redhat.com%2fcygwin cygwin/pkgs/http%3a%2f%2fmirrors.kernel.org%2fsources.redhat.com%2fcygwin/release ... release has lots of subdirectories containing packages ... cygwin/pkgs/http%3a%2f%2fmirrors.kernel.org%2fsources.redhat.com%2fcygwin/setup.ini (4) This is what entries from setup.ini look like: @ vim sdesc: "Vi IMproved - enhanced vi editor" category: Base requires: cygwin terminfo libncurses7 libiconv2 version: 6.2.098-1 install: release/vim/vim-6.2.098-1.tar.bz2 2967923 33bf949dc538038f63af0c87f5bf37d6 source: release/vim/vim-6.2.098-1-src.tar.bz2 4715007 dc7723d78166829d9a8a566c3543591c [prev] version: 6.2-3 install: release/vim/vim-6.2-3.tar.bz2 2216868 de773831f76bc255f2ef10285f0b50d5 source: release/vim/vim-6.2-3-src.tar.bz2 3284103 fb2523b96ffc7a5c1214ad9929f9a59a @ w32api sdesc: "Win32 API header and library import files" category: Libs version: 2.4-1 install: release/w32api/w32api-2.4-1.tar.bz2 960732 74a15fb7be821f73e43fbd415aef0422 source: release/w32api/w32api-2.4-1-src.tar.bz2 808115 11952ad58b9c309ee8e881f80876f714 [prev] version: 2.3-1 install: release/w32api/w32api-2.3-1.tar.bz2 908529 a98c83018b20cb82e179f4c1a580a182 source: release/w32api/w32api-2.3-1-src.tar.bz2 760509 09aa9f22ec0938f7bcfdddd633c4a9ab ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id56&alloc_id438&op=click _______________________________________________ unattended-info mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/unattended-info