Instructions for Plug-in Creation
We offer you to create your own plug-in. If you send us your plug-in, you will be given a free Handy Backup copy and your plug-in will be available for downloading on this site. This allows you to make the data backup process of often used applications easier.
Each plug-in represents a well-formed XML document written according to XML 1.0 specification (http://www.w3.org/TR/xml). Plug-in must contain the following essential parts - Prolog and only one root element (which looks like <root></root>). The root element must contain only one Description and several Backup elements.
Prolog
Prolog is a mandatory part of XML document that contains general information about the document. In our case it can be the next line: <?xml version="1.0" encoding="utf-8"?>.
Description element
This element contains information about this specific plug-in. All information is written as text data in its child elements. The following child elements are available:
<Name>ACDSee</Name>
<Group>Design</Group>
<Version>1.0.0.1</Version>
<Author>Handy backup</Author>
</Description>
<KeyPath>HKEY_LOCAL_MACHINE\SOFTWARE\ACD Systems\ACDSee\70</KeyPath>
<KeyValue>InstallDir</KeyValue>
<FileName>ACDSee7.exe</FileName>
<root>
<Description>
<Name>ACDSee</Name>
<Group>Design</Group>
<Version>1.0.0.1</Version>
<Author>Handy backup</Author>
</Description>
<Backup id="Main">
<Path>
<Type>3</Type>
<KeyPath>HKEY_LOCAL_MACHINE\SOFTWARE\ACD Systems\ACDSee\70</KeyPath>
<KeyValue>InstallDir</KeyValue>
<FileName>ACDSee7.exe</FileName>
</Path>
<Registry>HKEY_LOCAL_MACHINE\SOFTWARE\ACD Systems</Registry>
<Registry>HKEY_CURRENT_USER\Software\ACD Systems</Registry>
<Folder>$PATH$\</Folder>
<Folder>$COMMON_APPDATA$\ACD Systems</Folder>
<Folder>$APPDATA$\Adobe\ACD Systems</Folder>
<Folder>$LOCAL_APPDATA$\ACDPhotoEditor</Folder>
<Folder>$LOCAL_APPDATA$ \ACDSee</Folder>
</Backup>
</root>
Backup element
This element contains the information about the data, which this plug-in backups. There may be several elements. It is obligatory to indicate the attribute id, which identifies the element unambiguously, even if there is only 1 Backup element.
Available child elements:
- Path - It contains the information for determining full path to the folder, where the application which we backup is installed. This path may be used with the help of the expression "$PATH$" within the limits of the element. There may be several Path elements; the real application path is determined by the first correct element. Available child elements within the Path element include:
- File - Contains the path to the file, which must be backed up.
- Folder - Contains the path to the folder, which must be backed up. All the subdirectories of the stated directory are always backed up.
- Registry - Contains the path to the registry key, which must be backed up. The subkeys of the stated key are always backed up.
For indicating paths to folders use standard Windows Environmental Variables.
The list of some of them you can see here.
An example of ACDSee data backup plug-in
To check the work of created plug-in, it is necessary to add it to the folder ProgramFiles/Novosoft/HandyBackup/Xmlplugins, create and perform a new task.
Search algorithms
3 algorithms of the path search on the given parameters in the element "Path" are realized. The type of an algorithm is given by the element "Type". The possible values 1,2,3:
- There is a key search in the path of the Registry "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\<KeyPath>". If the key is found, we look for the variable <KeyValue> in this key. If there is the variable, we read it. There must be the path to the folder where the program is located. We look for the file <FileName> on this path. If this file exists, it means this is the needed path. Hence, the search is unzipped.
- There is a search of the key, containing the information about the file extension associated with the program, in the path of the Registry "HKEY_CLASSES_ROOT\<KeyPath>". If the key is found, we look for the variable <KeyValue> in this key. If there is the variable, we read it. There must be the path to the folder, where it is the program, in the following format: <the path to the folder>, <identifier>. We look for file <FileName> on this path. If this file exists, it means that this is the needed path. Hence, the search is unzipped.
- There is a key search in the path of the Registry "<KeyPath>". If the key is found, we look for the variable <KeyValue> in this key. If there is the variable, we read it. There must be the path to the folder, where it is the program. We look for the file <FileName> on this path. If this file exists, it means this is the needed path. Hence, the search is unzipped. If the value <IncludeSub>=TRUE, then, if the search fails, there is the search of values of all keys included in <KeyPath>.
Windows Environmental Variables
Variables for the description of path to system folders Windows:
Send your plug-in to registered@handybackup.net. We will advertise it on our web site and send you a FREE Handy Backup registration number!
Who uses Handy Backup?

