Identify your updates
Each application update is identified by Update ID value. Protection code will always assume that higher value of Update ID represents newer update.
- Free updates are updates protected with same project settings (same Application signature and Program ID).
- Use different Update ID to identify each update. Always increase Update ID value for new update.
- Free update will be automatically activated on remote machines in case there is existing license for previous update.
Paid update (for all users)
- Change Application signature and Program ID. In this way protected application will generate new license information on remote machine.
- Reset Update ID to 0 to get a clean start for update id value.
- Such update will generate new site/mid codes regardless of existing licenses for previous update and will ask for new activation code.
Limited (free) updates
Updates policy feature is intended for limiting free updates.
Updates policy will define which updates end user can install for free (without new activation code).
Updates policy can be set by combining the updates policy settings:
(1) "Allow updates for xxxx days after activation" option (mandatory)
Updates can be installed during xxxx (1-9999) days after activation.
(2) "Allow upgrade from this version to new updates for a fixed period of time" option. (optional)
Updates can be installed during fixed period of time (start date - end date)
(3) "Allow only a limited range of updates to be run on remote computer" option (optional)
Only updates with update id value between start - end values (including start and end value) can be run on remote computer. If update with update id outside of set range is run on remote computer it will display error message and close.
(4) "Allow upgrade to this version for a limited range of previous updates" option (optional)
Only updates with update id value between start - end values (including start and end value) will be allowed to upgrade to this version. If existing update id on remote computer is outside set range this update will not be allowed to run.
Changing existing updates policy with new update
Updates policy is stored in protected application together with other required settings during protection process.
In order to change existing updates policy on remote computer(s) with new update of protected application be sure to increase Update ID value and set "Change active updates policy on remote computers" option for such update.
Only in this case new application update will update existing (if any) updates policy on remote machine with latest updates policy settings.
Changing existing updates policy by using license extension with activation file
There is a way for updating updates policy on remote computer for already activated application without sending new update and enabling "Change active updates policy on remote computers" option.
When generating activation file for license extension in activation panel "Embed updates policy" option in activation panel has to be enabled.
License extension special flag should also be set. Only in this case generated activation file will be accepted by protected application on remote computer.
- Each time new update (update with higher update id) is run on remote computer protection code will check if such update is allowed to be run on that computer. If allowed, protection code will update existing Update id value in license data with new, higher update id value. License data will always hold only the highest allowed Update id. This license data is shared with all applications protected with same Application signature and Program ID values on remote computer. and can be obtained by using protection interface.
- When new update is run on remote computer the following checks are done:
1. License data is checked for previously detected and stored highest Update ID.
2. If new Update ID is lower then or same as existing Update ID end user is allowed to run update (unless Update ID is outside of allowed range of Update ID's and appropriate Update ID range policy is enabled).
3. If new Update ID is higher then existing Update ID application will check if user is allowed to run this update in the following ways:
- If existing updates validity period has expired application will exit with error. Default error message (UpdatesPolicy_Error) can be changed in language editor.
- If required, fixed updates validity period is checked afterwards. If current date is not inside defined period application will exit with error.
- User is allowed to run update at this point.
- If "Change active updates policy on remote computers" option was selected new update will update existing updates policy on remote computer with values stored in protected application.