CyberInstaller Studio - 57. Step 20: "Updates on-line"
In
this step you can configure the updater which will allow users to
perform online updates of their applications distributed with the
package.
The modules are the applications, by default all the executables found
in the package, but can also be used for any other file type. It
is of course possible add or delete any module. For each module
you will need to specify a description that identifies the location
within the package, a url from which the updater can download the
module from (the URL should point to an installation package that
contains the updated module) and if the module in question is the main
one (to decide whether to download and install a package that includes
all-suite modules, or each module individually).
In this step the upper right corner shows the number of modules in the current package that will be checked by the Updater.
How to do the online updates? Once
the package is installed, the user will find in his Start Menu, in the
group which also contains links to start the installed applications and
the removal (image on the right) a link to run the online
updater. Clicking this link will open up CyberUpdater
(image on the left), which will display a list of all installed modules
which, when you press the button "Detect", will check for
updates on the specified server (depending on the file. def url
specified in the URL field definition file versions, file must be
uploaded to the position indicated otherwise the updater will not
work). Will be shown local versions (those relating to the
installed modules) and remote versions. If these latest results
of those installed, CyberUpdater
highlight the modules for the "Update" button will be enabled and the
pressure it will be downloaded and installed the updated modules.
At the end of the upgrade process, the installed
versions will be checked again in order to verify that the procedure has been really successful.
To enable online updates in the current package
is enough to put the check mark to the check box "Allow user to receive
notification on the release of new application updates
installed." This will enable all user controls to manage on-line
updates, then the CyberUpdater.exe file
will be automatically added to the current package, the default
position (sub-folder named "Updater" folder in the destination) and,
again automatically, will add an item to the list of "modules" for each
executable found in the current package. Most of the fields in
the list will be filled-in automatically, the only value of "URL"
(represented by the web address from which the updater will download,
if necessary, the package to install the corresponding module updated)
will inevitably have to be filled-in manually. The file definition
versions file (available by clicking the "Generate" button) and
the install packages containing the updated modules must also be uploaded manually.
In summary, the steps to be taken to make operational the features of the updates online are:
1 - check the checkbox to enable online updates (manual)
2 - addition of CyberUpdater in the package (automatic)
3 - addition of modules you want to be updated (semi-automatic) in the list
4 - typing url definition file versions (manual)
5 - typing url installation packages containing updated modules (manual)
6 - setting of advanced options, and user messages in the appropriate adapters (optional)
7 - generating definition versions file in point 4 (semi-automatic)
8 - uploading definition versions file on your server to the specified url (manual)
9 - creation of installation packages that contain up-to-date deployed applications (hand-assisted)
10 - uploading installation packages created in the above step on your server to the specified address (manual)
WARNING: It
is important not to forget to manually upload to your server, to the
url address given in the appropriate field, the definition versions
file (.def). Without this file the updater will be unable to assess
whether the remote versions are more or less recent than those
installed locally, resulting in cannot update any installed
application. In the same way, you must remember to upload, to the url
address given, the installation packages that contain the updated
modules to deploy applications, otherwise when the update would not be
able to download installation packages and the update would fail. These
uploading operations on your server (via FTP) are not operated by
CyberInstaller Studio, so you must use an FTP software of third parties, such as the free FileZilla.
Once the creation of the installation package has begun, if the feature of the on-line updates is enabled from this step, it will automatically add a file called CyberUpdater_command.dat that contains vital information for CyberUpdater itself (signature
of the package, server url, etc.). This file is located in the same
folder of CyberUpdater.exe; without that file the updater will not work
and warn of the lack of such a file with an error message. The file
will be added to the installation package, but will not be saved with
the current project as it needs to be regenerated every creation of the
package to ensure that the information contained therein is up-to-date.
The updater can be run silently so that it will not appeare to the end user, via the command line parameter " / silentchk"
(without quotation marks, blank at the beginning). Doing so, control
over any new updates will be done immediately without the user having
to manually start the updater and the updater will remain hidden if
there are no updates available, but it will show up only if you have
one or more updates available.
CyberInstaller Studio - 57.1. Main options
This step comes as a panel with three tabs to define the various options that allow you to configure CyberUpdater.
At the top, above the tabs, we find the box to activate the system
updates on-line within the current package and the heart field to
indicate the file the updater, namely the definition file versions (.
Def):
Allow the user to be warned about the release of new updates of the installed applications [checkbox - Default: NO]
A checkmark in this checkbox will enable the on-line updates system for
the current package, this will cause the file CyberUpdater.exe to be
added to the package (if not) in default "Updater" folder inside the
destination folder, also, after confirmation, all executable files will be automatically added in
the updater list of modules. If this check box is not checked, on-line
updates system will be disabled and all the controls of this step can
not be used.
Versions definition file url [text field]
This field should contain a valid URL from which the updater will
download the definition file versions (obtained by clicking "Make"
button), eg. www.servername.com/PackageName.def; it will be read to get
file versions and dates of the modules on the server so that the
updater can compare them to those installed locally; once given a name
and a valid url and once you finish setting all the options you want to
manage CyberUpdater
as needed, you must click on "Make" button to create the definition
versions file, such file must then be manually uploaded to your server,
to the url address given in the same field. All the on-line
updates system relys upon this file.
Make [button]
This creates the definition versions file (the default name will be extracted from the "Versions definition file url"
field), a text file containing the up-to-date information on the
modules. Such file must then be manually uploaded to your server at the
given location in URL field. All the on-line updates system relys upon this file.
CyberInstaller Studio - 57.2. "Modules" tab
The tab "Modules" contains
a list divided into 7 columns:
Module: [auto]
Description of the executable file/application that will appear in the user CyberUpdater;
this field is automatically filled in proposing the name of the
associated file, but you can change at will, only the module name CyberUpdater can not be changed, as the updater must be able to identify itself uniquely.
Local Path: [auto]
Full path where the file is connected to the module on the system you're packaging.
Relative path: [auto]
The path where the file is connected to the module compared to
CyberUpdater.exe file within the installation package (ie the target
system).
Version: [auto]
Version number of the executable file corresponding to the module; in
case of subsequent changes to the executable file this value will be
updated automatically when you click on the "Make" button or manually
using the "Update modules version" activity.
Date: [auto]
Last modified executable file corresponding to the module; in case of
subsequent changes to the executable file this value will be
automatically updated when you click on the "Make" button or manually
using the "Update modules version" activity.
Suite?: [auto]
If "yes" indicates that the current module is the main module, which
then indicates the version of the entire suite (all modules), in this
case if the main module is marked as "to be updated" the updater will
understand that the entire suite will need an upgrade by downloading a
different package and all inclusive packages instead of all the modules
individually; if "no" indicates that the current module is a normal
module, so if required the updater will download and install the
package reserved to it only, without affecting other modules. Just a single module can be set as "main".
WARNING: the module version number is usually as follow: major.minor.release.build
If a module is marked as "main" ("yes" value in "Suite?" column), the updater will behave as follows:
- local version number equal to or greater than the remote version: does nothing;
- local version number on the left (major)
less than the corresponding remote: upgrade the entire suite as "full"
(a separate installation package containing all the modules of the
suite, to be prepared and marked as "update"), may require an update of
the license;
- central number of local version (minor)
less than the corresponding remote: upgrade the entire suite as
"upgrade" (a separate installation package containing all the modules
of the suite, to be prepared and marked as "update"), does not require
license updates;
- local version numbers on the right (release and build) smaller than the corresponding remote: upgrade single module (installation of the package of current module)
Url: [manual]
Web address to download the installation package containing the updated module.
Buttons:
Add:
Adds a new module to the list (the form should be associated with an
executable already present in the package, file already added through
step 4 or 6). It is possible to add modules automatically based
on the executable files already included in the package, this is
possible via the "Auto" button or "Auto Complete Modules" task.
Edit:
After selecting a module you have added to the list, you can use this
button to change its values. The same result is obtained by
double-clicking the desired item. You usually need to modify the
modules automatically inserted at least to add the url from which the
updater will download the installation package to upgrade the selected
module.
Delete:
Deletes the selected list items. It asks for confirmation.
Clean:
Deletes all items in the list. It asks for confirmation.
Auto:
Automatically adds a module for each executable file in the package.
WARNING:
as an alternative to the Add, Edit, Delete and Clear buttons, you can
use the context menu (pop-up) on the list. This menu is activated
by a right-click with your mouse on the list. This has the
advantage that, in editing and deletion, there is a greater certainty
of having chosen the exact item you want and work with.
All the lists in CyberInstaller Studio
have a context menu activated by right mouse button, which allows you
to achieve common tasks allowed for the corresponding list.
CyberInstaller Studio - 57.3. "Options" tab
The "Options" tab contains the advanced options to change some behaviors the updater:
Server: [field - not automatic edit]
Address of your server that hosts the versions definition file.
It will be automatically detected by the "Versions definition file URL"
field and can not be changed, to change it to just edit the url of the
versions definition file.
"Full" version suite update url: [field - optional]
Web address to download the installation package that contains the
entire suite of modules in the full version (not upgrade). The software
will be installed "from scratch" as software that is completely
different from the original software to update, so at the end of the
update both versions of the software will exist, the old one that
required the update and the new one updated. This update may require a new license.
"Upgrade" version suite update url: [field - optional]
Web address to download the installation package that contains the
entire suite of modules in "upgrade" version. With this unique package
all the modules will be updated, even those who do not strictly require
updating. The software will be installed only if the original software
to be updated is already installed and the upgrade process will
overwrite the existing modules.
WARNING: CyberUpdater
will decide whether to download the package in "full" or "upgrade"
version on the basis of the module marked as "main" (value "yes" in the
"Suite?" column). If there are no main modules, "full" or
"upgrade" packages will never be downloaded.
If a module is marked as "main" ("yes" value in "Suite?" column), the updater will behave as follows:
- local version number equal to or greater than the remote version: does nothing;
- local version number on the left (major)
less than the corresponding remote: upgrade the entire suite as "full"
(a separate installation package containing all the modules of the
suite, to be prepared and marked as "update"), may require an update of
the license;
- central number of local version (minor)
less than the corresponding remote: upgrade the entire suite as
"upgrade" (a separate installation package containing all the modules
of the suite, to be prepared and marked as "update"), does not require
license updates;
- local version number on the right (build) smaller than the corresponding remote: upgrade single module (installation of the package of current module)
Mode selection for new license:
Automatic: [option - default]
When activated, the updater will warn the user that a new license is
needed to use the upgrade. The notice will be presented only if the
"full" suite is needed, and in all other cases a new license will never
be needed.
Always: [option]
When activated, the warning about the need of a new license will be always displayed.
CyberInstaller Studio - 57.4. "User messages" tab
The
"User messages" tab allows you to customize the messages the updater
will show to the end user. If a field is left blank the default
message or no message will be displayed.
No update available at check: [field]
Message that is displayed after the updater check if no update is available. If left blank nothing will be displayed.
Update available at check: [field]
Message that is displayed when the updater identify the need to update one or more modules. If left blank nothing will be displayed.
License needed: [field]
Message that is displayed when the updater will identify the need to download and install the "full suite" module. If left the default message will be displayed.
Before downloading: [field]
Message that appears just before the update packages download starts. If left blank nothing will be displayed.
After updating: [field]
Message that appears after the installation of update packages. If left blank nothing will be displayed.
No update available at closing updater: [field]
Message that appears when you exit from CyberUpdater and no updates have been reported. If left blank nothing will be displayed.
Update available at closing updater: [field]
Message that appears when you exit from CyberUpdater and some updates are still available (not downloaded or installed unsuccessfully). If left blank nothing will be displayed.
CyberInstaller Studio - 57.5. Current step tasks
See also...
Adding an on-line update module