Full-featured byte-level patching system for reliable software updating. Innovative and reliable software update technologies.
Home | Products | Downloads | Order/Purchase | Support | Forums
Frequently Asked Questions

* Click on the appropriate question to show/hide the answer.
  » Expand / hide all General Questions

1. General Questions
1.1 What is the main idea of building update or patch modules?
The main idea of building patches is that patch file represents only information concerning changes made to an old version software product files relatively to a new version software product files. And if these changes are not significant relatively to total size of new version files than such delivering of update module (patch file/patch module) can become more effective method of update delivering.
Software has its bugs. These bugs are often discovered after the official release of the product. You are getting bug reports from your users. It's terrible that you spent your money to create fancy box, to record CD-ROM's and to distribute your software and several days after they appear. So, you should use "patch" which just contains description of changes you have made to your product since the official (or just previous) release. What's more, the difference between previous and current version to keep the patches as small as possible.
1.2 What's the advantage of buying a Commercial or a Corporate License? What is your licensing policy?
The discounted Personal License is offered as a service to the industry, primarily for single person companies with little revenue (such as shareware authors). The software is licensed to the name of the individual purchasing the license.
The standard Commercial License is intended for small companies. The software is licensed to the name of the company purchasing the license. Maximum number of employees using the software is limited to 5. It also entitles an organization to receive high-priority support (with guaranteed answer within 2 business days) via email. If you would like to obtain more extended services or more employees to use the software - consider buying the Corporate license.
The premium Corporate License is intended for large companies and corporates with many employees. The software is licensed to the name of the company purchasing the license. And besides this type of license entitles an organization to receive one copy of the distribution software and to duplicate the software for any number of people or workstations within the corporation. It also entitles an organization to receive high-priority support (with guaranteed answer within 1 business day) via email and free major version upgrades during lifetime of the product.
And besides a CD-ROM with the latest version of PatchFactory and DF SDK Demo is offered free of charge if buying a Commercial or a Corporate license, though it is a 9.95$ value for Personal license (this offer is valid currently only for ShareIt! orders)..
All licenses include the royalty-free distribution of modules marked as redistributables both for you and your customers (created patch packages for PatchFactory and redistributable libraries for DF SDK) for an unlimited number of applications, free minor version updates with special 50% discount for major upgrades during lifetime of the product and high-priority technical support via email and public support forums.
1.3 Can I get the software on a disk (CD or DVD media)?
You can include AgenSoft Product CD including PatchFactory Evaluation, DF SDK Demo and other necessary stuff when ordering PatchFactory or DF SDK at ShareIt. It is shipped via Air Mail, within 2 business weeks. CD-ROM is free if buying a Commercial or a Corporate license, and 9.95$ value for Personal license.
At the subscription time in the future, if you lose your copy of the software due to a hard drive failure you can download the latest trial version from our site. If for any reason your registration code becomes invalid or lost - just send an e-mail to Sales Support with details of your previous registration. You will receive a new code via e-mail at no charge as soon as we validate your old registration data.
1.4 Will I get 'SPAM' if I give you my e-mail address?
No. We never, ever give out customer information or e-mail addresses in any manner. Usually we do not send newsletters more often that once per month.
1.5 Can I order via fax machine or phone?
Our sales agency now offers both a Toll-Free Voice Registration Service and a Fax Registration Service for buying our software. To order software using the Toll-Free Voice Registration Service, please check links within online secure order forms after selecting an appropriate license at our Order page. You must have PatchFactory or DF SDK Product ID ready.
1.6 Can I purchase with a check?
Our sales agency gladly accepts payment by check or money order. However, please allow adequate time for the funds to be processed by our bank. For information about where to send your check or money order, please check links within online secure order forms after selecting an appropriate license at our Order page. You must have PatchFactory or DF SDK Product ID ready.
1.7 What are your product IDs at ShareIt and RegNow? 
If you have selected ShareIt! to process your order:

  PatchFactory Personal License Product ID at ShareIt! is 187045.
  PatchFactory Commercial License Product ID at ShareIt! is 211868.
  PatchFactory Corporate License Product ID at ShareIt! is 300019898.

  DF SDK Personal License Product ID at ShareIt! is 300033157.
  DF SDK Commercial License Product ID at ShareIt! is 300042408.

If you have selected RegNow to process your order:

  PatchFactory Personal License Product ID at RegNow is 12916-2.
  PatchFactory Commercial License Product ID at RegNow is 12916-3

  DF SDK Personal License Product ID at RegNow is 12916-4.
  DF SDK Commercial License Product ID at RegNow is 12916-5..
1.8 How long does it take to get my registration code after I purchase a product online (using Credit Card)?
After our sales agency receive your online credit card order, it may take up to several hours to authorize your transaction. As soon as your charge is authorized, you will receive an authorization e-mail with your Tracking ID# as well as instructions on how to obtain the full registered version the product you ordered. It is important that the customer check his or her e-mail to obtain the charge authorization and instructions.
In the unlikely event that your credit card is declined, you will receive an e-mail stating the reason.
If you do not receive any e-mail within 48 hours - there may be a problem with your order. In that case, kindly contact us by e-mail at sales@agensoft.com with your name, Tracking ID# and the approximate date and time of your order to obtain the status of your order.
1.9 Do I have to license each patch file created with PatchFactory?
To use PatchFactory software and to create as many patches as you wish you have to buy only one license. And furthermore you may distribute created patch packages to as many end-users as you want.
1.10 What is the policy on updates...how much do they cost?
All minor updates are free as of this writing (subject to change). Minor updates are those where the software version number to the right of the decimal change (minor updates usually slightly differs from each other), but the digit to the left of the decimal stays the same. For example, updates from 3.0 to 3.1 are free, however, 3.x to 4.x is on a cost basis.
Additionally, if a new major version does get issued, it is offered to our current customers at a discounted rate (50% discount) - it means that to register PatchFactory major version update you will have to pay only 50% of its total price. Owners of a Corporate license receive both minor and major updates for free.
To renew your registration of PatchFactory check registration links. As soon as we are notified that your order has been processed, a new registration key will be sent to you via email to unlock your copy of PatchFactory software.
1.11 How does Patchfactory or DF SDK can help prevent software piracy?
PatchFactory and DF SDK helps to prevent the illegal distribution of your software, by requiring that the software be properly installed at the time of the update. The patching process demands that the original files be installed before they can be modified. Files that have been tampered with will not be changed, and the update will fail.
Pirated versions of your software, that have files modified in them, will not be updated.
1.12 Which development environments can I use with PatchFactory?
Actually, PatchFactory is a stand-alone application that does not require the use of a separate development environment.
Consequently, you may use PatchFactory to provide updates for any type of Windows-based application, regardless of which programming language was used to develop it.
1.13 Does the PatchFactory Client-side patch program require any third-party libraries to run?
The PatchFactory Client-side patch program is entirely self-contained: it does not use any 3rd party libraries, and only requires libraries which are part of the base operating system.
With PatchFactory, you have the assurance that customers with different hardware and software configurations will always be able to update your software.
1.14 What are the advantages for distributing patches?
Distributing the changes as the "patch" has several significant advantages over distributing new version of the product. First, you don't have to make new CD-ROM's (or multiple floppy disks) and new boxes.
The patches are usually small and easy to distribute on single floppy or over the Internet. Due to the differential nature of the patches, you can also distribute your patches freely (from your web page for example), because it is impossible to install patch without previous (bought and registered) version of product.
1.15 What are the limitations of the evaluation version of PatchFactory v3?
Evaluation version of PatchFactory v3 has the following limitations:
  • 30-day trial period, during which you can evaluate PatchFactory for free. When this period expires you must either purchase our software or stop using it and remove it from your computer.
  • Number of files, contained in either old or new version images for which you can build a difference is limited to 100 (one hundred).
* To request for PatchFactory fully-functional evaluation, please use our online email-form to contact us (guarantees that your email will reach our Support Team). Please, Do not forget to fill in all necessary fields. When requesting for a fully functional demo, please do not forget to specify your full name/your company name and website address.
1.16 What is the difference between patching and incremental updating?
Incremental update contains all the files which have been changed between two versions.
Update modules made with PatchFactory consists only of the changes from within each individual file with the help of byte-level differencing technology used by our patching engine, resulting in a significantly smaller update size.
1.17 ERROR#1: Limitation of evaluation version: the number of files/folders in the difference can not exceed 100.
Evaluation version of PatchFactory which is available for download from our public web-site contains a functional limitation, and namely the number of files, contained in either old or new version images for which you can build a difference is limited to 100 (one hundred).
* To request for PatchFactory fully-functional evaluation, please use our online email-form to contact us (guarantees that your email will reach our Support Team). Please, Do not forget to fill in all necessary fields. When requesting for a fully functional demo, please do not forget to specify your full name/your company name and website address.

  » Expand / hide all Technical Questions

2. Technical Questions - PatchFactory
2.1 I am trying to compare two files which changed a bit. I used ASPack (or other compression utility) to reduce the file size. When I create the patch - its size is larger, which is not really what I wanted.
The basis of the comparing algorithm is the ability to find concurrence in compared files at a level of octet-byte subsequences.
Use of packing utilities to lower the file size most often leads to that the result archive files lose the similarity at the byte-level. Such behavior is peculiar for most of lossless compression algorithms.
In this case the most appropriate solution to achieve effective comparing results is not to use aspack (or other compression utility) at all.
2.2 How can I provide backup copy of old files on the end-user's machine to prevent their loss at patch applying?
PatchFactory v3 provides such feature as Rollback / Uninstall of the update module. To provide Uninstall capability you should set "Uninstallable" property to Yes for your Patch module. If set to Yes, the backup copy of all replaced/modified files (for which backup is allowed) is saved and a record is added into Add/Remove programs list.
If you don't want a dialog window offering to select whether to perform backup copy or not to be shown to your end-user - set property "Show Backup page" to No.
2.3 I need to update a database with things like adding columns or so. Does your software could help me to patch the database using sql or it can replace old files...?
PatchFactory does not deal with any specific data structures, it operates with files and directories. The patching engine is not content dependent, so it may be used whenever data is changed at one location and must be efficiently updated at another.
Databases or files of other formats can be updated only as binary files (warning: database update can be implemented only if it is not changed / opened for editing on the end-user's machine at the moment when the patch is being applied).
2.4 How to create an update module that can run silently (i.e. no user intervention, pop-up windows, etc..) ...?
By default the Update Installation is done in a wizard mode (i.e. user's interaction during installation is required) but nevertheless the capability to run installation in a silent mode is provided. To do a silent install you can use the following optional command line parameters of the update module.
/SILENT, /VERYSILENT
Instructs Installation to be silent or very silent. When Installation is SILENT the wizard is not displayed but the installation progress window is. When Installation is VERYSILENT this installation progress window is also not displayed.
These parameters can be useful to system administrators, and to other programs calling the Update Installation program.
2.5 How can I localize PatchFactory client dialogs into my language?
To localize patch module dialogs to your language please, carefully read the Localization Instructions.
You can get a considerable discount! Please, do not send your language file prior to contacting us (required) via email or via an appropriate Support Forum, as a new version with exactly this language support can be already under development.
2.6 I'm trying to build a patch for a Gigabyte-sized file using PatchFactory. Can your product handle files of this size? Any ideas on time per Gb and processor utilization?
The speed and quality of the comparing depends on the similarity of files to be compared. Please, have a look at the parameters description of the console program dfbuild.exe (see dfbuild.txt or dfbuild.exe /?) and tuning recommendations prior to perform the comparing of such big files.
Additional recommendations:
1. Try to perform comparing directly using console program dfbuild.exe in order to choose optimal comparing parameters.
2. Perform comparing with options "-1 -mem=10" set. If the obtained results do not satisfy your requirements - try executing without additional parameters (i.e. with parameters set by default).
3. Add these files to version images as links.
dfbuild program has a set of parameters which provides control under speed & quality of the comparing algorithm performance.
Here are brief tuning recommendations for setting of these parameters which can be helpful in some applications...

If you are processing large files (~500Mb and more) first try to use 'dfbuild' with parameters providing the maximum speed:
  dfbuild -1 -mem=1 <old_file> <new_file>
If the result is not acceptable (df-file size is too big) try to increase the amount of system memory utilized using '-mem'
parameter. And only after exhausting its potentialities try to change the 'comparing method' parameter.
However the size of the result patch-file and the speed of its building depends not only on the parameters set of the comparing algorithm but also on the nature and the similarity ratio of particular files to be compared.
2.7 PatchFactory: Error applying df-file with EDF_OLD_MD5_ERROR code. What is wrong?
In this case there was a mismatch of MD5 checksum for an old (updated) file, which is stored on the end-user's machine and MD5 checksum calculated during patch building (i.e. the expected one), i.e. these files were different by content.
If this occurrence is expected and normal (i.e. if this file on the end-user's machine can be changed), then you should set the option "Update method" to the value "Don't allow update by diff" in the UPDATED (OLD) version.
You can also set option "Patch method" within the NEW version unequal to "Auto" value (the particular value should be selected according to your specific requirements).
Otherwise if this file is not expected to be changed on the end-user's machine then you should look for the reason of its modification by yourself.
2.8 PatchFactory: How can I customize the Update Installation wizard images?
There are two methods available which you can use to customize the Update Installation wizard images:
1. Replace the original wizard images in "<PatchFactory Installation Folder>\Scripts\" folder, where
  Setup.bmp - vertical installer image
  SetupSmall - right-top small installer image.
2. Modify the "default.iss" patch applying script-file, located in "<PatchFactory Installation Folder>\Scripts\" folder.
- find the lines
WizardImageFile=${SCRIPT_PATH}Setup.bmp and WizardSmallImageFile=${SCRIPT_PATH}SetupSmall.bmp
and replace "${SCRIPT_PATH}Setup.bmp" and "${SCRIPT_PATH}SetupSmall.bmp" with the full (or relative to the Scripts folder) path to your installer images.
2.9 PatchFactory: How can I Register a DLL/OCX library? I need to somehow register dll's after they are installed.
To register/unregister a DLL/OCX library, you can add several lines to the end of the 'default.iss' script-file according to the example listed below.
'default.iss' script-file is located in the "<PatchFactory3 Installation Folder>\Scripts" folder.
#----------------------------------#
function GetMyAppPath(new_comp_id: String): String;
 begin
   Result := GetPathForComp(NewVer,new_comp_id);
 end;

[Run]
;; Register app.dll, stored in the Component with "MyComponent1" ID
  Filename: "{sys}\regsvr32.exe"; Parameters: """{code:GetMyAppPath|MyComponent1}\app.dll"""; Flags: nowait skipifdoesntexist; StatusMsg: "Registering Components..."
;; Unregister app.dll, stored in the Component with "MyComponent1" ID
  Filename: "{sys}\regsvr32.exe"; Parameters: "/u ""{code:GetMyAppPath|MyComponent1}\app.dll"""; Flags: nowait skipifdoesntexist; StatusMsg: "Unregistering Components..."

#----------------------------------#
Replace "MyComponent1" with the ID of the component specified in the "Component ID" property of your version component (not its Name but ID) where app.dll is located.
For more information, please read Inno Setup manual - section "How to use: Setup Script Sections -> [Run] section".
Inno Setup manual location : "<PatchFactory3 Installation Folder>\Inno\ISetup.hlp"
2.10 PatchFactory: How can I write to the system Registry?
To add a record to the system Registry, you can add several lines to the end of the 'default.iss' script-file according to the example listed below.
'default.iss' script-file is located in the "<PatchFactory3 Installation Folder>\Scripts" folder.
#----------------------------------#
[Registry]
   Root: HKCU; Subkey: "Software\My Company\My Program"; ValueType: string; ValueName: "InstallPath"; ValueData: "{app}"
#----------------------------------#
For more information, please read Inno Setup manual - section "How to use: Setup Script Sections -> [Registry] section".
Inno Setup manual location : "<PatchFactory3 Installation Folder>\Inno\ISetup.hlp"
2.11 PatchFactory: How can I run an executable or open another file after update is finished?
To run an executable, you can add several lines to the end of the 'default.iss' script-file according to the example listed below.
'default.iss' script-file is located in the "<PatchFactory3 Installation Folder>\Scripts" folder.
#----------------------------------#
function GetMyAppPath(new_comp_id: String): String;
   begin
   Result := GetPathForComp(NewVer,new_comp_id);
 end;
[Run]
   Filename: """{code:GetMyAppPath|MyComponent1}\app.exe"""; Flags: nowait skipifdoesntexist
#----------------------------------#
Replace "MyComponent1" with the ID of the component specified in the "Component ID" property of your version component (not its Name but ID) where app.exe is located.
To open a file which is not a directly executable file (an .exe or .com file) add the "shellexec" flag. (Flags: nowait skipifdoesntexist shellexec) This flag is required if Filename is not a directly executable file (an .exe or .com file). When this flag is set, Filename can be a folder or any registered file type -- including .hlp, .doc, and so on. The file will be opened with the application associated with the file type on the user's system, the same way it would be if the user double-clicked the file in Explorer.
By default, when the shellexec flag is used it will not wait until the spawned process terminates. If you need that, you must add the flag waituntilterminated. Note that it cannot and will not wait if a new process isn't spawned -- for example, if Filename specifies a folder.
For more information, please read Inno Setup manual - section "How to use: Setup Script Sections -> [Run] section".
Inno Setup manual location : "<PatchFactory3 Installation Folder>\Inno\ISetup.hlp"
2.12 PatchFactory: How can I specify the minimum user privilege required to run the update?
To check if the user is logged on as administrator and not run the patch if they are not, please add the following line inside the [Setup] section
of the 'default.iss' script-file.
'default.iss' script-file is located in the "<PatchFactory3 Installation Folder>\Scripts" folder.
Please find the following line
;PrivilegesRequired
inside 'default.iss' file and replace it with the desired value according to the example listed below.
PrivilegesRequired=admin
Valid values: none, poweruser, admin
Default value: none
Description:
This directive specifies the minimum user privileges required to run the update. When set to poweruser or admin, Setup will give an error
message at startup (e.g. "You must be logged in as an administrator when installing this program") if the user doesn't have at least Power User
or administrative privileges, respectively. This only applies to Windows NT platforms.
For more information, please read Inno Setup manual - section "How to use: Setup Script Sections -> [Setup] section".
Inno Setup manual location : "<PatchFactory3 Installation Folder>\Inno\ISetup.hlp"

* Click on the appropriate question to see the answer.

If any question is not covered here, ask us:
   - technical issues (such as bug reports, feature suggestions, etc.)
   - sales issues (ordering problems, partnership suggestions, etc.)
You can also use our online email-form (guarantees that your email will reach our Support Team) to contact us. We'll get in touch with you as soon as possible (usually within two business days).
Do not forget to provide us with necessary technical information (Full OS version, Detailed description of your problem, Steps to reproduce the problem if you are writing a bug-report and your Registration information, if you are a registered user).

News&Events
EXCLUSIVE SAVINGS!
Competitive Upgrade.
Buy now and save up to 50% of your total purchase for migration to PatchFactory or DF SDK.
» Read more...

May 15th, 2008
PatchFactory v3.3.4 update is available.
» Details...

January 29th, 2007
PatchFactory v3.3.3 update is available for free download.
» Details...

December 25th, 2006
DF SDK v1.0.2.2 released.
Improved performance for diff applying engine.
» Download Free Demo...
» Details...

December 11th, 2006
DF SDK v1.0.2.1 released.
Improved performance for diff building engine.
» Download Free Demo...
» Details...

October 19th, 2006
DF SDK v1.0.2 released.
» Download Free Demo...
» Details...

October 10th, 2006
DF SDK v1.0.1 released. Software Development Kit which provides integrating of effective patching / differencing for files of any type and size into your application(s).
» Download Free Demo...
» Details...

Article: Creating Updates and Patches
"Certification Magazine" has published an article devoted to the main aspects of the software updating problem arisen during standard software development cycle.
» Details...
» Read article...

October 24th, 2005
new! PatchFactory v3 Flash-based Tutorial is available.
» View flash-tutorial...

October 4th, 2005
PatchFactory v3.3
released. New language modules for patch installation and improved performance of patch building engine!
» Download Evaluation...
» Details...

Translate this page
Select your language:
  
 Powered by

[ Home ]   [ Site Map ]   [ About Us ]   [ News and Events ]   [ Contact us ]   [ PatchFactory ]   [ DF SDK ]   [ HexCmp ]   [ Downloads ]
  [ FAQs ]   [ Ordering Information ]   [ Support Information ]   [ Support Forums ]   [ PatchFactory Online Help ]   [ DF SDK Online Help ]

© 2002-2008 AgenSoft. All rights reserved.  |   Terms of Use  |   Privacy Statement  |   Last Modified: March 01, 2007