This program is an updated version of one I previously uploaded.  This one traps an invalid drive specification where the other one did not.  I forgot that users sometimes make mistakes.  Hey, nobodys perfects.  Also, this read me file gives additional information on the program in general and should make it easier to understand.

I've always wanted to write an install program but never took the time. I'm sitting at home in Maryland on a "snow day" with everything closed.  So here  it is.  I hope that you will find this helpful.  I've downloaded so many useful programs from CompuServe that I figured it was time to put one back.

I do allot of development for the government in a LAN envorinment.  And one of my constant problems is installing my applications.  For performance reasons, I store my .APP files and the FoxPro runtime files on the local drive.  I keep a copy of them on the server, and the first time a person runs my app, I place them on their PC.  The problem is that not everyone uses their C: drive.  There are several ways around this using DOS but none
of them are easy or clean.  So I decided to write an installation program.  Also, whenever I change an app, I load the master copy on the server and automatically update each users local drive.  Although, the code for that is not included here, I got the idea from FoxTalk and have been using it since.  It works for me!

This program was written in a few hours so it could probably stand some
improvement.  There a a few things that you should note to use the program:

	CONFIG.TMP is a template that I use to hold the defaults.  Modify it as you see fit to fit your environment.  For installations, the main thing to change is the drive letter to the appropraite local drive.  The program CPYCONFG.PRG changes drive designations in CONFIG.TMP to match the one specified.  Obviously, you need to modifiy CONFIG.TMP to fit your directory structure and environment.  In a future version, I intend on using CPYCONFG (or its clone) to also update drive letters in the batch file I use to run the application.  

	In the program DOINSTAL.PRG, I have hard coded the directory structure.  I started to put it into a look table, but figured what the hell, for the most part, the directory strucure will be relatively static so why bother.  Make sure you put directories in the correct order.  In other words, ensure you list the parent before the child.

		C:\FOXAPPS
		C:\FOXAPPS\FOX2RT
		C:\FOXAPPS\PRIME
		C:\FOXAPPS\FOXFIRE
		C:\FOXAPPS\FOXFIRE\DBFS
		C:\FOXAPPS\FOXFIRE\REPORTS
		C:\FOXAPPS\FOXGRAPH
		C:\FOXAPPS\FOXGRAPH\3DLOOKS
		C:\FOXAPPS\FOXGRAPH\3DDEF
		etc., ect.

	The database table INSTALL.DBF contains the following structure:

       PRODNAME - Name of "Product" being installed

       FILENAME - DOS file name.  Must include extension.

       INST_SIZE - File size.

       SCEDRIVE - Network drive letter where master files are located.

       SCEDIR - Network path to each file.  You must path a backslash before and after this entry.            

       INSTALLDIR - Local drive where file is to be installed.  You must put a backslash before and after this entry.

Make sure that PRODNAME is empty for the record that contains CONFIG.TMP.  The program is hard codes to look for it.

Lastly, to run the program, you need to create files that match those in INSTALL.DBF or include you own.

I want to thank Marc Miller for his program titled DRV_BY which I modified
and renamed to COPYFILE.PRG.  And a special thanks to John M. Bauman for his
excellent disk utility DIRBOS.BIN.  Another special thanks to Malcolm C. Rubel for his FoxPro Power Tools (Thanks for the education!).  I "borrowed" and modified POPTALK.PRG and BEEP.PRG to make ALERT.PRG.  I hope you don't mind.

INSTALL is FREEWARE.  You may use it freely in commercial and
non-commercial applications.  If anything goes wrong, don't blame me.
If you find it useful, feedback is always appreciated.
You may reach me at:

                Johnnie F. Pearson, Jr.
                1617 Old Drummer Boy Lane
                Fort Washington, MD 20744
                (301) 292-7689 (After 7:30 PM and before 10:00 PM,
                  I have a demanding job)

                CompuServe PPN: 72470,1105
