Registry Settings and DLLs save/restore utility for NT/w2k/XP
Authors:
Alter (alterX@alter.org.ua (remove X))
Entity (entityX@alter.org.ua (remove X))
rconf_v1a.rar/tgz (60.1 Kb/62.8 Kb) - rconf.bat
ang GUI for it -
RegConf.exe
rconf_v1.rar/tgz (43.3 Kb/45.1 Kb) -
previous version of
rconf.bat
At least I had some time to implement import/export utility for application-specific setting.
It can also save to separate directory libraries required by specific application. This is
rather simple utility. Some time ago Axxie planned to develop much more powerful tool.
But for now - use rconf.bat or RegConf.exe. It keeps lists of required
registry keys and libraries in .INI files. According to these configs utility can
save application specific parts of registry and libraries to separate directory and
later restore settings and place libraries to proper places under another OS.
The only restriction are paths. They must be persistent across OS'es. See also
NT multiboot.
All configs are stored in ini subfolder. All configs treat ';' character as comment.
The main config file is targets.ini. It contains list of targets (applications) and their
uman-readable descriptions. Each line has the following format:
<tag> <some spaces> <Full name of application>
<tag> - short name of savable target. It must contain alpha-numeric characters only.
<some spaces> - one or more spaces. Do not use TABs here. <Full name of application> -
human readable target description. There is one mandatory file for each target. It must have
name <tag>.reglist. Such files contain list of Registry keys to be saved for given target.
Each line contains key name. If name contains spaces, it must be quoted with double quotations ("):
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
HKEY_CURRENT_USER\Environment
If you need to exclude some velues from saving, use <tag>.badvarlist file. Each line contains
templete for the value name to be excluded. For example when saving environment variables, we must
exclude OS-dependent values:
ComSpec
Cpu
NUMBER_OF_PROCESSORS
OS
Os2LibPath
PROCESSOR_ARCHITECTURE
PROCESSOR_IDENTIFIER
PROCESSOR_LEVEL
PROCESSOR_REVISION
Additionally for each tag you can create <tag>.reqvarlist file. It contains templete for
values to be mandatory saved without saving entire key. For example for CBuilder 6.0 the following
value is required:
"<SysDrive>:\\Program Files\\Common Files\\Borland Shared\\Debugger\\bordbk61.dll"
under
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs]. For this case
the config file can be as following:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs]"Borland Shared"
To describe list of required libraries use <tag>.binlist file. It contains folder names and
filename templetes for saving. For example:
[%SystemRoot%\System32]mfc*d.dll
[%SystemRoot%\System32]mfc*d.map
[%SystemRoot%\System32]mfc*d.pdb
[%SystemRoot%\System32]msvcrtd.*
And now about usage:
Usage:"
rconf <action> [target]"
actions:"
s - save registry settings of target app
sb - save registry settings and required binaries of target app
r - restore registry settings of target app
rb - restore registry settings and required binaries of target app
l - show list of known target app
target:
any item listed in ini\targets.ini or 'all'
Examples:
rconf sb all
will save settings and binaries for all described targets
rconf r env
will restore settings for target 'env' (Environment variables)
Settings are stored in settings_<username> directory.
rconf_v1.rar/tgz (43.3 Kb/45.1 Kb) - rconf itself
2004.08.02
Please, send your comments and propositions here:
alterX@alter.org.ua (remove X)
|