Purpose

The purpose of the system is to reduce the time which is used on deployment when installing new versions and updates of a specific version of an application website or files.
This can easily be done by installing a the Updater Service or the application at the clients site. Then applications and their databases can be updated automatically.

Installation guide

Prerequisites:

Msi's for automatic installation should be created with the parameter "overwrite previous installations" set.

 

Server

Decide wheter you want to install the app or the service.

If you want to install the Service:

Download the K:L:ON:K updater service.

Run KLONK Updater Service Server.msi
Click "Next" "Next" "Next".
At completion click "Close".

Move to the destination installation path. ""program files"\KLONK\Updater Service Client"

Configure the updater Updater.Service.exe file // this file is installed with standard configuration parametersYou should update this file with the path to where the UpdaterSettings.xml is placed.

Contents in this file is also log configuration and webservice binding configuration.

TBD//  Describe how to configure the binding.

The configure UpdaterSettings.xml document contains information about how and where the updater service should be configured.

Configure the DownloadPath directory path to point to the directory which will be used for storage of downloaded versions. For instance: C:\Program Files\KLONK\Updater Service Client\"

It is possible to configure as many sites for configuration as nessessary.

Configure the parameters:

Site with the site id. eg. Site id="KLONK.Site" 

Directory update is the install directory.

Application name is the application nameDownload extension is the extension file name for download. eg. downloadFileExtension="msi" force each update means what update should be done right after download.

LastUpdate is the date and time of the latest update.

HourofDayToInstall. is the the time of day the file should be installed.DayOfWeek is the day of week when the installation should be done.

dayOfMonth="12" month="12" 

downloadTimeType="EveryDay" 

currentVersion="0.0.0.0">

<Param name="ConnectionString" value="XpoProvider=MSSqlServer;data source=.\sqlexpress;integrated security=SSPI;initial catalog=ecco_collection"/></Site>

Configure the UpdaterSettings.xml file.
Start the service click on the start->control panel, choose Administrative Tools, Choose ServicesFind the K:L:O:N:K Updater Service -> Right click and select start.

 

Client

Download "K:L:O:N:K Updater Service Client"

Run "KLONK Updater Service Client.msi"

Click "Next" "Next" "Next".
At completion click "Close".

Functional description

The service consists of 2 parts a client and a server part.

A typical scenario could be the following:

Prerequisites

The service is installed at the client.
The UpdaterSettings.xml file has been updated with correct settings for an update.
The service is started and running.
The service has write rights in the installation directories
The msi file (if this is deployed) has been configured to overwrite old versions of the program at new installations.
The assemblies which are used during installation have new updated version numbers for each installation.
The service is running with administrator rights on the system.

This is what happens:

1. K:L:O:N:K Update Service fetches the newest version of downloaded version in the library configured in the setting ”downloadPath” in the configuration file UpdaterSettings.xml
2. K:L:O:N:K Update Service calls the server web service with the version number .
3. The K:LO:N:K Updater Service identifies, that there is a new version avaiable.
4. The K:L:O:N:K Updater Service deletes the file locally if a there alreadu exists a file with this version number og the download nam TEMP_. This means that the previous download has been terminated.
5. The K:L:O:N:K Updatet Service starts to download the file, if it is a msi file it contains the application and some update scripts for the database updates which are called the same as the "application name" "veresion numer.sql"
6. While the file is fetched, the file is locally called TEMP_"Filename".msi
7. The file is put in the directory which the configuration points at.
8. The updater verifies, that the installation file is valid and not korrupt by comparing the downloaded hashcode with the hashcode from the original file, given by the web service.
9. The updater renames the fetched file from TEMP_"filename".msi to filename.msi

Alternative paths:

The file has not been fetched fully or is currupted. Download has been stopped.
1. The file is deleted and fetched again. This is repeated 3 times. An error is written into the log.

There are no new versions.
1. Nothing is done.

Update after download of new version.

For each website entry in the configuration file:
1. The updater checks with the settings in the UpdaterSettings.xml if time is to update.
2. The updater checks, if there are any newer .msi files in the DownloadPatn with newer versions than the sites version
3. If there are usable updates, they are installed into the path defined in the configuration path.
4.The SQL update script is also put in this library.
5. If there has been an error during update, the installation is rolled back to the last working version, og the updating stops for the site, and a message is written in the log file.

Last edited May 4, 2011 at 8:19 AM by christiandersen, version 17

Comments

No comments yet.