Software Updata v1.0b
developed by Afrow UK
Add your own software to Software Updata

If you are thinking of creating a Software Definition File for updating your software, this page shows you how.

The layout

; Example Software Definition File
; Last updated [date]

[Software]
Software=My Product
Site=http://www.MyWebsite.com/
Dir=C:\DefaultDir
DirContains=file1.ext,file2.ext,folder\file3.ext,folder2\file4.ext
DirEndWith=\DefaultDir
DirReg=[HKLM|HKCU]>Path\To>RegistryKey
DirRegAppend=\DefaultDir

[Server]
Server=My update database server title
Site=http://www.MyServerWebsite.com/
UpdateListURL=http://www.MyServerWebsite.com/UpdateListFile.php
UserCounter=http://www.MyServerWebsite.com/UserCounter.php
URLServer=http://www.MyServerWebsite.com/UpdateURLQuery.php?updateid=
URLForward=http://www.MyServerWebsite.com/DownloadCounter.php?url=
URLReport=http://www.MyServerWebsite.com/ReportBrokenURL.php?url=

[SDF]
UpdateURL=http://www.MyWebsite.com/example.sdf

Attribute information

Some of the below attributes are required (must always be present), which are marked with (Required).
Also some of the attributes are ignored by SwUpdata Lite, which are marked with (SwUpdata Lite).

Heading Attribute Value
[Software] Software (Required) The title of the product.
Site (SwUpdata Lite) The software's website address, e.g. http://www.planetquake.com/quake2/, or http://www.planethalflife.com/.
Dir (SwUpdata Lite) The default software's installation path. This is to give the user an idea of where it is (or it could be the actual one if it's a fixed path).
DirEndWith (SwUpdata Lite) The end of the entered software directory path must end with this value.
If it doesn't then the user cannot continue.
DirContains (SwUpdata Lite) A list of files seperated by commas (,) which must exist inside the software's installation path. If they do not exist, then the user is not allowed to continue.
This is useful if you want to check if the user really does have a copy of your software installed.
DirReg (SwUpdata Lite) Accesses software installation path stored in the Windows registry. Format must be of:
[HKLM|HKCU]>Path\To>RegistryKey
For example (for Half-Life 1): HKCU>Software\Valve\Steam>ModInstallPath
DirRegAppend (SwUpdata Lite) Appends this value to the end of the path from the registry.
Ideal for game modifications if they are installed in a sub-folder of the game's install location.
BitmapURL URL to an online copy of your software's bitmap branding image (.bmp files only).
BitmapFit true | false
If true, resizes the bitmap image to fit the branding image area. Note that the resizing is poor and you might find that image quality is lost.
KillProcs List of full process file names seperated by commas. These processes will be killed before the user attempts to perform an update.
If they are killed unsuccessfully then an error message occurs asking the user to close the program or kill the process manually.
UpdatesPage true | false
Disables the updates list page where the user can select which updates to download and install.
The updates page is enabled by default (without this setting).
[Server] Server (SwUpdata Lite) The title of your update server database website.
Site (SwUpdata Lite) Your update server's database website address.
UpdateListURL (Required) The full URL to your update server's list/query file. This can be a plain text file or a server executable (e.g. PHP or Perl).
URLServer The full URL to the update server's URL query executable. This is queried to get an update's download URL.
Leave blank ("") and URL's will be read directly from the UpdateListURL file instead.
BaseDownloadURL This is applied to the start of a download URL if that download URL does not start with "http:" or "ftp:/".
This can be used to cut down on the size of your updates list if most of your downloads are on the same webspace.
URLForward The full URL to a server executable which will be executed everytime a download is requested. The script will be executed with the download URL as the query string.
This could be used to increase the download count for a particular download. See the Download statistics section on the servers page for more information.
URLReport The full URL to a server executable which will be executed when a broken download link is found.
The script will be executed with the download URL as the query string.
UserCounter The full URL to a server executable which will be executed when someone updates your product with Software Updata for the first time.
The initial purpose of this is to add to a users count to show how many people are using Software Updata with your software.
[SDF] UpdateURL (SwUpdata Lite) The full URL to your SDF file on a remote (Internet) location. This can be used for updating your SDF file (see below).
OnlineURL The full URL to an online Software Definition File containing other (all or not all) SDF attributes. This can be used for security purposes as the file is downloaded, attributes read, and then quickly deleted. This is also useful if you need to update SDF attributes very often.
With this value set, you do not have to use the UpdateListURL attribute in the main (local user) SDF. The only other requirement for a local SDF to be accepted by SwUpdata is the software's product name.
The 'UpdateURL' [SDF] attribute can still be used to update the local user's SDF file.

As you can see, there are currently only two attributes that are actually required (require a value of some kind). All the other attributes are completely optional.

Example #1 (basic)

; Non-working SDF for game Quake II "Blobby" mod
; Last updated 1st October 2004

[Software]
Software=Quake II: Blobby
Site=http://www.geoshities.com/blobbymod/
Dir=C:\Quake2\blobby
DirEndWith=\blobby
DirReg=HKLM>Software\Quake2>InstallDir
DirRegAppend=\blobby

[Server]
Server=Blobby Updates Database
Site=http://www.geoshities.com/blobbymodupdates/
UpdateListURL=http://www.geoshities.com/blobbymodupdates/updates.txt

[SDF]
UpdateURL=http://www.geoshities.com/blobbymod/blobby.sdf

Example #2 (secure)

Local SDF to be downloaded by Jeff's users:

; jefficonedit.sdf :: Jeff's Icon Editor SDF

[Software]
Software=Jeff's Icon Editor

[SDF]
OnlineURL=http://members.bipod.com/jeff/iconedit/online_iconedit.sdf

Remote SDF on Jeff's webspace (so users cannot modify it):

[Software]
Site=http://members.bipod.com/jeff/
Dir=C:\Program Files\IconEditor
DirReg=HKLM>Software\IconEditor>InstallLocation
DirContains=iconedit.exe,iconedit.dll,logo.bmp,manual\manual.htm

[Server]
UpdateListURL=http://members.bipod.com/jeff/iconedit/updates.txt
UserCounter=http://members.bipod.com/jeff/iconedit/downloads.php

[SDF]
UpdateURL=http://members.bipod.com/jeff/iconedit/iconedit.sdf

Releasing SDF updates

The 'UpdateURL' attribute must be set to a SDF file on the Internet (URL).
If changes are made to the SDF file, the new SDF file must be uploaded to this URL and thus made available for Software Updata to download directly. Software Updata will check for MD5 value differences for an update, so no definate change has to be made to the SDF file for an update to be triggered (1 character change is enough to make an update occur).

Built in SDF updating is not supported by Software Updata Lite. All updates (including Software Updata Lite itself) must be done through the server updates list for that server.

Adding a branding image

You can add a branding bitmap image to your software on the left of Software Updata.
The image must be in bitmap format in the Software folder with the same name as your SDF file (except with a .bmp file extension rather than .sdf). The size should be 90 pixels wide by around 170 in height. You can get the bitmap to fit the branding image area by adding BitmapFit=true to the Software section of your SDF.

Notes

Software Updata Lite

Software Updata will only use one SDF file, which must be called default.sdf.