
==================================================================================

OOOO    OO      OO       (c) 1999 Andrew Efimoff. All Rights Reserved.
OO  OO  OO      OO
OO  OO  OO      OO
OO  OO  OO  OO  OO  OO
OOOOO   OOOOOO  OOOOOO

   OOOOO   OO        OO   OOOOOOO    OOOOOOO    OOOOO     OOOOOOO   OO OO
  OO   OO   OO      OO   OOO    OO  OOO    OO  OOO  OOO  OOO    OO  OOOO OO
   OOO       OO OO OO    OOOOOOOO   OOOOOOOO   OO    OO  OOOOOOOO   OOO
     OOO     OOOOOOOO     OOOO       OOOO      OOO  OOO   OOOO      OO
  OO   OO     OO  OO       OO  OO     OO  OO   OO OOO      OO  OO   OO
   OOOOO      OO  OO        OOOO       OOOO    OO           OOOO    OO
                                               OO
                                               OO

==================================================================================

A few words about DLL Sweeper for Windows 95/NT ver 1.0 beta.

This program realizes most of my dreams about how dlls should be cleaned up
under Windows 95 and NT. I saw a lot of programs that tried to do such a
clean-up, and I can finalize that most of them do not care enough how DLLs are
used in programs. The main idea of my program is to make a search really
complete. I will describe what have been already done in beta version :

        1. Import section of files are searched. This is quite
        quick procedure, so I left `lookimportsonly` key in dllsweep.ini
        file. If it is set to 1, the program will work only with import
        section of executable. Program works with 32-bit files and 16-bit
        ones for Windows. If you don't need 16-bit analysis set
        `find16b_dlls` to 0.

        2. Registry is searched. I search the registry files for NT, 95
        and 98. Search is performed on files BY TYPE, so program may check
        your registry backups too.

        3. Other files searched BY TYPE, if they are executables. Search
        is performed along the whole file in the executable part (for
        example we do not search sfx archives in their archive-part). Program
        search up-case and down-case dll name without extension for 16-bit
        modules, and with extension for 32-bit ones (I suppose that 32-bit
        modules LoadLibrary must be called with extension at the end, but
        in the feature it will be switched by a parameter in .ini file).
        It also searches 32-bit files for Unicode name.

Bad features :

        1. Very slow analysis. I optimized it the best way, but it still
        is not quick enough.

        2. Some files can not be checked, because they are locked by NT or
        share violation.

Customization :

        In the feature, I'll make some kind of interface to customize the
        program, but now you can customize it yourself with the help of
        NOTEPAD.exe or any other text editor.
        You have to edit dllsweep.ini in your windows directory.

        1. `backupto` - the path, where found unusable dlls will be backuped.

        2. `recurse`  - and a check-box in the dialog is the same parameter,
        if you want to search subdirectories for searching dlls to analyze if
        they are unused. It's not recommended to set this option until you
        set up search directory to a special path.

        3. `find16b_dlls` - as is.

        4. `searchdrives` - the set of drives or a directory to search for the
        files, that may be using one of dlls in the list. If it is a directory
        (this possibility is made for debugging reasons) it must contain a full
        path to it.

        5. `32bitdllpath` `16bitdllpath` - the paths to search for 32-bit
        and 16-bit dlls. By default it is Windows %System% (or %system32% for
        NT) directory for 32-bit dlls and %Windows%\system for 16-bit ones.
        But you can set here other path for your needs.

        6. `dllextensions` - you may include extension to search for, for
        example : dll drv exe

        7. `lookimportsonly` - search only "import" section of the executable.
        I call this "quick" variant, but it is not reliable enough.

Other notes :

        If you noticed any bugs or just have good suggestions, please write me
        efimoff@chez.com. You can also visit my home page :
        http://free.xtel.com/~efimoff
        or
        http://efimoff.home.ml.org

                                                                Andrew Efimoff
                                                                30 Jan 99
