"b11_" <> wrote...
> If one were to run Scanreg.exe under Wxp, do you think that it would find
> the Wxp registry?
Scanreg will probably load, but it would not be able to do anything useful
with the XP/Vista Registry.
A Win32 application can manipulate the Windows 9x registry and the XP
Registry in the same way, by calling Win32 Registry APIs like RegOpenKey()
and RegCloseKey(), exported by Advapi.DLL. These APIs are all documented in
MSDN, and are largely the same on Windows 9x and XP/Vista. So it's possible
(not guaranteed, but possible) a registry utility could work on both Windows
9x and XP/Vista.
However, if you look at the scanreg.exe file, you wil see that it is NOT a
Win32 executable. It is in fact, a 16-bit MS-DOS application. Which makes
sense, because scanreg.exe needs to run very early in the Windows 98 boot
process, before the system has flipped over into full Windows mode. So, it
cannot acess the Reg*() functions in advapi.dll. I'm not sure exactly how
scanreg works internally, but I'd guess it grovels the specific file
structures of the Windows 98 registry files. Since the physical layout of
the registry files on XP and Vista is different to the layout on Windows 98,
I'd exact that scandisk will run, but it will report errors in the registry.
And, this is trivially easy to verify - copy scanreg.exe from a Windows 98
machine to an XP machine, and then run it! It will start up and give the
"Press Enter to continue" dialgue. If you press enter, it immediately comes
back and says "Registry Repair results: Windows found an error in your
system files and was unable to fix teh problem". Which is just as well, if
it did attempt to "repair" the XP registry it would undoubtedly scramble it
badly!.
The key point is: the Windows 9x registry is fairly compatible with the
Vista Registry, if you access them via the Registry APIs. If you access the
registry in any other way, they will be very incompatible.
--
Andrew McLaren
amclar (at) optusnet dot com dot au
|