When a new version of DLP Endpoint is installed, it calls for the older DLP Endpoint uninstaller to uninstall the old version. The older uninstaller is stored locally on the system. All installers work this way and it is considered standard. When you install an older version, you also store the uninstaller of the older version in the local file system. The uninstaller is stored so that any newer version automatically calls to the older version to uninstall itself. If the uninstaller for the older version is not present, the newer version would have to “know” how to uninstall older versions and that is not possible.
When the older version uninstaller is engaged, it stops the DLP Endpoint service and unloads the DLP Endpoint drivers.
After the drivers unload themselves, access protection is stopped. The uninstall program then deletes all DLP Endpoint files from the file system and deletes all DLP Endpoint registry keys from the registry.
The problem is if the DLP Endpoint client service watchdog restarts the DLP service after it stops access protection and before deletion of the files and registry entries, the DLP service reloads all drivers again. Reloading the drivers results in activation of DLP Endpoint access protection again. Activation of DLP Endpoint access protection prevents the uninstaller from deleting the files and registry entries. The failure of the uninstaller to delete the files and registry entries results in the DLP Endpoint upgrade try failing.