Huge Collections of Software Manuals and Knowledgebase

GreatManuals.com
Huge Collections of Software Manuals and Knowledgebase

 
Home Contact us Request to publish your help manuals Request to remove your help manuals Buy Now
Welcome
» Overview
» PatchFactory
» Acknowledgments
Basics
» Concepts & Definitions
» Binary Files Comparing
» Location Repository
» Installed Version Detection
User Interfaces
» Introduction
» Keyboard Layout
» Menu
» Preferences
Getting Started
» Creating New Product & Group
» Adding New Version
» Adding Component
» Version Files Editor
» Creating Differences
» Creating New Patch
Operation
» Version Files Editor
» Version Difference Editor
» Old & New Version Side Properties group
» Add/Replace Options
» Df Build Options
» Update Command Generation
» Command Line Parameters
» Patch Applying
Registration & Support
» General Questions
» Technical Questions
» How to Register?
» Update & Support
» Contact Information
 
Buy PatchFactory Online! Buy PatchFactory Online!

Concepts & Definitions

For the subsequent statement it is necessary to define some important terms which have specific meaning in the context of PatchFactory v3.

Product

Let's assume a Product as a certain software program or simply any set of binary files which undergo some changes eventually. For example, we develop software product which is named PatchFactory. A set of attributes associated with this product represents essential information on it: the global unique identifier (GUID), the name of the product, the manufacturer of this product and others.

Product Parameters

professional data recovery data recovery tools download file recovery programs
deleted partition recovery windows repair freeware password recovery
flash media data recovery key drive data restore digital camera repair services
  • Each product has two main parameters: Product Name and Product GUID.
  • Product Name must form a valid name of file thus using of such symbols as < > : " / \ | * ? is not allowed.
  • Product GUID is generated automatically when new product is created and is not changed.
  • Other parameters are optional and reserved for future use.

Version

  • The version is the change of the product supposed to be published and fixed at some stage.
  • The obligatory attribute of the version is the identifier of the version which should be unique among all version identifiers for this product.
  • To define the number of the version the line identifier is used, for example: "1.2b" or " 3.7 (build 465) ".
  • Restrictions on version number format and symbols are listed in the "Version Parameters" table below.

To have an opportunity to present interrelation of versions among themselves we shall enter one more important attribute of the version - the parent version or the previous version which will designate the version the current version originated from. For each version there can be only one previous version (single inheritance). In other words, each version can have only one parent or not have it at all. At the same time, any version can be parental for any number of versions. Such approach allows us to present all set of versions of a product as a versions tree. If versions have no previous - they are so-called root versions or primary version. Any version can be root. Thus, the number of primary versions is not limited. From here follows, that versions tree does not contain a single root, so a product can assumed as a root of the versions tree.

Component

All files included in the version are grouped into components.

Each component of the version can contain a set of folders and/or files. Components applying allows to easily allocate independent groups of folders/files which can have separate location in a tree of file system on the end-user's machine, and probably can have an optional installation property, i.e. can be installed or not.

In general, the concept of a component corresponds to the term accepted in the majority of modern install-generators.
The key parameters of a component are the component identifier, unique among all components of the given version, name of the component and the flag of optional installation of the component.

To detect whether a component is installed on the end-user's machine or not we use the key file method. The idea of this method is one file of a component is marked as the key. Its presence in the system determines the fact that a component is installed or not.

Thus we have 3 main requirements for a component and a key file:

  1. each component should have at least one file;
  2. each component should have one and only one Key file;
  3. Key file should exist during all "component's life time".

Version Difference

Let's name a set of the information which defines the difference of one version from another, as a Version Difference. Besides difference in files, it can describe rules of update building and applying and other necessary data.

Update module, Patch

The program module which carries out the updating of version, already installed on the end-user's side, up to some other version.

Update is made on the basis of difference(s) between versions.

Hereinafter we assume (when talking about a "patch" as program object) that version which this patch belongs to is new comparing to other versions of the product and this new version contains at least difference.

Using PatchFactory you can make patches of 2 types:

v2v-patch

This type of patches is capable to execute updating of only one version up to one another. Let's assume, that you have three versions of your product: 1.0, 1.1 and 1.2. To update versions 1.0 and 1.1 up to version 1.2 with the use v2v-patches you should prepare two separate update modules.

Cumulative patch

This type of patches allows to update one of the several specified versions up to one other version by means of one patch module. In the example of previous paragraph, cumulative patch applying allows to generate only one update module which can be used to update both versions 1.0 and 1.1 up to version 1.2.

Patch Publishing

The patch prepared by the developer should be delivered to end-users. It is obvious, that taking into account its small size (comparing to the full new version distribution package), the most convenient way is to provide an access to these update modules via Internet. In a simple case Patch Publishing can look as placing of a patch-file on a company's web-server or a ftp-server.

Disadvantages of such approach are obvious: both publishing and its delivering of a patch should be carried out "manually".

Update Server

A server on which update modules are published. Access methods to server and protocols used at the current stage are insignificant.

A schematical sketch of the overall update cycle with different types of patches is shown in figure 1.

Update Server

Figure 1. An example of an update cycle with different types of patches.

»

Buy PatchFactory Online! Buy PatchFactory Online!
Home | Contact us | Request to publish your help manuals | Request to remove your help manuals