|
Technical Questions
2.1 What is the main idea of building update 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.
2.2 Why patch file size for EXE-files and DLL-files update sometimes appears to be rather large... ?
This is so indeed, similar effect can occur sometimes. At recompilation of source code with insignificant changes regarding source code of the old version output file of newer version (EXE, DLL, etc.) most likely will have significant difference comparing with old version files. First of all, it is a result of some features of program binary code representation in Win32/PE executable files.
Here are some recommendations to reduce the size of output patch file in this case:
- Try to reduce files size by moving unchanged parts of the program (viz. their invariability from version to version or their insignificant changes) to dll-modules.
- Do not apply Exe-compression utilities to deflate executable files (if there is no extreme necessity).
- But nevertheless PatchFactory considers all these features of EXE and DLL files and provides optimal patch building in these cases.
2.3 How can 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.4 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. 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 on the end-user's machine).
2.5 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 for. 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.6 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.7 I'm trying to build a patch for a Gygabyte-sized file. 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:
- Try to perform comparing directly using console program dfbuild.exe in order to choose optimal comparing parameters.
- 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).
- 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.8 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.
To obtain the latest FAQ you can visit our public website at http://www.agensoft.com.
If any question is not covered here, ask us: support@agensoft.com regarding technical issues (such as bug reports, feature suggestions, etc.)
and at sales@agensoft.com regarding sales issues (ordering problems, partnership suggestions, etc.)
You can also use our online email-form (preferably) 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 (Windows version, Detailed description of your problem, and your registration information, if you are a registered user).
|