Runtime/Behavior Changes

From CET 12.0 all public functions in package cet.service will be deprecated, and the service will no longer be used.

Also, instead of calling the service, the functions in cet.service will now attempt regular copy/move/delete-operations. If that fails the user will be prompted for elevation for the command in a dialog, that also shows which extension is asking for the elevated action.

Our team has searched through customization code to determine the impact of this change. The conclusion is that there are only a very few cases that the un-elevated copy/move/delete-operation fails and results in the user getting prompted for elevation. The respective development teams have been contacted by us about these changes.

It is advised that you remove all uses of cet.service and replace the service file operations with regular file operations.

When it comes to elevated sync/async commands for installing third party dependencies etc. it is recommended to evaluate in first hand if there are other options for distributing the required dependencies (for example shipping the third party dll:s alongside your own binaries).

If there is no other option, an elevated command for running the third party installer can still be requested from CET by using one of the following functions in the package cm.os:

syncCmdRequestElevated(str command)
asyncCmdRequestElevated(str command)

This will cause CET to show a dialog asking the user for access rights to perform the command. The dialog shows which command the request is for, and also shows which extension is asking to perform it. If the user clicks OK in the dialog, a regular Windows elevation prompt for the command is shown.

NOTE: Please be aware that it is not uncommon for users to have limited access rights on their machines, meaning that they will need to ask an administrator to give them rights every time such a command is to be performed. Therefore we recommend as described above in first hand to ship third party binaries alongside your own binaries instead of using an installer for them.