There are two aspects to updating Stonefield Query: updating your copy and updating your users' copies.

Updating Your Copy

The Updates page of the Stonefield Query Options dialog allows you to specify whether Stonefield Query checks for updates and if so, how often. If configured to do so, it will check our server at startup to see if a newer version of the program is available. You can also choose the Check for Updates function in the Help menu to manually check at any time.

If a new version is available, a dialog appears telling you some of the key features in the new version. If your software maintenance is current, you have the option to download and install the update now. If your software maintenance is not current, this option is not available.

If you install a newer version of Stonefield Query and your software maintenance has lapsed, the next time you start the program, a dialog informs you that you are not licensed to use this version of the program. You must then either renew your software maintenance or reinstall the older version you previously used, since the new version will not run.

Updating Your Users

Your users' copies of Stonefield Query can also be configured to automatically check for updates, or they can manually check with the Check for Updates function. However, rather than checking our server and downloading just the core Stonefield Query files, you may wish to have this process check your server and also download any changes you've made to your project files. If you don't want to support this feature at all, change the Support Online Updates setting to False.

The URL for Online Updates configuration setting is blank by default, which means it will use the Stonefield Query server. To check your server instead, enter the URL (for example, "www.myserver.com/updates") you wish to use into this setting. You can also specify a user name and password to use to connect to that URL in the Username for Online Updates and Password for Online Updates settings.

Stonefield Query downloads an XML file from the specified URL that contains information about the new version and what files to download. By default, the Updates File for Online Updates setting is blank, meaning the file is expected to be named FILES.XML. If you want to use a different name, specify it in this setting.

This file has the following format:

<update>
    <version>Version number</version>
    <minversion>Minimum version number existing SFQuery.exe can be</minversion>
    <maxversion>Maximum version number existing SFQuery.exe can be</maxversion>
    <text>HTML or plain text with information about the update</text>
    <files>
        <file>Name of the first file to download</file>
        <file>Name of the second file to download</file>
        ...
    </files>
</update>

The minversion node allows you to specify that the update is only available if the user has that specified version or later. This allows you to release small update packages for those users at or past a certain version and require users of earlier versions to download and install a complete Setup.exe. Similarly, the maxversion node allows you to specify that the update is only available if the user has that specified version or earlier. The minversion and maxversion nodes are optional.

Here's an example:

<update>
    <version>4.1</version>
    <minversion>4.0</minversion>
    <text>
        <p><b>New Features</b></p>
        <ul>
            <li>First cool new feature</li>
            <li>Second cool new feature</li>
        </ul>
    </text>
    <files>
        <file>update.exe</file>
    </files>
</update>

There are a few things to note about the files listed in this XML:

  • Files named SETUP.EXE or UPDATE.EXE are executed during the update installation process.

  • Files with a ZIP extension are unzipped.

  • All other files are copied into the program files folder.

  • You can specify a path for the file on the server if it isn't in the folder specified in the URL for Online Updates configuration setting.

If you include files in a ZIP file, be sure to use relative paths in the ZIP file for any files that go into the Data folder, such as REPMETA.DBF.