Customizing Daisy for your environment

 

Document version 1.0 (12/1/03)

 

By Marc DeBonis (marc.debonis@vt.edu)

 

Objective:

 

Replicate the required services and data in order to mirror the processes that Daisy uses to effectively localize your hotfix process.

 

Background:

 

Daisy is a client based application that utilizes several mechanisms to identify, download, install, and (if necessary) reboot Microsoft Windows systems.

For more information see http://opensource.w2k.vt.edu

 

Requirements:

 

- A local server inside your firewall that can run a passive FTP server

- A robust FTP server (I'd suggest SERV-U http://www.serv-u.com/)

- The necessary space to hold the total sum of all current hotfix files (currently, as of this writing (around 1.5 gigabytes))

- A mechanism to re-package the Daisy software (I'd suggest NSIS http://nsis.sourceforge.net/site/index.php)

- A mechanism to regenerate your daisy directory structure from the master Daisy FTP server (optional), (I'd suggest FlashFXP http://www.flashfxp.com/)

- ?

 

Setup:

 

[FTP Server]

 

Install the ftp service on your local Daisy server.  Build a user account that all the Daisy clients will use to access the directory structure (username and password will be transmitted in cleartext).  Make sure the account is restricted to READ ONLY for the intended directory structure.  Make sure that more than one user with this account can log in at the same time!

 

     Directory structure format

 

          Daisy\ (entry point for client)

               approved \ (where approved hotfixes go)

                     exc2k\ (specific folders for each MS product to patch)

                     ...

                     xptpc\ (see daisy.ini for the correct mappings)

               disapproved\ (not currently used)

               holding\ (where hotfixes go for testing)

               uninstall\ (not currently used)

 

 

hint!:

Using a tool like FlashFXP you can easily define a scheduled command to update this directory structure from the master Daisy ftp server, unless you want to add hotfixes manually.  Be careful of overwriting the daisy_ini.new file you've customized (see next section)

 

[INI editing]

 

In the approved folder on the ftp server is a filed called daisy_ini.new.  This file should be edited to direct the Daisy clients to your local ftp server.  You'll want to modify:

 

          [Main]

               host = the dns for your ftp server

               port = port ftp server is listening at (normally 21)

               userid = the username for the client to use

               password = the password for the client to use

         

     You probably won't need to touch anything else (unless you are hosting the XML cab file locally as well).  The .new file is copied to the Daisy client upon its initialization cycle and renamed to daisy.ini, this file is used for all subsequent operations.  It is downloaded EVERY time Daisy is run.

 

Be sure to watch for the file changing on the Master Daisy ftp server (currently jook.ais-servers.vt.edu) .  Changes to the file need to be mirrored to your local file (except for those you've specifically customized, of course).

 

You should also make these changes to the daisy.ini file that is located in the client\bin directory.  Download the daisy package, edit the file to customize your settings, then repackage it for distribution internally.  The first time Daisy is run after the install, it will download the daisy_ini.new from your local ftp server and continue on from there.

 

[Adding hotfixes]

 

If you wish to add hotfixes manually, instead of simply synching the approved folder with the master Daisy ftp server, you need to do the following.

 

When a new MS patch comes out, follow the MS web links and download the hotfix for each version of the OS or application.  Put these hotfixes in their unique folders under the holding directory.  Discover what command line switches are needed for the hotfixes to run A) unattended, B) quiet,  and C) without rebooting.  Next make sure the following files are in the same directory as the hotfix:

 

     Do_md5.exe

     Md5.dll

     Wbdda34i.dll

 

Hint!:

These files can be ftp'ed from the master Daisy ftp server under the holding\w2ks directory.

    

Create a text file with the EXACT same name as the hotfix, except for the extension, which should be .cls

 

Edit the file and add the command line switches on the first line, save and close the file.  Now run "do_md5.exe".  This will search the current directory for .cls files, find their companion .exes and calculate the size and md5 checksum for each file.  It will update the .cls files with this information, so you will get as a results a .cls file that has:

 

     Commandline switches

     Filesize in bytes

     Md5 checksum

 

For example:

 

     For a hotfix called "Windows2000-KB828749-x86-ENU.exe"

 

     There is a companion .cls file called "Windows2000-KB828749-x86-ENU.cls" which contains the information:

 

/quiet /passive /norestart

336744

169-50-246-26-50-96-62-158-69-190-201-234-131-176-75-161-

 

When you've tested this hotfix to your satisfaction, move both the .exe and .cls file into the corresponding folder under the approved folder.  This hotfix is now "approved" and Daisy clients will be able to download the file.

 

[Errata]

 

There are no updates to this document.

 

[Questions or comments?]

 

Please email me.