Using The Software Update Wizard...

Architecture of The Software Update Wizard

Here is a brief explanation of how The Software Update Wizard delivers update over the web functionality to your applications with a single line of code. The components split down into:

 

The Server

You can use any server which supports http requests.  You need no server side processing other than this.

You upload the updated files for your application to the server, either as a zip file, individual files or in an installation program which will be run by The Software Update Wizard when the update is downloaded to the user's machine by The Software Update Wizard components embedded in your application.

You also upload a simple text file which contains a script for your customers Software Update Wizard components to download and process.  Here is a simple script example:

[11]
; This is a comment line
Filename=/Prophwin.exe
WindowTitle=Prophecy for Windows
Message=Hello <USERNAME>, There is an optional Prophecy upgrade available.  Would¶
 you like to update your Prophecy version now?
Importance=Optional

[99999]
Message=Hello <USERNAME>, You already have the latest version of Prophecy for Windows!

The example above contains an updated version of your application file, "Prophwin.exe".  The "WindowTitle" line is used to allow The Software Update Wizard to shut down and restart your application - it finds your application by the title bar text:

The "Importance" line lets you control whether the update should be optional (i.e. the user can decline it) or compulsory (i.e. the user is not given the option to decline the update).  Therefore important bug fixes can be made compulsory, whereas small functional enhancements can be optional.

The block at [99999] lets you post a message to the user if they already have the latest version of your software.

Note: The example shows a small subset of The Software Update Wizard's capability.  Server script commands also let you do all of the following tasks:

  • Download and unzip zip files automatically from the server.

  • Filter updates based on file version and / or date and time stamps.

  • Launch any number of processes as part of the update, either before or after the download part of the process is actioned.
  • Specify whether processes you launch should run in the SYSTEM or logged on user's security context, on a process by process basis (Windows NT/2000/XP only).
  • Replace in-use files via a reboot.

  • Build a folder structure for your update on the user's machine.
  • Generate a transparent advice back to the developer confirming the update.
  • Use constants such as the user's Program Files, Windows, System, Temp and application folders when specifying target folders and launching processes.

  • Customise the look and feel of The Software Update Wizard dialog boxes to fit in with your application's branding.
  • Optionally back up any files which are replaced through the updates.

The Client Components

There are 2 basic components on the client machine:

 

The Software Update Wizard DLL (Dynamic Link Library)

The Software Update Wizard DLL, wuw.dll, is a simple Windows DLL which can be called from VB, C++ or almost any standard Windows development language.  

It contains just one exported function, WebUpdate().  The WebUpdate() function accepts the URL of your server update script file as its only argument.  Just call WebUpdate() whenever you want to check for updates:

Visual Basic

Private Declare Function WebUpdate Lib "wuw.dll" (ByVal URL As String) As Long

Private Sub CommandButton1_Click()

Dim myURL As String
myURL = "http://www.myserver.com/update.txt"
WebUpdate(myURL)

End Sub

C/C++

WebUpdate("http://www.myserver.com/update.txt")

C#

using ...etc...
using System.ComponentModel;
using System.Runtime.InteropServices;


namespace MyApplication
{ public class Form1 : System.Windows.Forms.Form
  {
  ... etc...
    public class wuw 
    {
      [DllImport("wuw.dll")]
      public static extern bool WebUpdate(string URL);
    }
  ... etc...

    private void UpdateCheckButton_Click(object sender, System.EventArgs e)
    {
       wuw.WebUpdate("http://www.dataper.demon.co.uk/update.txt");
    }
   ... etc ...
  }
}

The Software Update Wizard Service

The wuw.dll DLL receives the URL of the server update script via the WebUpdate() exported function call issued from your application.

It then determines which operating system it is running on.

If it is running under Windows NT / 2000 / XP, it will pass the server script URL to The Software Update Wizard Service application down a named pipe which it establishes to contact the Service application.

The Software Update Wizard Service is a Windows Service application, which runs in the SYSTEM security context and can therefore reach parts of the client PC which the logged on user does not have rights to reach.  The Software Update Wizard Service receives the URL from wuw.dll, contacts the target URL and handles all the processing associated with downloading and installing your updates.

If the client operating system is Windows 95/98/ME then the wuw.dll calls another Software Update Wizard component, wuw.exe.  This is a 99% code similar implementation of the Service application, but which runs under Windows 9x.  It performs the same function for these platforms as the Service does for Windows NT or later.  (Windows 9x platforms do not support Windows Service applications.)

That's it!  We supply a client installation program which can run completely silently, for you to integrate into your application's installation program, together with comprehensive information on preparing an installer which includes The Software Update Wizard for users who prefer to 'roll their own' installation programs.

The Software Update Wizard

Take the Software Update Wizard Tour

 

 

 

 

 


Automatic Updates Over the Web with a single line of code!

Fast 1.7 meg Download of the full Software Update Wizard Developer Edition (expires in 30 days). Test the product with your software - we think you will like it!

Only $249.95 USD for a Single Application or $999.95 USD for an unlimited application license and get the full Developer Edition version immediately.

 

 

Software Update Wizard Icon