                                JFUpgrade
                                =========
Version 1.02 (22 Jun 1998)

Introduction
------------
Upgrading some applications is a problem. Most of the time you need to
transfer all the files in the application because you don't know what has
changed. Of course, if you compared it to the last version things would
be easier. JFUpgrade is the user front end for an upgrade process.


Usage
-----
On running, the application will prompt you to drag the upgrade file to the
window. Upgrade files are simply data files you can download from the 'net.
They are in a special format which allows them to be quite generic.

Once you've dragged the upgrade file there, you will be prompted to drag 
the application you wish to upgrade to the window. On doing this the upgrade
process will begin.

First, files are extracted into Wimp$ScrapDir, then from there copied over
your existing application. If any errors occur during extraction you should
still have a working copy. Until you close the upgrade window you will be
able to look at the files that /were/ successfully extracted in WimpScrap.

The fields in the window are :
  Application : The application this upgrade is for
  Packages    : The number of packages in this upgrade. An upgrade may
                contain multiple packages which it can extract. By design
                JFUpgrade will extract all packages. The encoder, however,
                can only produce a single package at present.
  Objects     : The number of objects in the upgrade. An 'object' is either
                a file or a directory.

    
How it works
------------
Upgrade files are encoded so that you can't fiddle with them. Well, that's
not really the reason. The real reason is that QuadWorks' own upgrade system
happens to be encoded so that people can't just download upgrades and get
a full application. Because I've used their upgrade format (why waste a good
design?!), JFUpgrade should be able to cope with the QuadWorks style upgrade
files.

If they subsequently deviate from the format I have then that is no real
loss. In the interests of peace and harmony, I will not divulge the format
of the upgrade files. An encoder can be obtained on request if you wish to
use JFUpgrade in your own programs.


Updates
-------
This program may (or may not) be updated periodically. If I'm sensible I'll
use the upgrade files to upgrade the application!


Possible future features
------------------------
Object type 3 - diff'd text file. This may be useful for files which the
user can modify themselves.


Disclaimer
----------
The author accepts no responsibility for any problems which this application
may cause or loss of data resulting in its use. This application is Public
Domain Freeware. This means that it may be distributed, so long as no charge
other than copying costs are charged for it. The copyright remains with
myself (Justin Fletcher).

I would like to thank QuadWorks for designing the somewhat 'interesting'
upgrade format that this program uses.


Contact
-------
Any comments, queries, donations or bug reports can be sent to Justin
Fletcher at :

E-Mail : Gerph@innocent.com
URL    : http://users.essex.ac.uk:8000/
IRC    : On #Acorn as Gerph
Finger : finger jrflet@sunlab1.essex.ac.uk
Tel    : (01842) 813979

Snail Mail :
    Justin Fletcher
    Galadriel
    17b Cromwell Road,
    Weeting,
    Brandon,
    Suffolk.
    IP27 0QT


History
-------
Version 1.00 : 09 Jun 1998
               First version written
               There are a few things I dislike about the QuadWorks file
               format, but in general it looks ok. Also, the amount of
               'unknown' header data is concerning. On the other hand, it's
               only really relevant to them. My files will work with my
               programs.

Version 1.01 : 11 Jun 1998
               Can be launched explicitly by a command on the CLI.

Version 1.02 : 22 Jun 1998
               Fixed 'open files' bug - now checks if the files are open
               before attempting to copy over them and will attempt to close
               them first.
