Each update of protected application is identified by Update ID value which can be set in Application info settings.

Higher value of Update ID represents newer update.

Free updates

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 computer in case there is existing license for protected application on that computer.

Paid update (for all users)

Change Application signature and Program ID for such update. Reset Update ID value to zero to get a clean start.

Protected application will ignore existing license of previous update on remote computer (if any). It will generate different Site/MID code pair and require new and different activation code.
License status of existing (previous) update on remote computer will not be affected by this update.

Limited (free) updates

Updates policy is defined in updates policy settings and it will determine which updates can be installed without new activation code (free).

The following options can be combined when defining updates policy for protected application"

Allow updates for xxxx days after activation (mandatory)

Updates can be installed during xxxx (1-9999) days after activation.

Allow upgrade from this version to new updates for a fixed period of time (optional)

Updates can be installed during fixed period of time (start date - end date).

Allow only a limited range of updates to be run on remote computer (optional)

Only updates with Update ID within defined range (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.

Allow upgrade to this version for a limited range of previous updates (optional)

Only updates with Update ID within defined range will be allowed to upgrade to this version. If existing Update ID on remote computer is outside of defined range, this update will not be allowed to run.

Changing existing updates policy with new update

Default updates policy is stored in protected application together with other required settings during protection process.

Increase Update ID value and enable Change active updates policy on remote computers option to change existing updates policy on remote computer. 

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. For this to work, both license extension and activation file features should be enabled for protected application in project settings.

In order to change existing updates policy on remote computer be sure to enable Embed updates policy option, change updates policy as required and set license extension special flag when generating activation file.

Validation of updates policy

Each time new update (update with higher Update ID) is run on remote computer our protection code will check if such update is allowed to be run on that computer. If allowed, protection code will update current Update ID value in existing license data on remote computer with new, higher update id value.

License data will always hold only the highest allowed Update ID.

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, existing license data is checked for previously detected and stored highest Update ID for this protected application.

If new Update ID is lower or equal to existing Update ID end user will be allowed to run update unless this is not allowed by Allow only a limited range of updates to be run on remote computer updates policy option.

If new Update ID is higher then existing Update ID protection code will first check if existing updates validity period has expired (if true, application will exit with UpdatesPolicy_Error message) and then (if fixed updates validity period is enabled) protection code will check if current date is inside defined fixed period.

If all check are successful protection code will allow new update to be run on remote computer.