Undo and Redo in ARM

In ARM Undo is used for:
- the Registry roll-back to some previous state
- programs and hardware uninstalling
It is helpful to use Undo as an uninstaller when installed program has not uninstaller itself or when its uninstaller works incorrectly, i.e. removes its keys and values from the Registry incompletely.

Redo is used for:
- the Registry roll-back to its previous state after using Undo
- programs and hardware installing
It is advisable to use Redo as an installer by system administrators, when it is necessary to install one and the same program on several users’ PCs.

Undo and Redo are available only from Compare window. To generate Undo/ Redo for chosen keys use function of comparing for certain key and possibility to exclude some subkeyes from comparing. There are two Undo/Redo methods in ARM.

The first method is creation *.REG files and execution them later independently from ARM, e.g. with Windows Explorer. You can apply this method by pressing buttons with hints Save to Undo files and Save to Redo files in Compare window.

In addition, these files can be used for:
- viewing changes in text format (unlike the trees, presented in ARM)
- storing changes compactly independently from ARM
- editing prior to executing.

Executing *.REG files doesn't always produce excellent results due to some bugs - limitations - in programs which process these files. For example, too long lines are truncated. Or, if the key has Value Name = (Default), and Value Data = (value not set) it is impossible to restore the value (Default) - (value not set) without deleting the key.

That is why Undo and Redo functions that change the Registry directly were introduced. They employ the second method. In Compare window they are represented by buttons with hints Undo into Registry! and Redo into Registry!