Description
| click on an image to enlarge it |
UpdateIt! is the application designed for
the synchronization of the source folder's content with the content of other (target) folder
on a local computer or (and) a remote FTP server. This is wizard that I wrote to fast and
comfortable update of my own personal website. It searches (at request — recursively)
all files in the source folder that are modified after specified date/time. It can copy found
files (everyone or selected) to the target folder with preservation of an initial structure
of the subfolders. This application allows to upload all files from the updated folder (with
preservation of its structure) to the specified FTP server, to compress this folder in the
same named zip-archive, to send one to the given E-mail.
| click on an image to enlarge it |
When you first run the application on your computer you will
be asked to provide your e-mail and outgoing mail server to be used to send crash reports (in
case of their occurrence). If you are not sure which outgoing SMTP server to specify look at
your default E-mail client settings. Notice that the specified address will only be stored
locally and never will be published or sent anywhere else. But if you still worry about a spam
feel free to use some fake address such as “anonymous@unknown.org” and provide a
real one in the error description typed by yourself.
| click on an image to enlarge it |
Step #1 is the selection of source and
target folders. It is required to choose a name of the folder for searching the updated files
and a name of the folder where these updated files will be copied or moved. Also, it is
required to specify the date and time since which files in the source folder are considered
updated. If Include subfolders option is set, the files searching
will be carried out recursively — in the source folder and in all folders inside it. In
the field Exclude mask(s) there is possibility to type one or
several masks of files (separated from each other by commas) which should be excluded from
search. To delete the content of the target folder as a preliminary one it is possible to set
Cleanup this folder first option (if Delete
files to Recycle Bin if possible option is set files will be removed to the
Recycle Bin on conditions that its usage is enabled by system
options). Setting Compare contents of the newer and existing older
files option allows to exclude from results of search those files which binary contents
do not differ from the existing copies in the target folder.
| click on an image to enlarge it |
Step #2 is reviewing the list of the
updated files. On this step you can see the list of the updated files found in the source
folder. The name, the extension, the relative path in the source folder, and also the date and
time of the last modification are shown for each file. In order to remove file(s) from this
list (and thereby to exclude them from the further processing) it is required to mark
corresponding line(s) and to click the Remove from list button.
Note that in this case files leave only the list, but still stay in the source folder.
| click on an image to enlarge it |
Step #3 is actions selection. On this step
it is required to choose, what exactly should be done with the found files. Copying or moving
files to the target folder are obligatory actions that are chosen by means of the group Action to perform switches. Besides this, it is possible to upload the
target folder contents (with full structure preservation) to the specified folder on a FTP
server. For this purpose set Also upload file(s) to the FTP server
option and fill the fields of FTP Settings group, having specified
the address and the port of a server, as well as the login and the password for the access. To
compress a target folder in the same named zip-archive, set Also ZIP
folder with the copied/moved file(s) option. This archive file can be sent as an
attachment to the given E-mail address. For this, set Also send ZIPped
folder via e-mail option and fill fields of Mail Settings
group, having specified addresses of the sender and the recipient, and also the SMTP-server
which will be used for sending the mail. Note that this feature is accessible only in the case
when the key HKEY_CURRENT_USER\Software\Elijah Zarezky\UpdateIt!\SMTP
in the system registry contains DWORD named Enable and its value is
different from zero.
| click on an image to enlarge it |
Step #4 is processing the files. On this
step it is possible to watch the progress of copying (or moving) the updated files from the
source folder into the target folder, of uploading files from the target folder to the given
FTP server, compression of the target folder and sending the given archive to the E-mail
address that was specified earlier.
System requirements:
- Windows 2000/XP/2003/Vista/7;
- some free memory.
Plans for the future:
- preservation of source and target folders' “history”
- preservation of “history” of the sender's and the recipient 's of the mail
addresses.
|
This edition of the UpdateIt! has the following differences from the
standard.
- Beyond standard Deflate, BZip2 compression method is supported. It compresses files more
efficiently than the Deflate algorithm, but is slower. It is supported by
7-Zip since version 4.5x, by
PKZIP since version 4.6 and by
WinZip since version 10.0. Earlier versions of these
programs will not decompress archives that use the BZip2 algorithm.
- AES encryption with key sizes 128-bit, 192-bit and 256-bit is
supported for the produced archive files. The format of AES encrypted data conforms to the
WinZip AES Encryption Specification. It is
the preferred way to ensure that your data is secure. UpdateIt! Pro
encrypts files the way the WinZip 11.0 does.
- If the number of the files to compress exceeds 65 535 or
size of an archive should be greater than 4 gigabytes then Zip64 format will be automatically
used. The Zip64 format is an extension to the standard Zip format that practically removes
limits in sizes and item numbers within a zip archive.
- This application is distributed as a freeware but closed source
due to the ZipArchive
Library Commercial License Agreement.
|
Since version 1.0.2598, in the application there is a feature of options export/import (only
under Windows 2000/XP/2003) which can be useful at re-installation of the operating system.
Corresponding commands are in the system menu of the main window. Note that the export of
options is possible at any stage of work of the application, but the import of options is
possible only on a “zero” step (on the Welcome! page).
The first group of keys allows to set the name of a source folder and the condition of files
search in it, as well as the name of a target folder and parameters of work with it.
- SourceDir-Name:<folder_name>
- Full name of the source folder in which search of the updated files should be done. If
this name contains spaces it should be quoted; otherwise quotes' usage is acceptable, but
isn’t obligatory.
- SourceDir-Recurce:<0|1>
- If the value of this key is equal to 1, the search of files
is carried out recursively (in the source folder and all folders inside it), and if the value
is equal to 0, search is carried out only in the source folder.
Any other value will be interpreted as 1.
- SourceDir-Exclude:<masks_list>
- One or several masks of files (separated from each other by commas) which should be
excluded from search.
- TargetDir-Name:<folder_name>
- Full name of the target folder where the updated files should be copied or moved. If
this name contains spaces it should be quoted; otherwise quotes' usage is acceptable, but
isn’t obligatory.
- TargetDir-CleanupFirst:<0|1>
- If the value of this key is equal to 1, target folder will
be completely cleared before the files begin being copied or moved to it, and will not if
the value is equal to 0. Any other value will be interpreted as
1.
- UseRecycleBin:<0|1>
- If the value of this key is equal to 1, files from the
target folder will be removed to the Recycle Bin (if its usage
is enabled by system options), and if the value is equal to 0
files will be removed permanently. Any other value will be interpreted as
1.
- SourceDir-WriteTime:<date_time>
- This is the date and time of files' modification in the source folder after which they
are considered updated.
- CompareContents:<0|1>
- If the value of this key is equal to 1 and if the copy of
the updated file from the source folder is available in the target folder, copying or moving
will be carried out only in the case when binary contents of these files are different. It
allows to carry out smart incremental updating of the target folder. The value of
0 results in “unconditional” execution of file
operations. Any other value will be interpreted as 0.
The second group of keys determines the actions that need to be performed with the updated
files found in the source folder.
- MoveFiles:<0|1>
- If the value of this key is equal to 1, updated files will
be moved from the source folder to the target folder, and if the value is equal to
0, these files will be copied. Any other value will be
interpreted as 0.
- UploadFiles:<0|1>
- If the value of this key is equal to 1, updated files will
be uploaded to the specified FTP server and will not if the value is equal to
0. Any other value will be interpreted as
0.
- ZipFiles:<0|1>
- The archive file in ZIP format will be created from a target folder if the value of this
key equals to 1, and such file will be not created if the value
equals to 0. Any other value will be interpreted as
0.
- SendFiles:<0|1>
- Archive file with the target folder will be sent to the specified e-mail address if the
value of this key is equal to 1, and will be not if the value
is equal to 0. Any other value will be interpreted as
0.
The third group of keys specifies the FTP server for updated files and parameters of
interaction with it.
- FTP-Server:<server_name>
- FTP server name. The prefix “ftp://” is not necessary to specify.
- FTP-Port:<port_number>
- The port through which connection is established. Standard value is
21.
- FTP-Login:<login>
- Login (user’s name on this server).
- FTP-Password:<password>
- The user’s password.
- FTP-Root:<folder_name>
- Root folder on a server into which it is necessary to upload files from a target folder
on a local computer (with preservation of its structure).
- FTP-UsePassiveMode:<0|1>
- If the value of this key is equal to 1, the so-called
“passive operating mode” with a server will be used, and if the value of this key
is equal to 0 — the usual one. Any other value will be
interpreted as 0.
The fourth group of keys sets parameters of the SMTP connection that is used for sending
ZIP-archive with the target folder to the specified e-mail address.
- SMTP-Enable
- To enable SMTP usage. Value of this key is ignored; therefore it is no use to specify
it.
- SMTP-From:<sender’s_address>
- It is an E-mail address of the mail sender.
- SMTP-MailTo:<recipient’s_address>
- It is an E-mail address of the recipient of the mail.
- SMTP-Subject:<letter_subject>
- It is а subject of the mail. If the subject contains blanks, it is necessary to put in
quotes the value of this key; otherwise, quotes' usage is acceptable, but not obligatory.
- SMTP-Host:<server_name>
- It is the name of the SMTP server which should be used for sending the mail.
- SMTP-Port:<port_number>
- It is the port through which the connection is established. Standard value is
25.
- SMTP-Authentication:<0|1|2|3|4>
- The Value of the this key defines the method of the authentication, that is used at the
access to a server. 0 corresponds to the absence of the
authentication; 1 — to CRAM-MD5 method;
2 — to Login method; 3
— to Plain method; 4 — to NTLM method. Any other
value will be interpreted as 0.
- SMTP-UserName:<user_name>
- It is the user name (at the usage of the authentication).
- SMTP-Password:<password>
- It is the user password (at the usage of the authentication).
- SMTP-UseSSL:<0|1>
- If the value of this key is equal to 1, the so-called
“Secure Sockets Layer” protocol will be used for the connection with the server.
This protocol guarantees safe data transmission on the network by means of combining
cryptographic system with the open key and block encrypting of data. If the value is equal
to 0, the usual SMTP protocol will be used. Any other value
will be interpreted as 0.
- SMTP-CharSet:<character_set>
- It is the encoding of the mail body (for example,
"windows-1251") which will be specified in
corresponding SMTP header.
The fifth group of keys sets the parameters of creation of ZIP-archive with a target folder.
- ZIP-Method:<0|1>
- It is the method (algorithm) used for compression. 0 means
“Deflate” algorithm, and 1 —
“BZip2” algorithm. Any other value will be interpreted as
0. Attention: this key is recognized
only by UpdateIt! Pro edition.
- ZIP-Compression:<0|1|2|3>
- It is the compression level of archive. 0 means absence of
compression; 1 — the fastest compression;
2 — default compression (optimal on a ratio of speed and
size); 3 — the maximum compression. Any other value will
be interpreted as 2.
- ZIP-Encryption:<0|1|2|3|4>
- It is the method of archive encrypting. 0 means absence of
encrypting, and 1 — the standard encrypting supported by
ZIP algorithm. The values of 2, 3
and 4 corresponds to AES-128, AES-192 and AES-256 encryption
respectively. Attention: these three values will be recognized only by
UpdateIt! Pro edition. Any other value will be interpreted as
0.
- ZIP-Password:<password>
- It is the password on the encrypted archive.
Sixth and last group of keys sets various general parameters.
- Font-FaceName:<font_name>
- It is the name of a font which will be used by windows of the application. The value of
this key is used only if the key Font-PointSize is specified
and this key has a correct numeric value.
- Font-PointSize:<font_size>
- It is the size (in points) of a font which will be used by windows of the application.
The value of this key is used only if the key Font-FaceName
is specified.
- ResponseFile:<file_name>
- It is the name of the text file that contains other keys of the command line for the
application. If the path to a file is not specified at all it will be considered to be in
the current folder; if the relative path is specified it will be considered to be specified
regarding the current folder. Each line of such file can contain one or several keys. The
Usage of such files allows to create unlimited number of the shortcuts that give fast access
to the typical scripts of the application use. If this key is specified in the command line
all other keys will be ignored.
- DontSaveInput
- Not to remember the user input (either transmitted by means of the command line or set
by means of the graphic interface). The value of this key is ignored, therefore its
indication is not important.
At present the use of keys of the command line does not automate the work of the application
completely, it only substitutes the specified parameters into corresponding controls. It
allows to accelerate user’s work as much as possible if typical scripts of search and
processing of the updated files are present. Each of the keys can be used independently if
it has not been stipulated in a different way (as in case of the keys
Font-FaceName and Font-PointSize).
In any case, the keys of the command line have a priority over the corresponding options that
are kept at the system registry. For example, if the command line contains the key
SourceDir-Recurce that has the incorrect value of 4, and the corresponding parameter in the system registry has the
correct value of 0, the final “result” will be
1 as the interpretation of key value from the command line.
- 1.6.5961 (09.10.2011)
- Updated ZipArchive
library to the version 4.1.1 from the 27th of June 2011. Updated
OpenSSL library to the
version 1.0.0e (6 Sep 2011).
- 1.6.5842 (18.06.2011)
- Updated CRT and MFC redistributable DLLs to version 9.0.30729.6161; for more information
please visit Microsoft
security bulletin MS11-025: Description of the security update for Visual Studio 2008 SP1:
June 14, 2011.
- 1.6.5799 (08.05.2011)
- Updated CRT and MFC redistributable DLLs to version 9.0.30729.5570; for more information
please visit Microsoft
security bulletin MS11-025: Description of the security update for Visual C++ 2008 SP1
Redistributable Package. Updated OpenSSL library to
the version 1.0.0d (8 Feb 2011).
- 1.6.5755 (27.03.2011)
- Added the ability to visually select the target folder on the FTP-server. Added ability to
save the settings of any number of FTP-servers. Added “FTP Site Manager”. Component
to send messages using the SMTP protocol has
been updated to version 2.92, dated 13 February 2011.
OpenSSL library is updated to
the version 1.0.0c from the 2th of December 2010.
- 1.5.5433 (25.09.2010)
- Improved installation/uninstallation issues handling. Greatly improved MUI installation
mechanism. Improved E-mail charset handling. Added crash reporting via E-mail feature.
Dropped Windows 98/Me operations systems support. Fixed several UI glitches. Updated end-user
documentation. ZipArchive
library is updated to the version 4.0.1 from the 20th of April 2010.
OpenSSL library is updated to
the version 1.0.0a from the 1th of June 2010. The development of the project is converted under
MS Visual C++ 2008 SP1; with this version the compatibility of the
source code with Visual C++ 7.1 SP1 compiler is not guaranteed. It is necessary to use
Repository project of revision
511 or above to build this version from sources (it is possible to download the so-called
“universal installer” alternatively — it contains absolutely all sources
which are necessary for independent building of the application and its installers).
- 1.4.4324 (04.07.2008)
- Some errors are fixed. Added UpdateIt! Pro
edition. Added end-user documentation in English.
- 1.3.4134 (06.01.2008)
- The ability to use the keys of the command line is added. the Verification of the correctness
of the user input is improved. Some noncritical errors are fixed. Russian-language
localization of installer is improved a bit.
ZipArchive library is
updated to the version 3.2.0 from the 15th of December 2007.
OpenSSL library is updated to
the version 0.9.8g from the 19th of October 2007. Attention: it is
required to use Repository
project of revision 110 or above to build this version from sourcess.
- 1.2.3920 (16.10.2007)
- The ability to set parameters of archiving of the updated files is added: the level of
compression and the method of encrypting. The application is rebuilt with the version 3.1.1
of ZipArchive
library.
- 1.1.3870 (30.08.2007)
- The support of the multilingual interface was added into the application and into its
installer (at present English and Russian languages are supported). Initially the language
is selected during the installation, but it can be changed at any moment by means of the
command Language in the system menu.
- 1.0.3841 (01.08.2007)
- The application is rebuilt with the version 3.0.2 of ZipArchive library.
- 1.0.3696 (16.03.2007)
- The ability of authentication on the SMTP server that is used for sending the mail is added;
methods SRAM-MD5, Login, Plain and NTLM are supported. The ability to use the SSL connection
while working with SMTP is added. The development of the project is converted under MS Visual
C++ 7.1 SP1; with this version the compatibility of the source code
with Visual C++ 7.0 SP1 compiler is not guaranteed. It is necessary to use
Repository project of revision
81 or above to build this version from sources (it is possible to download the so-called
“universal installer“ alternatively — it contains absolutely all sources
which are necessary for independent building of the application and its installers).
- 1.0.3410 (19.10.2006)
- The license agreement is added to the application and its source code — Apache License,
Version 2.0. the "Universal" installer is added, it allows to choose one of possible types of
installation (for example, with all sources necessary for the independent building of the
application). Development of the project is converted under MS Visual C ++ 7.0 SP1;
with this version, the compatibility of the source code with Visual
C++ 6.0 SP6 compiler is not guaranteed.
- 1.0.3346 (18.08.2006)
- The ability of interaction with FTP-servers in so-called “passive mode” is added
— via Use passive mode option on the step Choosing an action (my gratitude to
Pavel Pimenov for reporting this
issue). Authors improved the realization of compression of files in
ZIP format and message sending
using SMTP protocol.
Attention: it is necessary to use Repository project of revision 71 or
above to build this version from sources.
- 1.0.2800 (16.07.2005)
- Support for visual styles on Windows XP/2003 is added. Authors improved the realization of
compression of files in ZIP
format and message sending using using SMTP
protocol.
- 1.0.2711 (23.04.2005)
- Authors improved the realization of compression of files in
ZIP format and message sending
using using SMTP protocol.
- 1.0.2598 (06.01.2005)
- The ability of export/import of options of the application is added (works only under Windows
2000/XP/2003). The system menu is “improved” a bit. The author corrected some
errors in the code that realizes the support of SMTP protocol.
- 1.0.2461 (29.12.2004)
- The end-user documentation in HTML Help format is added. It is
insistently recommended to un-install the previous version in a regular way before the
installation of the given version.
- 1.0.2297 (25.07.2004)
- The executable file of the application is built with the optimization of the size.
- 1.0.2283 (11.07.2004)
- The ability to compare the contents of the updated files with their existing old copies in
a target folder is added.
- 1.0.2260 (20.06.2004)
- Some spelling mistakes on page Welcome! are corrected.
- 1.0.2259 (19.06.2004)
- The author corrected some errors in the code that
realizes the support of SMTP protocol (this code is used at sending the archive of the
updated files to the specified e-mail address).
- 1.0.2172 (28.03.2004)
- Very stupid error is corrected: this error was the reason for non-responsiveness of the
application to system inquiries while performing file operations. The error which led to the
incorrect restoration of the password for the access to FTP server is corrected. The ability
of minimization of the application window is added.
- 1.0.2171 (27.03.2004)
- The column Size is added to the list of the updated files on
page Selecting files. This column displays file sizes in bytes.
Now in the column Name of this list not only file names are
shown but also the system icons which correspond their types. The ability to sort the list
both in ascending and descending order is added. Now the setup writes into the system
registry default the value for file masks which should be excluded from search.
- 1.0.2169 (25.03.2004)
- The ability to set one or several masks for files which should be excluded from search is
added. Now in the tree the node corresponding to the folder, whose name is specified in the
input field, is automatically marked out at the opening of the dialog box of folder
choice.
- 1.0.2159 (15.03.2004)
- The Encrypting of the password for access to a FTP-server is implemented at its preservation
in the system registry.
- 1.0.xxxx (?)
- The history was not kept. Most likely, the first stable version that was suitable for
practical use was 1.0.1646…
update-it-1.6.5961-setup.zip
(4 061 269 bytes)
Standard installer. It installs executable files of the
application, CRT/MFC redistributable DLLs versions 9.0.30729.6161, OpenSSL redistributable DLLs
versions 1.0.0e and the end-user documentation (all redistributable DLLs are copied into the
application folder).
update-it-1.6.5961-setup-universal.zip
(12 945 919 bytes)
Universal installer. It offers the choice of four types of
installation: Typical Installation (it corresponds to the Standard variant), Compact
Installation (only executable files of the application and the end-user documentation),
Full Installation (the Standard variant plus all the sources necessary for the unassisted
building of the application and its installer) and Custom Installation (a set of components
is defined by the user).
update-it-pro-1.6.5961-setup.zip
(4 094 435 bytes)
UpdateIt! Pro edition. It offers the choice of three types of
installation: Full Installation (it corresponds to the Standard variant), Compact
Installation (only executable files of the application and the end-user documentation)
and Custom Installation (a set of components is defined by the user).
Two build configurations are defined for the project: “Unicode Debug | Win32” and
“Unicode Release | Win32”, based on “Win32 (x86) Application”
dynamically linked to the CRT and MFC libraries.
Currently Microsoft Visual C++ 2008 SP1 and Microsoft Windows SDK version 7.1 are used to build
all the application executable files. The end-user documentation is compiled by Microsoft HTML
Help Workshop version 4.74.8702. Inno Setup Compiler version 5.4.2 (unicode) is used for the
creation of the setup packages.
Attention:
presence of sources of Repository project is required for the
building of the applications, the folder with these files should be based on the same level as the
folder UpdateIt, as it is shown in picture on the right.
Sources:
update-it-src.zip (5 305 580 bytes).
Since December, 2007, the UpdateIt! project, is placed on Google Code as well. Its main page is accessible at
http://update-it.googlecode.com.
It is possible to find the latest development builds as well as the mirror of
Apache Subversion repository with
all revisions of project sources there. For anonymous access to reading this mirror and
receiving local copies of all files that are required for independent building, It is necessary
to perform the following steps.
- Create somewhere in file system a new folder with the name
GoogleCode for example.
- Launch Command Prompt, go to this folder and sequentially
execute these commands:
svn checkout http://repositorium.googlecode.com/svn/trunk/ Repository
svn checkout http://update-it.googlecode.com/svn/trunk/ UpdateIt
After that, to build the project, it is enough to open the file
UpdateIt.2008.sln from the folder
GoogleCode\UpdateIt in Microsoft Visual Studio 2008 environment,
to set UpdateIt as the startup project and then to execute
Build Solution command. Completely automated building of the
project and its distribution kits can be executed by means of utility
NAnt after its assignment on an
input file UpdateIt.2008.build — it is necessary to go to
the GoogleCode\UpdateIt folder and then to execute a
corresponding command from Visual Studio 2008 Command Prompt.
|