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.
To create and install Patch 1 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
Step 2. Create a Patch
Step 3. Install the Patch
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 188.8.131.52 would be the first patch against Version 184.108.40.206.
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, like 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 220.127.116.11 and Patch 2 contains MYFORM.DLL version 18.104.22.168 then whether Patch 1 is installed first or Patch 2 the result is that MYFORM.DLL version 22.214.171.124 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 126.96.36.199 is installed, uninstalling Patch 1 will not replace MYFORM.DLL with version 188.8.131.52. It will still be version 184.108.40.206. Only when Patch 2 is then uninstalled will it be restored to version 220.127.116.11.
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 Tool Guide 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