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

 

Move up: moves the selected module to a higher position than where it is.

Move down: moves the selected module to a lower position than where it is.

Update relative paths: force the recalculation of all the modules path related to the position of CyberUpdater.exe within the package (ie. where you would find it on the target system).

Auto-fill modules: automatically adds all the modules according to the executable found in the current package (done automatically when the on-line updates system is activated).

Update modules version: force versions and date
updating of all modules (performed automatically when generating the versions definition file by clicking the "Make" button).



  See also...

 

Package creation step

Adding an on-line update module

Adding a component to the package

Step 4: "Application data"