I tarred the files we are using for the "self-service" sign up. The tarball is available here: ftp://ftp.dnr.state.mn.us/pub/outgoing/backuppc/
You will want to untar the file in a new directory to check it out. It is intended to be untarred in the document root on your backuppc server. See the README for additional info, including some edits you will need to make.
There are a couple of points that may not be obvious:
1 - It is OK if a user "signs up" multiple times, but once the user clicks the sign-up button, the install must be run on the client (because the rsync username and password were changed in config.pl on the server)
2 - If rsyncd is running as a service on the client from a previous install, the install does not attempt to stop it and remove the service. This means that the cygwin dll cannot be replaced on the client unless the user has the rights and skill to manually stop the service. However, the other client files are overwritten, including rsyncd.secrets
Take a look and let me know what you think.
Tom Glancy
Ecological Services Division IT Supervisor
Minnesota Department of Natural Resources
500 Lafayette Road - Box 25
St. Paul, MN 55155-4025
<<< original message >>>
We are testing a self-service approach that allows users to initiate their own BackupPC back up services. The implementation uses PHP and some bash shell scripts to create an install bundle for the client, and to make the necessary server-side modifications (hosts file entry, back up directory, custom config.pl.). So far, this is working very well.
Allow users to easily sign up and install BackupPC service
  Any user with the network account can sign up for BackupPC service
  The user is using a Windows 2000 or Windows XP computer
  The user is logged into and signing up from the computer to be backed up
  rsyncd service is not running on the client computer
 1 - User visits Sign Up web page on a web server that explains install process, with a link to sign up on BackupPC server
 2 - User authenticates to the BackupPC html server using network account (ldap authentication)
 3 - User is presented with a generic list of drives, checks the checkbox for drives to back up, clicks "sign up"
 4 - System uses nmblookup to look up computer name from IP address
 5 - System checks BackupPC hosts file and adds user name (from Step 2) and computer (if not already there)
 6 - System creates the pc directory from the computer name, to hold back ups (if not already there)
 7 - System creates install directory in pc directory, to hold install files
 8 - System generates a random user name / password combination for rsync to use, different from network user name / password
 9 - Using a template, system creates the client rsyncd.conf and rsyncd.secrets files in the install directory
10 - Using a template, system creates the user's custom config.pl file in the pc directory
11 - System creates a self-extracting zip file containing rsyncd.conf, rsyncd.secrets, cygwin1.dll, cygrunsrv.exe, README and an install.bat file (uses Filzip SFX)
12 - System writes config.pl, rsyncd.conf, rsyncd.secrets to user's LOG file
13 - System returns the self-extracting zip file to the user's browser
14 - User saves, then executes the self-extracting zip file
15 - On the user's computer, the self-extracting zip file creates a \backuppc directory, extracts all the files to it, and runs install.bat
16 - install.bat runs cygrunsrv.exe to install rsyncd as a service, configures Windows XP filewall to allow BackupPC via rsync
17 - Finished - user is prompted to browse to the BackupPC page
Tom Glancy
Ecological Services Division IT Supervisor
Minnesota Department of Natural Resources
500 Lafayette Road - Box 25
St. Paul, MN 55155-4025