DTE035 – Create a Patch for the Employees Application

Complete this exercise if you are deploying a client server application or deploying a standalone Windows application. The steps to follow to create Patch 1 are exactly the same for both of these deployments.

Objective

To create and install Patch 1 package which includes the changed reusable parts created in DTE030.

To achieve this objective, you should complete the following:

Step 1. Set DLL Version and Recompile Changed Components

Hint: The DLL field for an application in a LANSA system installed in folder LANSA14 and if using partition TRN will be found in the following path:
C:\Program Files (x86)\LANSA14\X_WIN95\X_LANSA\X_TRN\EXECUTE

Step 2. Create Patch 1 Package

Step 3. Install the Patch

Summary

What is a Patch?

A Patch is used to deliver a set of changes to a software product that has been installed using the Windows Installer. A software product can be upgraded by installing a new Version (MSI file) or by applying a Patch (MSP file).

A Patch is typically used to apply modified compiled objects, shortcuts and executables.  It is not recommended to use a patch to deploy database changes as they are complex to manage and can easily result in a corrupted database.

A Patch is identified by its Patch Number. The Patch number has a direct relationship to the Version or Patch it was based on, for example Patch 1.0.0.1 would be the first patch against Version 1.0.0.0.

If a patch is only to be used to ship updated objects and there are no new objects, then nothing needs to be changed in the Package Definition. Just save the Package and build it. Any differences between the Version and the current state of objects will be included in the Patch.

A Patch is usually created from the last Patch definition, so that it includes any changes made to the Package Definition, such as the addition of new objects.

The order of the application of Patches does not change the installed result. If Patch 1 contains MYFORM.DLL version 1.0.0.1 and Patch 2 contains MYFORM.DLL version 1.0.0.2 then whether Patch 1 is installed first or Patch 2, the result is that MYFORM.DLL version 1.0.0.2 is installed.

Similarly, when a Patch is uninstalled. If Patch 1 is now uninstalled, it will only affect the version of DLLs which it installed. As version 1.0.0.2 is installed, uninstalling Patch 1 will not replace MYFORM.DLL with version 1.0.0.0. It will still be version 1.0.0.2. Only when Patch 2 is then uninstalled will it be restored to version 1.0.0.0.

This may sound neat, but it can become complex to manage if Patches are created which are not cumulative. Each Patch should include all the changes that have come before, or back them out if necessary, and be considered as the ONLY patch required to move the installation to that Patch level. So no matter what Patch level a user has chosen to install, to get to the latest version they just need to install the latest Patch. No interim Patches are required.

Note: By creating patches sequentially from a single build machine and not restoring any objects to a prior state will ensure that Patches are cumulative.

See The Deployment Model for further information on patches.

Creating a Patch

The process to create a patch is very simple. The patch is based on the last deployed version. A patch may include one or more changes to existing application components that have already been deployed, or new components.

You modify one or more components and then build a patch based on the latest version deployed for this application. The deployment tool will analyze the DLLs and include only new or changed DLLs in the patch.

Before You Begin

You must have completed the following exercises:

DTE015 – Create Client Server Application

DTE020 – Create Version 1 Package

DTE025 – Install Version 1 Package

DTE030 – Modify the Employees Application