AutoUpdate
version 1.0
from Brute Force Programming
� 1999 Daniel J. Wojcik

Shareware.  Price (see below).

For Delphi 2, 3, 4

Do you write Delphi applications for use within your
organization?  Are all your users on the (Windows) network?
Are you tired of sending out new distributions every time
you make a change to the application's executable?

AutoUpdate adds code to your Delphi project and creates a
small subsidiary program to automatically transfer newer
versions of your applications' executables to your users.

REQUIREMENTS:
A Windows network (as opposed to Novell...but since I don't
have a Novell network I can't swear it won't work on one.)
A shared directory accessible by the users of your application.

LIMITATIONS:
Only the executable file of your application will be available
for new distribution.  Any changes you may make to DLLs,
Tables, OCXs, or anything else external to the main executable
file will have to be distributed in the normal way.

USE:
1) BACK UP YOUR PROJECT FILE (.dpr).  Nothing bad should
  happen, but I make NO guarantees of any kind.

2) Start AutoUpdate  (updater.exe)

3) Find the project you want to modify using the folder button
  at the right of the "Project" field.

4) Find the network share point you will be using to store the
  updated applications.  This location must be accessible by
  your users.  Press the button to the right of the "Path to
  Network files" field.
  The path will be returned as a UNC path, if possible.  It
  is MUCH better to use UNC paths than Drive:Directory static
  mappings.  Users won't need permanent drive mappings this
  way.  In fact, they won't even need to know where the
  programs reside.

5) Enter a name for the small subsidiary update program that
  will be created.  The default name is "Update", but you
  can call it anything you'd like...except the same name as
  the application you're modifying, of course.
  I usually call mine "GetNewXXX", where XXX is the app name.
  This allows me to have a central location for all updates
  and new versions of the update sub-program.

6) You may check either or both of the compile options.  If
  checked, the files will be compiled using DCC32.EXE, the
  command-line compiler.  DCC32 will use a file called
  DCC32.CFG for the compile options, if one is present.  See
  the Delphi Help files for more information on these options.

7) Press the "Do It!" button.  If all goes well, a message will
  pop up telling you the status, and whether you need to
  recompile your application, or compile the newly created
  Update program.

8) Include the Update program with the initial distribution of
  your application, and place it in the same directory as the
  application.

9) Put any updates to your application in the shared network
  directory.  When your users start the application, they will
  be asked whether they want the newer version.  If they do,
  the new version will be copied and started.
  New versions of the Update program will also be copied
  automatically.
  If you change the location of the shared directory, leave a
  copy of the NEW application and the NEW Update program in
  the old one until all your users have gotten the update.
  This is necessary because the process uses file dates to
  determine whether a new version is available.  A dummy
  application with an advanced date will also work...the new
  version will be copied from the new directory.

WARNING:
If you change, rearrange, or otherwise modify the code and {*} symbols
AutoUpdate put in the .dpr, the next time you run AutoUpdate against
that application, you may end up with duplicate lines of code.  This
warning also applies to the first line in the .dpr which starts with
"(* Lines beginning with {*}"  This line is an indicator to AutoUpdate
that it should replace existing code, rather than insert new code.


PRICE:
If you like this little utility...two samples of your country's paper
currency would be appreciated.  In good condition, suitable for placing
in a display case (front and back, which is why I'd need two).
The denomination of the bills is up to you.
Acceptable alternatives: A cool app or component you wrote, interesting
pix, midi files, mpegs, something touristy from your country...

Comments & Questions:
 [email protected]

Other, more substantial correspondence:
 Daniel J. Wojcik
 200th TAMMC
 CMR 402  Box 1247
 APO AE 09180
or
 Daniel J. Wojcik
 Landstuhlerstrasse 2
 66877 Ramstein-Miesenbach
 Germany