SNAPSHOT A SOFTWARE INSTALLATION AID USER'S GUIDE Version 1.21 May 28th, 1994 Copyright (C) 1992,93,94 By K.R.Duncan All Rights Reserved. +-----------------------------------------------------------+ | | | SNAPSHOT is a "shareware program". It is not free or | | public domain software and after you have evaluated it | | for 30 days you are obligated to register your copy if | | you continue using it. You are encouraged to make copies | | of this program and it's documentation and pass them | | onto to others - see the text on distribution later in | | this document. | | | +-----------------------------------------------------------+ SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page i Contents ======== Shareware 1 Definition Of Shareware 1 Disclaimer - Agreement 2 Registration 2 Distribution 3 Introduction 4 Command line parameters 5 Default Usage 5 Operation 6 Drive Selection 8 Generating CRC-32 values (including the /c option) 9 Extracting Files (/x option) 9 Snapshot Directory (/d option) 10 Running under DOSSHELL 10 Output (SNAPSHOT.TXT) 11 Contact 12 History 13 SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page 1 Shareware ========= SNAPSHOT is a "shareware program". It is not free or public domain software and after you have evaluated it for 30 days you are obligated to register your copy if you continue using it. You are encouraged to make copies of this program and it's documentation and pass them onto to others - see the text on distribution later in this document. Definition Of Shareware ----------------------- Shareware distribution gives you a chance to try software before buying it. If you try a Shareware program and continue using it, you are expected to register. Individual programs differ on details - some request registration while others require it, some specify a maximum trial period. With registration, you get anything from the simple right to continue using the software to an updated program with printed manual. Copyright laws apply to both Shareware and commercial software, and the copyright holder retains all rights, with a few specific exceptions as stated below. Shareware authors are accomplished programmers, just like commercial authors, and the programs are of comparable quality. (In both cases, there are good programs and bad ones!) The main difference is in the method of distribution. The author specifically grants the right to copy and distribute the software, either to all and sundry or to a specific group. For example, some authors require written permission before a commercial disk vendor may copy their Shareware. Shareware is a distribution method, not a type of software. You should find software that suits your needs and finances, whether it is commercial or Shareware. The Shareware system makes fitting your needs easier, because you can try before you buy. And because the overhead is low, prices are low also. Shareware has the ultimate money-back guarantee - if you do not use the product, you do not pay for it. SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page 2 Disclaimer - Agreement ---------------------- Users of SNAPSHOT must accept this disclaimer of warranty: "SNAPSHOT IS SUPPLIED AS IS. THE AUTHOR DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF MERCHANTABILITY AND OF FITNESS FOR ANY PURPOSE. THE AUTHOR ASSUMES NO LIABILITY FOR DAMAGES, DIRECT OR CONSEQUENTIAL, WHICH MAY RESULT FROM THE USE OF SNAPSHOT." SNAPSHOT is a "shareware program" and is provided at no charge to you for evaluation for 30 days. Feel free to share it with your friends, but please do not give it away altered or as part of another system. The essence of "user-supported" software is to provide personal computer users with quality software without high prices, and yet to provide incentive for programmers to continue to develop new products. If you find this program useful and find that you are using SNAPSHOT and continue to use SNAPSHOT after a reasonable trial period, you must make a registration payment of 10 UK pounds to K.R.Duncan. The 10 UK pounds registration fee will license one copy for use on any one computer at any one time. You must treat this software just like a book. An example is that this software may be used by any number of people and may be freely moved from one computer location to another, so long as there is no possibility of it being used at one location while it is being used at another. Just as a book cannot be read by two different people at the same time. Registration ============ To register your copy of SNAPSHOT complete the document ORDER.FRM provided with the software and return it to K.R.Duncan at the mail address provided in the Contact section of this document. Registration of SNAPSHOT provides you with: o a copy of the current version of the program or acknowledgement of your registration if you are registering the current version. o a copy of the next version as it is released. o support via email (CIX & Compuserve) and mail. o if an email address was provided when you registered then this will be used to advise you of new versions of the program as they are released. When registering please indicate where you obtained SNAPSHOT from - so that I can ensure that they have the latest version. SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page 3 Distribution ============ You are encouraged to pass a copy of SNAPSHOT to others for evaluation. Please encourage them to register their copy if they find that they can use it. Shareware versions of SNAPSHOT may be freely distributed, subject to the following restrictions: o SNAPSHOT must be distributed without modification, in its entirety i.e. ONLY IF ALL THE ORIGINAL FILES CONTAINED IN THE ORIGINAL SHAREWARE RELEASE MADE BY K.R.DUNCAN ARE LEFT TOGETHER, UNCHANGED IN ANY WAY, AND ARE TRANSFERRED AS A COMPLETE PACKAGE. o SNAPSHOT may not be listed in advertisements, catalogues, or in any other manner which describes it as "FREE SOFTWARE". Shareware is "Try-Before-You-Buy" software, it is not free. o SNAPSHOT is not to be used as an enticement to purchase another product without the explicit consent of the Author. o SNAPSHOT is not to be "rented" or leased. These distribution restrictions apply to anyone who wishes to distribute SNAPSHOT, whether they be commercial vendors, user groups, BBS operators, or individuals. Anyone distributing SNAPSHOT for any kind of remuneration must first contact K.R.Duncan at the mail address given in the Contact section for authorisation. SNAPSHOT will be distributed on BBS systems - the uploaded file will be called SSHOTnnn.ZIP where nnn is the version of the program e.g. 110 for version 1.10, the extension of the file may be changed by the BBS to suit the standard archive format for that BBS - so when searching for SNAPSHOT look for SSHOT*.*. SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page 4 Introduction ============ This program takes a snapshot of all the files and directories on your hard disk(s). It is designed to be run before installing a new software package or magazine cover disk and again after the installation has been completed. The second time the program is run it will produce a text file detailing the files and directories that have been added, changed or deleted which can then be stored as a record of the installation. The prime uses for this are: a) as a cross check when you want to uninstall the package that all the appropriate files have been removed. b) if you experience problems after the installation it can be very useful to know which of your existing files have been "touched" by the installation! c) to inform you when an installation routine has overwritten some of your files with older copies! One of the annoying aspects of some installation routines is that they create and alter files in areas other than that specified - how many packages have you installed that have altered your CONFIG.SYS or AUTOEXEC.BAT files without asking for your permission first? SNAPSHOT does not affect the installation in any way, but it will provide you with a definitive list of all the directories/files that have been added/modified/deleted by the installation routine. SNAPSHOT tracks in detail the four most important files for DOS and Windows users - AUTOEXEC.BAT, CONFIG.SYS, WIN.INI, SYSTEM.INI. It will show you individual lines altered within those files and can generate copies of the files BEFORE the installation - whilst this may not undo all the "harm" that an installation routine has wrought, it cuts down the amount of work involved in removing a package or recreating a "runable" system - you should at least be able to reboot the machine with your old configuration and load Windows (if you are a Windows user!). SNAPSHOT is applicable for installation of both DOS and Windows packages. SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page 5 Command line parameters ======================= SNAPSHOT [/?] [/c] [/ddirectory] [/e] [/g] [/n] [/o] [/w0] [/x] [ [drive:] ...] /? display the help screen. /c generate CRC-32 values for all files found - see the section later in this document for further details of this option. /d Directory to store all SNAPSHOT files. The directory specified can include a drive name e.g. C:\TEMP would be specified as /dc:\temp this can be shortened to /dtemp if c: is the current drive. /e Estimate the disk space requirements for the file containing the snapshot. /g Include changes to Program Manager group files (*.GRP). As from version 1.20 SnapShot will ignore any changes to these files but will report any additions or deletions, by specifying this switch SnapShot returns to the previous method of working. /n Network drives included in search - the default is that no network drives are included in the snapshot when using the default search for all drives. Use this option only to include all network drives with all local drives - this option is not required if individual drives are specified as the drives can be either local or network. /o Overwrite an existing SNAPSHOT.LOG file, specifying this option always generates a fresh snapshot. /w0 Suppress the warning messages issued when SnapShot is denied access to a file that has been locked by another program /x eXtract files stored in SNAPSHOT.LOG: CONFIG.SYS, AUTOEXEC.BAT, WIN.INI and SYSTEM.INI. drive: specific MS-DOS drive letter(s) - overrides the default of all hard disks included in the snapshot. SNAPSHOT can be abandoned at any time during the data collection phase by pressing the Escape key. SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page 6 Default Usage ============= Running SNAPSHOT without any parameters will perform as follows: If SNAPSHOT.LOG does not exist in the current directory then all local (i.e. non-network and non-removeable) drives will be analysed and the results stored in SNAPSHOT.LOG. If SNAPSHOT.LOG exists in the current directory then all the drives previously analysed will be analysed again and the results stored in a temporary file. The two files will then be compared and a report file (SNAPSHOT.TXT) generated showing the differences between the two snapshots. The temporary file will then be deleted. Operation ========= SNAPSHOT works by reading the directory structure of each drive to be analysed then performing a file list for each of the directories - storing the details of each file and directory found in a log file for later analysis. In addition SNAPSHOT will generate a checksum (CRC-32) for the contents of the following files if they are found during the analysis (you can generate CRC-32 checksums for all files using the /c parameter): - CONFIG.SYS - AUTOEXEC.BAT - *.INI - *.DLL - *.DRV By default SNAPSHOT stores details of all directories and all files that are on your hard disk(s) - depending on your hardware setup this may not be required. The drives analysed by SNAPSHOT can be specified via the command line - this overrides the default of every hard disk found. The first time SNAPSHOT is run it will create a file called SNAPSHOT.LOG which contains details of all the directories and files found. On the second and subsequent runs the program looks for SNAPSHOT.LOG and if found it will perform exactly the same analysis as originally specified and store the details in a temporary file. Once the snapshot is complete SNAPSHOT will analyse the two files in order to produce a list of changes - the temporary file is deleted after the analysis is complete. Space must therefore exist to store two copies of the files created by SNAPSHOT. SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page 7 In order to help determine the disk space required by SNAPSHOT specify the /e command line parameter - this will not create a snapshot file but will report the disk space that would have been required had the same analysis been performed without the /e parameter. If you are in the fortunate position of having a disk space to spare then the there is not need to run SNAPSHOT in it's "estimation" mode! If your are installing a Windows based package then I would suggest that you analyse at least a) drive C: b) the drive containing the Windows system files and c) the destination drive. When installing or upgrading a software package SNAPSHOT should be used as follows: 1) Decide which drives are going to be analysed. 2) Run SNAPSHOT to estimate the disk space required - if you do not want all drives to be analysed then also specify the specific drive letters that you want analysed e.g. snapshot /e c: e: f: g: 3) Ensure that there is enough disk space to hold at least two copies of the snapshot files - remember that the size of the file generated after the installation of the software package will be larger than the initial file. 4) Run SNAPSHOT again to create the initial file (SNAPSHOT.LOG), use the same parameters as you entered for the estimate - this time omit the /e parameter. Using the previous example this would be snapshot c: e: f: g: 5) Install and run the package. Often an application will create extra files the first time it is run so by running the package these extra files will also be listed by SnapShot. 6) Estimate the disk space required again to ensure that enough space exists for the second, temporary, file. There is no need to specify any drive letters as SNAPSHOT will analyse the same drives as you specified in step 4. SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page 8 7) Run SNAPSHOT without any parameters. This run will analyse the same drives as specified in step 4, storing the details found in a temporary file. Once the analysis is complete the stored SNAPSHOT.LOG will be compared against the temporary file and the differences found will be written to a file called SNAPSHOT.TXT. This results file can be examined using any text editor. Any drive letters entered on the command line will be ignored - SNAPSHOT will only analyse the same drives as that used to generate SNAPSHOT.LOG. 8) If you have to perform part of the package installation again (to load extra drivers etc.) then repeat step 7 after the installation - SNAPSHOT.TXT will be overwritten with the new results that include the extra installation. This can be performed as many times as you require. 9) Rename and store SNAPSHOT.TXT as a record of the installation of the particular package - I would suggest using your favourite text editor to add some explanatory text to the file that shows which package/version was being installed. Drive Selection =============== SnapShot will NOT run against the following drive types: a) Diskettes b) CD-ROM c) Drives created by the DOS SUBST command. By default SnapShot will scan all locally attached drives, by specifying the /n parameter SnapShot will include all network drives also. If individual drives are specified on the command line they can be either local or network drives. SnapShot will run against removeable optical drives and treat them as if they were locally attached hard disks. One word of caution however this version of SnapShot has no means of checking that the same disk has been mounted for the after SnapShot as was scanned for the before SnapShot - so loading a different disk before running the after SnapShot will produce a massive amount of changes. Please ensure that you have the same disk in the drive when running SnapShot! This behavior will be rectified in Version 2 of the program. SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page 9 Generating CRC-32 values (including the /c option) ================================================== CRC is an abbreviation of Cyclic Redundancy Check and is a method of representing the data content of a file in 32 bits (4 characters). SNAPSHOT computes the CRC-32 of a file and stores the result in SNAPSHOT.LOG. When SNAPSHOT is run again the CRC-32 value for the file is recalculated and compared against the stored value. If the values differ then the data content of the file has changed. If SNAPSHOT prints "CRCs differ" then only the data content of the file has changed - the size, date and time are the same. CRC-32 is used by programs such as PKZIP to guard against the archive file being damaged; communications protocols such as Xmodem or Zmodem to ensure that data is transmitted successfully; and by some of the virus protection programs. If you chose to generate CRC-32 values for all files (the /c option) then please bear in mind that every character in every file has to be read in order to generate the CRC-32 value, in addition an extra 4 characters for every file will be needed in SNAPSHOT.LOG to hold the calculated value. As an example of the relative time involved the following figures were generated on a 486DX/50 running against a 200Mb drive with an average seek time of 18ms. 195Mb used in 5,400 files. snapshot c: /e 7 seconds Estimate only snapshot c: 21 seconds Default snapshot c: /c 3 minutes 30 seconds! CRC-32 for all files Extracting Files (/x option) ============================ On the first run of SNAPSHOT which creates the SNAPSHOT.LOG file the program will store in the log file the contents of CONFIG.SYS, AUTOEXEC.BAT and if Windows is installed and specified on the DOS PATH then copies of WIN.INI and SYSTEM.INI will also be taken. If, after the installation has been completed, you find that the above files have been altered "beyond repair" you can recreate the files by running SNAPSHOT with the /x parameter. This will extract the contents of the files from the SNAPSHOT.LOG file. All of the files extracted will have an extension of .SS e.g. CONFIG.SS so that the original files are not overwritten, the extracted files will have the same date, time and sizes as the original files. SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page 10 Snapshot Directory (/d option) ============================== By specifying the /d option along with an existing directory name SNAPSHOT will create ALL it's files in the specified directory. If the directory is secured SNAPSHOT may fail as it creates, deletes, reads, and writes to files in this directory. If the extract option (/x) is also specified on the command line then SNAPSHOT will create the extracted files also in the specified directory. Running under DOSSHELL ====================== SNAPSHOT can be executed from DOSSHELL and the output generated without exiting to DOS. The suggested method is to generate a new program group for SNAPSHOT along with 3 options in that group as follows: 1) Make a new program group Title: SnapShot 2) Open the new program group 3) Add program items to the new group Program Title: Before Install Commands: snapshot /o Startup Directory: c:\snapshot Pause After Exit: Yes Program Title: After Install Commands: snapshot Startup Directory: c:\snapshot Pause After Exit: Yes Program Title: View SnapShot Results Commands: edit snapshot.txt Startup Directory: c:\snapshot Pause After Exit: No SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page 11 Output (SNAPSHOT.TXT) ===================== SNAPSHOT.TXT is a straight ASCII text file that can be viewed using a text editor, or TYPEd from the DOS prompt. All the differences found are itemised in the file along with a message that tells you the type of change i.e. Added, Changed, Deleted. For files that have been changed both the directory entry before and after the installation are shown - the change could have been flagged due to the date, time or file size changing. Where the message is "CRCs differ" then the installation routine has programatically altered one of the files without changing the date, time or size of the file. For those files stored in SNAPSHOT.LOG details of any changes are shown along with the line numbers in the "old" and the "new" files so that you can determine the exact changes performed by the installation program. A summary of all the changes per drive along with final totals for all drives being analysed is shown at the end of the file. SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page 12 Contact ======= Registrations should be sent to the mail address given below, please ensure that you return a completed copy of ORDER.FRM so that I can provide you with a copy of the latest version of the program. If you are contactable via email please include those details. If you experience problems running this program or have any comments or suggestions for future releases please let me know via any of the following contact points. Mail: Kev Duncan 43 Primrose Crescent Fulwell SUNDERLAND England SR6 9RJ Electronic Mail: BBS: Northern Lights +44 (0) 91 548 0892 2400bps (at the moment!) 24hrs CIX: kduncan Internet: kduncan@cix.compulink.co.uk Compuserve: 100023,3022 or >INTERNET:kduncan@cix.compulink.co.uk Prestel MBX: 011111100 SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page 13 History ======= All versions of SnapShot are upwardly compatible i.e. a log file created by an earlier version of the program can be used with the latest version but many of the new features added in the latest version may not be available when used with an old log file. v1.21 - 28 May 94 ----------------- Bug: If the directory option (/d) was chosen SnapShot would generate an estimate! v1.20 - 15 May 94 ----------------- Swap file changes for Windows and Windows NT are now ignored as are changes to host volume files for the Double Space and Stac data compression systems i.e. DBLSPACE.nnn and STACVOL.nnn Added new option to include changes to windows .GRP files in the report - default from version 1.20 is to ignore any changes to these files - add/delete of .GRP files is reported as normal. Diskette drive types now individually identified on the drive summary screen along with their capacity. Checks to see if floppy drive B: is installed and reports if it is not. Drive selection logic altered so that optical drives can be included in a snapshot - however please read the 'Drive Selection' part of this document. Bug: Network drives could only be scanned if the /n switch was specified. This was incorrect. All network drives are scanned by specifying the /n switch, individual network drives can be scanned by specifying them on the command line without the /n switch. v1.13 - 02 Apr 94 ----------------- Bug: To correct a reported problem where the last line in AUTOEXEC.BAT was not terminated by the normal Carriage Return and Line Feed characters. The problem has now been corrected for snapshots created using this version of the program. Erroneous changes may be reported if the program is run against a log file created by an older version of the program and it contains a file without the Carriage Return and Line Feed characters at the end of the file - unfortunately two lines from the file have been stored in the log file incorrectly. SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page 14 v1.12 - 04 Dec 93 ----------------- Bug: If an attached CD-ROM drive was powered off when the PC was switched on or a CD was not in the drive SnapShot would either either hang or reboot the machine when it attempted to obtain attempted to obtain the parameters for the drive - this was solved by replacing the compilers critical error trap with a public domain one. v1.11 - 08 May 93 ----------------- New option to suppress the messages generated when SnapShot was denied access to a file (/w0). Bug: 'Sharing Violations' were being generated when SnapShot was run under Windows and SHARE had been loaded. SnapShot will now report any files that it has been denied access to and will not (can not!) generate CRC checksums for those files. v1.10 - 06 Apr 93 ----------------- Dates, times and file sizes are now formatted using the country information provided by DOS. Provide an itemised list of the individual changes in any of the four standard files. New option to generate CRCs for all files (/c). New option to overwrite an existing log file (/o). New option to generate all files in a specific directory (/d). Bug: Drive display now caters for drives with capacities > 1Gb. Bug: When generating an estimate previous versions of the program were calculating CRCs - even though they were not being used. Generation of an estimate is now considerably faster! Bug: Estimates generated were one byte too small. Bug: Change to memory usage to prevent the program hanging in certain circumstances. Bug: Correct problem when volume label contained a period ("."). SNAPSHOT Version 1.21, Copyright 1992,93,94 by K.R.Duncan. Page 15 v1.04 - 25 Feb 93 ----------------- Store copies of CONFIG.SYS, AUTOEXEC.BAT, WIN.INI and SYSTEM.INI in SNAPSHOT.LOG. New option to extract these saved files from the log (/x) thus recreating the files as they were before the installation (with their original date and time stamps). v1.03 - 14 Dec 92 ----------------- Bug: Identify CD-ROM drives and ensure that any CD-ROM drives are excluded from a snapshot. v1.02 - 02 Aug 92 ----------------- Bug: Intercepts the "Abort, Retry or Fail", messages when the drive being checked was unavailable e.g. powered off. The drive is now treated as unavailable and is excluded from the search. Useful for network users that have "missing" drive letters allocated v1.01 - 14 Jun 92 ----------------- Provide warnings when the software being installed has overwritten a file with an older copy. Bug: When all the defaults were taken the drives scanned on the first pass were not been saved in the log file - so that on the second and subsequent runs no files were scanned and the results were garbage. v1.00 - 04 Jun 92 ----------------- Initial release.