Update Technical

This is technical information about the Update feature. It is only intended for resellers and programmers.

Starting with version 5.4, we moved to a more automated update page. First, we will cover the classic page.

Classic View

To turn on the classic view, run this query:

UPDATE preference SET ValueString='1' WHERE PrefName='UpdateWindowShowsClassicView'

Then, restart the program.

In the Main Menu, click Help, Update.

Enter the update code. A new update code is needed for each version. For instance, one update code will work for any build of version 4.5, but a different code is needed for version 4.6. Click Check for Updates to see if an update is available for download. If so, click Download to download and install the new update. Here's how it works for your customers:

  1. The customer or potential customer installs the trial version from your website. This includes the .NET framework, the MySQL server, the database, etc. At this point, the customer has a fully functional version of the program except that OpenDental.exe will not allow more than 30 patients. Also, the ADA claim form will be missing, and the ADA codes will be dummy codes for testing.
  2. When they purchase the software, they get an update code which they enter in the box as shown at the top of this page. The update code is different for each minor version and may be any string you wish. Do not publish your update codes.
  3. There should be a folder on your website where updates are stored, for example http://www.resellerwebsite.com/updates/. This path is stored in the preference table in the database under "UpdateWebsitePath". Within the updates folder are a series of folders, one for each minor version of Open Dental. The name of each folder is identical to the registration numbers you would give out. For instance, there might be a folder called http://www.resellerwebsite.com/updates/34do0m48cj. The contents of each folder is always the same. They contains two files: Manifest.txt, and Setup.exe.
  4. Manifest.txt: Describes which versions are available. There are two lines. Line one contains the most recent build available. The second line is optional and might contain a newer minor release that is available. For instance, if we are in the version 3.4 folder and manifest, then it might look like this:



    This allows the user to keep version 3.4 as current as possible even if they do not wish to update to version 3.7. If they want to update to version 3.7, they have to call you to get a new registration number. If one of the available versions is beta, then you can tack a 'b' onto the version. For instance, 3.4.12b. This will help the user decide whether they want to update now or wait for a release version.

  5. Setup.exe: Only installs the OpenDental.exe, necessary dll's, and ConversionFiles as described in the programmers page. Setup.exe does not install any database or server components.
  6. When user clicks Check for Updates, Open Dental compares the currently installed version with the versions in the manifest. If newer versions are available, it notifies the user.
  7. User clicks the download button. This causes Setup.exe to be copied to the OpenDentImages folder located on the server. As soon as it is copied, Setup.exe is automatically launched, and Open Dental shuts down. The user then completes the installation process and manually restarts Open Dental. There is a new field in the preferences table called "ProgramVersion" that is then updated with the most recent version installed. Note that this might be a slightly newer version than the "DataBaseVersion".
  8. At this point, if someone on another workstation starts Open Dental, one of the first things it does is compare the "ProgramVersion" in the preference table with the version installed on that workstation. If the ProgramVersion is newer, it lets the user launch Setup.exe directly from the OpenDentalData folder without downloading anything from the website.

If you want to provide the update feature to your own customers, you can duplicate the functionality above. Change the "UpdateWebsitePath" in the preference table to your own website. Supply your own registration numbers to your customers and provide Manifest.txt and Setup.txt in the appropriate folders on your website. You will have total control over when versions are released and who has access to them. This can all be done with simple files rather than relying on a complex web service.

Update Web Service

We no longer use the classic view. We now use a web service. For you to use your own web service, you would start by downloading WebServiceCustomerUpdates.zip. Open it, figure it out, run it, etc. You will quickly see that you need to add a small database to your server with a few tables in it to track such things as which versions you are releasing and on which dates. It will also need to connect to your customer database to look up Registration Keys. To set the customers' computers to look to your web server instead of ours for updates, go to the Update Setup window. Change the Server Address. This is ONLY available starting in version 5.6.