Alter.Org.UA  
 << Back Home RU ru   Donate Donate www/www1/www2

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: Mail to alterX@alter.org.ua (remove X)  

designed by Alter aka Alexander A. Telyatnikov powered by Apache+PHP under FBSD © 2002-2017