Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Puzzling Registry Size Issue

- - - - -

  • Please log in to reply
144 replies to this topic

#126
submix8c

submix8c

    Inconceivable!

  • Patrons
  • 4,186 posts
  • OS:none specified
  • Country: Country Flag

Hi Charlotte,

Yep, you've hit the nail on the head, as they say. Your description of the creation problem is exactly where I'm stuck.

Your description about protected mode 'regedit' gave me an idea :

If, when you first install a system, and have the bare essentials and drivers working, save the 'system.dat' and 'user.dat' files away as a "minimal" registry. Later, when you need to rebuild, export everything with the protected mode 'regedit', then swap the 'system.dat' and 'user.dat' files with the "minimal" set. Reboot, then import all that you exported earlier using the protected mode 'regedit'. Should work, I think.

??? I think I kind of "implied" that in my post about REG.EXE??? I SPECIFICALLY remember creating a Boot Floppy with it for that exact purpose...

Perhaps "Safe Mode" with REGEDIT.EXE -OR- "Safe Mode->Command Prompt"/BootFloppy with REG.EXE (same-o same-o)...

Seriously... what am I missing here?

Someday the tyrants will be unthroned... Jason "Jay" Chasteen; RIP, bro!

Posted Image



How to remove advertisement from MSFN

#127
CharlotteTheHarlot

CharlotteTheHarlot

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,054 posts
  • OS:none specified
  • Country: Country Flag

I tried to find 'regcompact' of 2000-12-01 to no avail, the nearest I could find was the 2000-10-28 version, which is available in the "Win95\util" directory of your favourite Simtel mirror under the name "regcmp1b.zip". Haven't tried it yet. I don't suppose the newer version is sufficiently similar that patching is an option?

I am looking around for RegCompact at this time, I can see that it will take a while :-( He seems to have moved to NT editions with version 2. There is/was a .NET version and now a 'final' edition v2.6.7 here ( also only for NT ). I found his official website called Experimental Scene but it has been scrubbed of mention of the program. Wayback has an archive. I will check the SimTel mirrors and track down the Win9x versions. Notice in my previous post that they are all identical sized, so I will have to diff them to see if he only changed version strings.


Yep, you've hit the nail on the head, as they say. Your description of the creation problem is exactly where I'm stuck.

Your description about protected mode 'regedit' gave me an idea :

If, when you first install a system, and have the bare essentials and drivers working, save the 'system.dat' and 'user.dat' files away as a "minimal" registry. Later, when you need to rebuild, export everything with the protected mode 'regedit', then swap the 'system.dat' and 'user.dat' files with the "minimal" set. Reboot, then import all that you exported earlier using the protected mode 'regedit'. Should work, I think.

After doing a Win9x full install is a great time to make backups, I know I always did. It's easy to grab the DATs at every opportunity and fortunately Win9x does not lock the files from being copied at any point like NT versions do. So copying them and archiving them with a batch file is ridiculously simple and would be crazy not to. I also prefer a corresponding ASCII export to be saved simultaneously ( although RegDat or RegExport will let you do this later naturally ). Windiff'ing the exports is the best way to detect changes and create a manual rollback to fix something gone awry.

"export everything with the protected mode 'regedit', then swap the 'system.dat' and 'user.dat' files with the "minimal" set. Reboot, then import all that you exported earlier using the protected mode 'regedit'. Should work, I think." ... of course keeping in mind that within Windows you can kill the registry by adding massive quantities/complexities and won't be aware until the very next reboot.

One other thing about registry importing/exporting is the fact that almost the entire blueprint for a given Win9x system exists in the registry ( aside from a few stragglers in SYSTEM.INI and a few other exceptions ) which means that a complete import is almost never a good idea unless the hardware never changes in the slightest way ( even a mouse ). Many of the system keys require great care! From my personal research ...

[HKEY_LOCAL_MACHINE\Config]
[HKEY_LOCAL_MACHINE\Driver]
[HKEY_LOCAL_MACHINE\Enum]
[HKEY_LOCAL_MACHINE\Hardware]
[HKEY_LOCAL_MACHINE\System]


... of which this very important one in particular ...

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Asd]

... is machine specific, vital and really the central nervous system and or DNA of a given Win9x computer. It's two important subkeys ...

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Asd\Prob\{9b4e7760-3196-11cf-97ea-00aa0034319d}]
[[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Asd\Prob\{cf2524c0-29ae-11cf-97ea-00aa0034319d}]

... to the best of my knowledge are literally the closest comparison in Win9x to a DOS era CONFIG.SYS or Win3x era SYSTEM.INI sequential startup list. Entries in the first one are 'ENUMERATED' and the second one 'STARTED' in the order they literally appear in the exported registry ASCII text ( not the way they necessarily appear in the sorted REGEDIT GUI ). Remove an entry and it is gone, move them out of order ( especially things like Acpi\\*pnp0xxx entries ) and it can go FUBAR. There are many things that order dependent ( a HDD controller before a disk attached to it, any 'bus' before one of its attached devices, etc )

Consequently, these keys should never be imported unless the hardware has not changed at all. On a long running system you can export that key and glance through the sequential entries and learn the exact order everything was added to a system, right down to a mouse, or disk, USB included. For example if you added a new CD drive or USB flash drive ( or any hardware ), along with all the more generic entries elsewhere, there will be one one entry at the end of both of those keys ( sometimes only one of the keys ) which IMHO is the flag or trigger during a bootstrap to enumerate and/or start a device. Note, this information is completely from my own experimentation, I searched for authoritative sources over the years to no avail. One other note, hard drives each get an entry too, however they are so generic with many sharing the same IDE type 47 or 80 description that you cannot really determine one from the other historically in this key. Instead Win9x relies on controller and cable position ( PM PS SM SS ) to enumerate and start them.

I know this is a bit off topic, I just want to repeat that dropping entire registry exports into REGEDIT is a very bad idea, even on Win9x ( which itself is very light on registry and overhead compared to WinXP ), that is of course, if you want everything working properly. You can often drop a HDD from one Win9x installation into an entirely different computer and even though every ENUM and other system key is completely different, it seems to boot and operate okay ( if by okay you mean compatibility mode! ). Point being, these keys are very important to a perfectly working system. They must be treated carefully. I have done piecemeal transplants working around these keys many times. Often I exported those specific keys, edited them against a master list of hardware, even re-arranging the enumeration and starting, and then deleted the branch, re-imported them, rebooted and continued. Such work is not for the faint of heart! But it somewhat corresponds to the DOS days of ultra-managed CONFIG.SYS and AUTOEXEC.BAT entries to get the perfect running system ( but of course the goal there was slightly different in that it was more about getting a driver to load before another to more efficiently fill up the memory space leaving maximum available RAM for applications ).

Sorry about the digression, and I expect you already know of these issues, it is just for the later readers of this thread that I want to say: BE CAREFUL in here.

... Let him who hath understanding reckon the Number Of The Beast ...


#128
CharlotteTheHarlot

CharlotteTheHarlot

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,054 posts
  • OS:none specified
  • Country: Country Flag
RegCompact for Win9x ... 2012 Updated Links ...

Well I started looking for file links and found a reference pointing back to a post here by me in a 2008 MSFN thread of which I had forgotten about, almost exactly 4 years ago to the day. At that point I already had located 4 different compiles of RegCompact v1.0. And after today, there are now 6. Rather than bump that 4 year old thread I'll post the findings here. Recall that previously there were 4 files named REGCOMPACT.EXE all v1.0 and now I find a 5th one ( and Jaclaz a 6th one ). The newest one is dated even more recently 2001-05-28 and is still v1.0. I also found working direct links to 2 of the 4 files I had previously. Get the files while you still can ( don't ask me how they manage to scrub all these files from the internet, but somehow they manage ). Complete inventory ...

-- Filename ------- Size -- Version --- MODIFIED DateTime ------------------ MD5 -------------------- CRC32 ---- Working Links?
RegCompact.exe ... 73,728 ... 1.0 ... 2000-10-15 - 05:36:10 ... d6c48ea6219abd82c127cf38994e0ed7 ... 98738fc3 ... (none found )
RegCompact.exe ... 73,728 ... 1.0 ... 2000-10-18 - 01:39:30 ... 328012d5badf9833ad645d7ca9b08b37 ... 2e4d7e33 ... Regcmp1a.zip
RegCompact.exe ... 73,728 ... 1.0 ... 2000-10-28 - 18:16:16 ... f5e3fbb6209a0ed15e82be0f2b1847f7 ... 00b40b76 ... Regcmp1b.zip
RegCompact.exe ... 73,728 ... 1.0 ... 2000-11-18 - 19:59:26 ... 3610d8baac81a9a7f44a2a8e02c8eca1 ... 29ff541c ... RegCompact1.0.exe
RegCompact.exe ... 73,728 ... 1.0 ... 2000-12-01 - 21:33:08 ... 5749eb12f8c4f4fa3f2489e62a0c1531 ... 036ee115 ... (none found)
RegCompact.exe ... 73,728 ... 1.0 ... 2001-05-28 - 20:48:52 ... fa3f9649f5f5f74b7036a48bcf205d42 ... bef289d7 ... Regcompact_1.0.zip


Here are all the hashes as determined by NirSoft HashMyFiles ...

-- Filename ------- Size -- Version --- MODIFIED DateTime ------------------ MD5 ------------------------------------- SHA1 ---------------------- CRC32 ------------------------------- SHA-256 -------------------------------------------------------------------------------------------- SHA-512 -------------------------------------------------------------------------------------------------------------- SHA-384 --------------------------------------------
RegCompact.exe ... 73,728 ... 1.0 ... 2000-10-15 - 05:36:10 ... d6c48ea6219abd82c127cf38994e0ed7 ... eabef0b84fc357694daa2f528488f8ac1f615394 ... 98738fc3 ... 3a7860ff36209d68e6763afc500e9c62bdca2237998607fc16c03a0cd1b80169 ... 26262f1271f7ca40c8384a2397b9a2859e66978a965ea5a361d53ac33b80b788a1bfecb59dacdf866b2b41bbb6f7544f7c594bf51af48d7897373b1353a0f34a ... b82d19e5f46d4d761555f54ab4c049bb95679f8fe56ebb4be0efef2320db0495ab00292679315621629a767e49cf1327
RegCompact.exe ... 73,728 ... 1.0 ... 2000-10-18 - 01:39:30 ... 328012d5badf9833ad645d7ca9b08b37 ... ab84d5248a8795470e7c7afcaf0994d18d28c01c ... 2e4d7e33 ... acbc0fc18df3256b13d8fef7b2df2a39565c5dd065fa5d3d68db8e6480c5ca8f ... 62ce76bfca289b92ba075a5388e59f464a011194e54ab05b043a6a79f7293f2a046c8ab9a8fb0960efd4714d03613480b5636fb5c2bc892c08ffb6ccba3741b2 ... 7705722e7c527741fca51a06fd905c37c07f3ebced4e0902ba19459acb2bc773d751a0cce307c5de86b8dfc48c0c8ca4
RegCompact.exe ... 73,728 ... 1.0 ... 2000-10-28 - 18:16:16 ... f5e3fbb6209a0ed15e82be0f2b1847f7 ... 52ab8b8d344c8935e8ff13b6f05a226992008e88 ... 00b40b76 ... 650e939a133da9573ea09b800bd220fb1fe58a00aabd31a3515997aba04097e8 ... 3bdb9a9a4f143aa56334fd2bbd6deb3691f1972bc3ace1070913868e5873957d5f70c827fd111d4a3e80889f65303e5c5814f6f85d3de4a83fc2fceb2df20b4b ... eb8ff46128b2cb57d4897e73b4f14a816d5cbfdb3d142ddec02c1c813901e7ca867b08ce49e6266d0cb6f9e5334060d4
RegCompact.exe ... 73,728 ... 1.0 ... 2000-11-18 - 19:59:26 ... 3610d8baac81a9a7f44a2a8e02c8eca1 ... 592fe9a6e9ea80a7e61cbe1089fffb315c2b2b6b ... 29ff541c ... fbfe55fa3da0490aa5e0bb038fe340973e5358c5161cc815656eb221e59c3bc9 ... 12ed5445d9652bd5ed74d3515bc0152388e366e48f51ec849040ce65554c97f01f8bb74533a65a4f56f13e7d319fc0389d05f848462bea5a016cd592b00f6f39 ... 03dfe7f89e136a7513dcefe0adb39d7b1abcab7942cd577b9de4ba8d45255aa619412f4d815cc5d8c9d4e78c97495652
RegCompact.exe ... 73,728 ... 1.0 ... 2000-12-01 - 21:33:08 ... 5749eb12f8c4f4fa3f2489e62a0c1531 ... a983554b5b05650ae9e56281181d1ed6f3c281f6 ... 036ee115 ... 246d78e5b9964b7d4593076da69ced1a1cb44b0016e9272922f0a7aa80bb45ba ... 5cc9de44ed8cd847941b7e4943748ea15dd53d2af56ab7e38dad37bfbc5280e01c0ddf6f985c41cbde5b81bd1a95b3391bb607d54b08b75da7fb352cafb19611 ... fe66a3fac84b429513ceb7321d6a4a540746f595ca1cc23f2b62271b0348ca949f0793cea9f337c8317125e4021ed12a
RegCompact.exe ... 73,728 ... 1.0 ... 2001-05-28 - 20:48:52 ... fa3f9649f5f5f74b7036a48bcf205d42 ... df965ebc291afe6556f423420703511b2db7574d ... bef289d7 ... ea350d5ea624ce0b7985e7db6d85eb700bf25ff1f3d90ad46ba3bd23f4e7164b ... b801b29768cad3dab3ec6e4ebe28df8d15e9e2cda6d318f71bf6ba50feef1ecef45f8ffb78aa9c0ff0f218336ce1ccdb9edab19f11673e071ba622fc5754d968 ... c2b713c9c77865bef601b602ee8f649de0521053541fd3ad926cf5af2f6fe11b3208ea36295c250de8a4f01f9ccc85a2
DETAILS: In the file resources the languages of all 6 are listed as English (Australia), all with v1.0 and a Copyright © 2000 Daniel Werner. NOTE-1: That newest 2001 distribution is UPX packed to 37,376 bytes. The results shown above are *after* unpacking naturally. NOTE-2: I forgot to mention that both regcmp1a.zip and regcmp1a.zip have an installer EXE inside them named RegCompact1.0.exe. This can be simply extracted with WinRar. The 3rd download from 2001 has no installer in it, just the UPX packed exe and doc. The RegCompact1.0.exe ( 2000-11-18 ) download is itself an SFX installer easily extracted with WinRar and inside it is the normal EXE. NOTE-3: The readme for the 2001 version is in Italian ( "Leggimi.txt" ). My Italian is rusty but it appears to be the same information as found in the README.TXT that I have from the 2000-12-01 version. Perhaps Jaclaz or someone else can verify ...

... 2000-12-01 executable with README.TXT dated 2000-11-30 ...
Spoiler

... 2001-05-28 executable with LEGGIMI.TXT dated 2002-08-16 ...
Spoiler


IMPORTANT ... I HAVE NOT TESTED the last two dated 2001-05-28 and 2000-11-18 since I just got them now and have no Win9x computer available right at this moment. If anyone can test them out PLEASE report the results. I did submit the unpacked 2001 file to both Jotti and VirusTotal which is 62 scanners. All came up clean except for ClamWin which suggests: PUA.Win32.Packer.PrivateExeProte-15. I highly doubt that ClamWin results is something I would bet the farm on. I just submitted the 2000-11-18 file and it was already scanned as 'clean' by someone else earlier ( Jotti and VirusTotal ).

EDIT: Added file sizes. Added a 6th file that Jaclaz found.

Edited by CharlotteTheHarlot, 08 September 2012 - 08:20 AM.

... Let him who hath understanding reckon the Number Of The Beast ...


#129
Foxbat

Foxbat

    Member

  • Member
  • PipPip
  • 122 posts
  • OS:none specified
  • Country: Country Flag

The 3rd download from 2001 has no installer in it, just the UPX packed exe and doc. NOTE-3: The readme for the 2001 version is in Italian ( "Leggimi.txt" ). My Italian is rusty but it appears to be the same information as found in the README.TXT that I have from the 2000-12-01 version. Perhaps Jaclaz or someone else can verify ...

I ran the 2001 version of RegCompact.exe file without performing the compaction. It is also localized in Italian. The update could just be the localization, but we'll see. I will try to test and compare the results of two different versions tomorrow.

#130
jaclaz

jaclaz

    The Finder

  • Developer
  • 14,019 posts
  • OS:none specified
  • Country: Country Flag
The program was "localized" in 2002 seemingly:
http://news.swzone.i...RegCompact.html
Just for the record, Marco D'amato is most probably the same Marco D'Amato Author of Wincontig:
http://wincontig.mdtzone.it/en/
and a very nice guy :thumbup , if needed I can contact him and ask him if he remembers anything abotu the thingy and it's versions.

A .exe RAR self-extracting English version is here (the actual regcompact.exe and ReadMe.txt being dated 18/11/2000):
http://www.ndfr.net/...act-1-0-13.html

jaclaz

#131
CharlotteTheHarlot

CharlotteTheHarlot

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,054 posts
  • OS:none specified
  • Country: Country Flag

The program was "localized" in 2002 seemingly:
http://news.swzone.i...RegCompact.html
Just for the record, Marco D'amato is most probably the same Marco D'Amato Author of Wincontig:
http://wincontig.mdtzone.it/en/
and a very nice guy :thumbup , if needed I can contact him and ask him if he remembers anything abotu the thingy and it's versions.

It would be interesting to hear what he has to say. :thumbup

A .exe RAR self-extracting English version is here (the actual regcompact.exe and ReadMe.txt being dated 18/11/2000):
http://www.ndfr.net/...act-1-0-13.html

I added it to the above. It is indeed a 6th unique compile.

EDIT: typo

Edited by CharlotteTheHarlot, 08 September 2012 - 09:09 AM.

... Let him who hath understanding reckon the Number Of The Beast ...


#132
submix8c

submix8c

    Inconceivable!

  • Patrons
  • 4,186 posts
  • OS:none specified
  • Country: Country Flag
OUCH!!!! Totally forgot about this!

One other thing about registry importing/exporting is the fact that almost the entire blueprint for a given Win9x system exists in the registry ( aside from a few stragglers in SYSTEM.INI and a few other exceptions )


Someday the tyrants will be unthroned... Jason "Jay" Chasteen; RIP, bro!

Posted Image


#133
dencorso

dencorso

    Adiuvat plus qui nihil obstat

  • Super Moderator
  • 5,780 posts
  • OS:98SE
  • Country: Country Flag

Donator

In case you didn't grab Registry Concentrator when it was originally posted, I've just reuploaded them to zShare, so grab them while you can.
The links are inside the quotes, which I've edited a little... the red highlights are mine.

I am on WinMe and if I was on 98 I would probably have bumped in similar issues as the cumulated size of my classes.dat and system.dat is above 13MB. The biggest eaters in terms of size seem to be DirectX and the dotnet runtimes with their huge amount of CLSIDs keys.

I think I have read about the registry files having a maximum size on Win9x but I cannot find anything about it now.

What seems certain anyway is that scanreg is unable to compact registry files which are above 8MB.

IMO the best doc about the win9x registry is in japanese : Regist"o"ry

There is one page in english though but for the rest you'll need to use babelfish or google translate. He details several different methods for compacting the registry and there is alot about the registry stucture.

This guy wrote a registry concentrator, RegCon which is the only one that does actually work amongst the many claiming to to do that and that I have tried.

He also wrote a registry analyzer, Registrip, which has no equivalent and which displays charts and pies about registry occupation (used space, empty space, dead gaps).

I have translated those two interesting freebies some time ago, the first partially and the second more completely.

I have uploaded those translated apps, in case you find them useful to troubleshoot or circumvent your issue :

RegUtils.7z

Here you go :hello:

RegDoc.7z



#134
Foxbat

Foxbat

    Member

  • Member
  • PipPip
  • 122 posts
  • OS:none specified
  • Country: Country Flag
i have tested RegCompact.exe dated 2000-11-18, and the most recent one, dated 2001-05-28. Windows normally make changes to the registry upon every startup, which complicates the test. This makes it difficult to determine if modifications were the actions of Windows or RegCompact. The important thing is that no keys were removed during the entire process, which helps preserve much of the structure.

>> RegCompact.exe dated 2000-11-18
Before compacting:
SYSTEM.DAT is 9,240,608 bytes
USER.DAT is 1,736,736 bytes

Within the UI, RegCompact reports the current registry size and predicted size after compacting:
SYSTEM.DAT 9024KB --> 8628KB
USER.DAT 1696KB --> 1200KB
After compacting:
SYSTEM.DAT is 8,835,104 bytes
USER.DAT is 1,228,832 bytes

Using RegShot 1.8.2 to compare the compacted registry to the original, there were a number of modifications, but no keys were removed.

>> Original registry is restored for the next test, but startup modifies it as normal, so it is not the same registry as the first original, but structurally is very similar, and size is identical.

>> RegCompact.exe dated 2001-05-28
Before compacting:
SYSTEM.DAT is 9,240,608 bytes
USER.DAT is 1,736,736 bytes

Within the UI, RegCompact reports the current registry size and predicted size after compacting:
SYSTEM.DAT 9024KB --> 8628KB
USER.DAT 1696KB --> 1204KB
After compacting:
SYSTEM.DAT is 8,835,104 bytes
USER.DAT is
1,237,024 bytes
Using RegShot 1.8.2 to compare the compacted registry to the original, there were a number of modifications, but no keys were removed.

>> Other than the compacted size of USER.DAT, I cannot determine if there were any functional differences between the two versions. What I can conclude is they both did their job without breaking the registry.

#135
CharlotteTheHarlot

CharlotteTheHarlot

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,054 posts
  • OS:none specified
  • Country: Country Flag

i have tested RegCompact.exe dated 2000-11-18, and the most recent one, dated 2001-05-28. Windows normally make changes to the registry upon every startup, which complicates the test. This makes it difficult to determine if modifications were the actions of Windows or RegCompact. The important thing is that no keys were removed during the entire process, which helps preserve much of the structure.

>> Other than the compacted size of USER.DAT, I cannot determine if there were any functional differences between the two versions. What I can conclude is they both did their job without breaking the registry.

Thanks for the info! And be aware that there is no need for the reboot if you don't mind getting your hands dirty.

Yes, it uses the WININIT.INI 'rename' method. The new binary files ( the registry DATs ) are temporarily in C:\WINDOWS\TEMP with names like RC1154.TMP for example. They are scheduled to be moved under the [rename] section of WININIT.INI which is executed on bootup.

These files can be intercepted quite simply. When RegCompact is complete and prompts for reboot, simply kill the task to close it. Then use the info found in the newly created WININIT.INI and move the two files to somewhere else, out of Windows\Temp and then rename them according to what WININIT.INI says ( or just name the biggest one SYSTEM.DAT and the other USER.DAT ). Then you can delete WININIT.INI and you're done. No need to go all the way through the reboot unless you want to. If you were to run RegCompact again immediately it would start over again as if it were never run before. This is the way I would get a new registry without actually having to use it.

Looking at my old Win9x notes I just noticed an odd convention used by RegCompact ( well, odd to me, maybe normal for the time ). I didn't log which particular REGCOMPACT.EXE file I tested, but an actual entry found in WININIT.INI was entered by one of them like so ...

[rename]
C:\WINDOWS\SYSTEM\..\USER.DAT=C:\WINDOWS\TEMP\RC1154.TMP
C:\WINDOWS\SYSTEM\..\SYSTEM.DAT=C:\WINDOWS\TEMP\RC1153.TMP
C:\WINDOWS\SYSTEM\..\SYSTEM.DAT=C:\WINDOWS\TEMP\RC1153.TMP


I made a note of the fact that there is one error there ( the repeated 2nd entry ) and one odd programming convention ( the parent folder '..' dereferencing ). That repeating error I don't really care for because the [rename] operations using '=' are a MOVE ( to the best of my knowledge ). That means that the repeated command must fail since the file no longer exists by the time it is executed. The parent folder dereferencing is fine but theoretically inefficient because it says look in C: then in WINDOWS then in SYSTEM then back up one level where we just were and use the file named xxx.DAT. Anyway, I noted all of the above and rewrote it like this without the repeat and with tighter code ...

[rename]
C:\WINDOWS\USER.DAT=C:\WINDOWS\TEMP\RC1154.TMP
C:\WINDOWS\SYSTEM.DAT=C:\WINDOWS\TEMP\RC1153.TMP


It is probably good advice for users of RegCompact to always check WININIT.INI before allowing the reboot. When I get a chance to, I will try all 6 of the RegCompact programs and try to determine if they all handle WININIT.INI this way. It is possible that this is a bug that he fixed and explains all the different builds, but I am just speculating.


The important thing is that no keys were removed during the entire process, which helps preserve much of the structure.

That is by design for registry defraggers. Theoretically it is just a long continuous write to disk of the currently loaded in memory or paged out registry, so you wind up with a 'compact' ( for lack of a better word ) registry minus any holes that exist from perhaps deleting a bunch of keys or values. This is contrasted with registry 'optimizers' ( 'cleaner' or 'repair' or 'fix' or other marketing speak ) which attempt to delete and correct registry structure and/or data. For the latter type of utility I prefer only the ones that will create an output log to save ( rather than simply presenting a list of choices to check or uncheck ) so that I can later do it myself. There is a lot of risk to those utilities.

... Let him who hath understanding reckon the Number Of The Beast ...


#136
Foxbat

Foxbat

    Member

  • Member
  • PipPip
  • 122 posts
  • OS:none specified
  • Country: Country Flag
I made an attempt to retest RegCompact by grabbing the files from C:\WINDOWS\TEMP this time instead of restarting. Using the CTRL+ALT+DEL task manager to end the task would cause RegCompact to restart the system. Process Explorer was able to end the task without restarting. RegShot can only compare live registry files or hiv files saved from a previous live registry, so Regdat was used instead, which can compare individual registry files to the live registry. Comparison of the compacted registry to the original showed that RegCompact saves all pending registry modifications prior to compacting (this is a good thing, just bad for comparison purposes). Without a pristine unmodified compacted registry (even the live registry periodically updates itself), file comparison is of little value.

What is notable is the duplicate rename entry exists in WININIT.INI for the following four versions:

RegCompact.exe dated 2000-10-18
[rename]
C:\WINDOWS\SYSTEM\..\USER.DAT=C:\WINDOWS\TEMP\RC6356.TMP
C:\WINDOWS\SYSTEM\..\SYSTEM.DAT=C:\WINDOWS\TEMP\RC6355.TMP
C:\WINDOWS\SYSTEM\..\SYSTEM.DAT=C:\WINDOWS\TEMP\RC6355.TMP


RegCompact.exe dated 2000-10-28
[rename]
C:\WINDOWS\SYSTEM\..\USER.DAT=C:\WINDOWS\TEMP\RCA2A4.TMP
C:\WINDOWS\SYSTEM\..\SYSTEM.DAT=C:\WINDOWS\TEMP\RCA2A3.TMP
C:\WINDOWS\SYSTEM\..\SYSTEM.DAT=C:\WINDOWS\TEMP\RCA2A3.TMP


RegCompact.exe dated 2000-11-18
[rename]
C:\WINDOWS\SYSTEM\..\USER.DAT=C:\WINDOWS\TEMP\RCA0B2.TMP
C:\WINDOWS\SYSTEM\..\SYSTEM.DAT=C:\WINDOWS\TEMP\RCA0B1.TMP
C:\WINDOWS\SYSTEM\..\SYSTEM.DAT=C:\WINDOWS\TEMP\RCA0B1.TMP


RegCompact.exe dated 2001-05-28
[rename]
C:\WINDOWS\SYSTEM\..\USER.DAT=C:\WINDOWS\TEMP\RCF354.TMP
C:\WINDOWS\SYSTEM\..\SYSTEM.DAT=C:\WINDOWS\TEMP\RCF353.TMP
C:\WINDOWS\SYSTEM\..\SYSTEM.DAT=C:\WINDOWS\TEMP\RCF353.TMP


This bug (if it is a bug) has not been fixed in these versions.

EDIT: I was only able to test the four versions which have links available. The other two were not tested.

Edited by Foxbat, 08 September 2012 - 08:28 PM.


#137
jds

jds

    -DOS+

  • Member
  • PipPipPipPip
  • 603 posts
  • OS:98SE
  • Country: Country Flag

Hi Charlotte,

Yep, you've hit the nail on the head, as they say. Your description of the creation problem is exactly where I'm stuck.

Your description about protected mode 'regedit' gave me an idea :

If, when you first install a system, and have the bare essentials and drivers working, save the 'system.dat' and 'user.dat' files away as a "minimal" registry. Later, when you need to rebuild, export everything with the protected mode 'regedit', then swap the 'system.dat' and 'user.dat' files with the "minimal" set. Reboot, then import all that you exported earlier using the protected mode 'regedit'. Should work, I think.

??? I think I kind of "implied" that in my post about REG.EXE??? I SPECIFICALLY remember creating a Boot Floppy with it for that exact purpose...

Perhaps "Safe Mode" with REGEDIT.EXE -OR- "Safe Mode->Command Prompt"/BootFloppy with REG.EXE (same-o same-o)...

Seriously... what am I missing here?

Sorry if I've overlooked your posting, however, what you've missed is that I'm not a mind reader. I'm sure you may know what you were implying, but I couldn't see it. Seriously.

Somewhere (can't remember) I vaguely recollect using REG.EXE (from the Win98 Resource Kit) against the DAT files to "compress". There was some "method" to the madness... something about "creating" a new DAT file from the "exported" REG files? I could have SWORN I had used the method before...

(and I could be TOTALLY wrong, so don't be too harsh)

If you could elaborate some, like the role of a boot diskette perhaps, or how 'reg' can work where (command line) 'regedit' fails, that may be helpful here.

Joe.

Edited by jds, 09 September 2012 - 08:04 AM.


#138
Multibooter

Multibooter

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 896 posts
  • OS:98SE
  • Country: Country Flag

At that point I already had located 4 different compiles of RegCompact v1.0. And after today, there are now 6

Hi CharlotteTheHarlot,

1) I checked the 6th file RegCompact.exe (at the bottom of your list, with MD5 fa3f9649f5f5f74b7036a48bcf205d42) with MiTeC EXE Explorer, it has a time stamp of 1-Dec-2000 9:33:06AM, very similar to the file modification date indicated for the 5th file. The time stamp by MiTeC EXE Explorer is more helpful than the file modification date for categorizing the various versions of RegCompact.exe. MiTeC EXE Explorer displays for file #6 in the Strings tab several error messages which were localized into Italian. I would speculate that file #6 is only a modification with a hex editor of file #5, not a new compilation.

2) The Readme.txt files accompanying the file #3 (modif.date 28-Oct-2000) and file #4 (modif.date 18-Nov-2000) have 2 main differences, possibly helpful for identifying version differences:

a ) added to Readme.txt of file #4:
"Command Line Arguments
======= ==== =========
If you execute RegCompact with the /NOGUI command line argument it will automatically
compact the registry hives and reboot the system with no user interaction."

b ) removed from Readme.txt of file #4:
"Installation
============
Run the RegCompact1.0.exe installation program inside the zip archive you downloaded. It will install the program to the location you select. Please note no uninstall feature is included, as all you need to do is delete RegCompact's program folder to uninstall it."

3) I have come across a 7th version on the mule, it has MD5 3D5DF950B2DCAE3B886C4FC625A4F512, also 73728 bytes, file modification date October 04, 2001, 3:52:02 AM, and a time stamp with MiTeC of 17-Oct-2000 2:39:29 PM, i.e. the identical time stamp of your file #2. This 7th version is a derivative of the file #2, with some error messages patched with non-Western characters. The accompanying .txt file is also in non-Western characters, perhaps Russian.

4) Which version to use?
I have no idea what the impact would be of running under US Windows 9x a program patched for a different Windows localization/codepage, and would stay away from the Italian/Russian? localized versions. This would leave file #4 (modif.date 2000-11-18) as best version, as long as no download location can be found for file #5 (modif.date 2000-12-01).

RegCompact v1.0 looks like an interesting program, but I haven't tried it out yet, I am waiting for more reports about the experience other users had with it.

#139
CharlotteTheHarlot

CharlotteTheHarlot

    MSFN Master

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,054 posts
  • OS:none specified
  • Country: Country Flag

RegCompact v1.0 looks like an interesting program, but I haven't tried it out yet, I am waiting for more reports about the experience other users had with it.

Thanks for the info! And yes, I believe you are right about that Italian localized being patched, not recompiled.

I'm working up info for a new thread so we don't totally 'jack this one. If everyone wants to hold off a bit ( a day or two ) there will be a better place for this all info.

I have tested these 6 on Win9x thoroughly ( as did Foxbat above ) and will aggregate the info there. As far as which to use, I can detect no functional difference using the GUI.

P.S. Can you put version #7 somewhere and PM me a link? - Thanks.

... Let him who hath understanding reckon the Number Of The Beast ...


#140
Foxbat

Foxbat

    Member

  • Member
  • PipPip
  • 122 posts
  • OS:none specified
  • Country: Country Flag

4) Which version to use?
I have no idea what the impact would be of running under US Windows 9x a program patched for a different Windows localization/codepage, and would stay away from the Italian/Russian? localized versions.

I did not encounter any problems when I tested the Italian version under US Win98SE. The localization only effects the UI text, although I think one should use a localized version only if it is in their native tongue.

EDIT: My apologies, I did not see CharlotteTheHarlot's post #139 until my post went through.

Edited by Foxbat, 10 September 2012 - 10:56 PM.


#141
jds

jds

    -DOS+

  • Member
  • PipPipPipPip
  • 603 posts
  • OS:98SE
  • Country: Country Flag


As for RegExport, alas, I've seen a few other utilities with this capability, which as I've stated above, can be done quite satisfactorily with 'regedit'. Now, if he'd written an import utility, I'd consider that a "must have". :(

Joe.

You can't export reg files from a backed up registry dat file with regedit AFAIK.

RegExport is a great free tool and unique in its features. Besides letting you see differences between the live registry in ram with dat files or exporting from dat backups to selectively restore something you can use it to check out if you you've got a rootkit in the startup keys (run, runonce, etc...) for example.

I am not aware of an other tool that lets you do that besides its big brother RegDat and I am nearly 100% sure that no other free tool lets you do any of that so it's definitively a must have IMO.

Hi loblo,

Regarding 9X 'regedit', it can work with backed-up DAT files as follows :
REGEDIT [/L:system] [/R:user] /E filename3 [regpath1]
where :
/L:system Specifies the location of the SYSTEM.DAT file.
/R:user Specifies the location of the USER.DAT file.
/E filename3 Specifies the file to export the registry to.
regpath1 Specifies the starting registry key to export from. (Defaults to exporting the entire registry).

Now regarding RegExport, if it does have those extra features, then I'll change my mind and agree it's a "must have". I've just downloaded it from http://home.arcor.de...rich/regexp.zip (another download I had found was truncated, useless).

Also :unsure: (maybe having better capabilities than regedit) good ol' resplendence Reglite:
http://web.archive.o...nce.com/reglite
http://web.archive.o...e.com/downloads

jaclaz

More toys.Thanks jaclaz!

If we drift into discussing alternatives to regedit I can only praise and recommend the awesome Regmagik
with its jump to CLSID, jump to path in explorer and export of registry shortcuts, not to mention its excellent search tool, etc...

Now shareware but the last free version (3.26.4), which is the one I use, can be found easily.

:hello:

Sounds very useful, thanks for the tip loblo!

I don't think it is "drifting" is more like trying to provide some alternatives that may (or completely fail to) be functional in solving the problem.

However, let's call this Off TOpic :w00t:
http://web.archive.o....com/hivetools/

New home:
http://www.filewut.c...tware/hivetools

jaclaz

Another useful looking tip, jaclaz, and (IMHO) definitely not off-topic.

At that point I already had located 4 different compiles of RegCompact v1.0. And after today, there are now 6

Hi CharlotteTheHarlot,

1) I checked the 6th file RegCompact.exe (at the bottom of your list, with MD5 fa3f9649f5f5f74b7036a48bcf205d42) with MiTeC EXE Explorer, it has a time stamp of 1-Dec-2000 9:33:06AM, very similar to the file modification date indicated for the 5th file. The time stamp by MiTeC EXE Explorer is more helpful than the file modification date for categorizing the various versions of RegCompact.exe. MiTeC EXE Explorer displays for file #6 in the Strings tab several error messages which were localized into Italian. I would speculate that file #6 is only a modification with a hex editor of file #5, not a new compilation.

You beat me to it, Multibooter!

I checked similarly and entirely agree about your conclusion. It should be possible to use a tool like the venerable BDIFF 1.01 by Morten Grouleff to get a patch that can recover the missing 2000-12-1 edition.

Anyway, I tried the Italian-patched version with the following results :
SYSTEM.DAT 12,943,672 -> 12,902,432
USER.DAT 1,830,944 -> 1,720,352

I was surprised that after some years of installing and uninstalling stuff, I had so little empty space to collapse! Looks like I'll have to do surgery if I want to reduce that registry size.

The patched program worked just fine, so there should be no fears about code pages differences or whatnot. The only thing I had to take care of, is that, like almost all registry tools I've tried, they assume that 'system.dat' and 'user.dat' both live in the %windir% directory. However, if you install W9X on a drive other than C:, you end up with 'system.dat' on C: drive (in the %winbootdir% directory) and 'user.dat' on the main W9X drive (in the %windir% directory).

Joe.

#142
Multibooter

Multibooter

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 896 posts
  • OS:98SE
  • Country: Country Flag

3) I have come across a 7th version on the mule, it has MD5 3D5DF950B2DCAE3B886C4FC625A4F512...This 7th version is a derivative of the file #2, with some error messages patched with non-Western characters.

I have checked files #2,3,4,6 and 7 with dencorso's VRFYPE of 24-Jun-2012 (old version) http://www.msfn.org/...ost__p__1002255 All files have the same header checksum 00000000, so in the case of RegCompact.exe VRFYPE (old version) cannot be used to identify a PE file as patched :(

@dencorso:
Your new version of VRFYPE of 26-Jul-2012 http://www.msfn.org/...ost__p__1005197 with the switch /0 or /z displays only "No files found!" for files #2,3,4,6 and 7. If you find the time to fiddle around with VRFYPE, could you increment the version number?

Edited by Multibooter, 11 September 2012 - 08:43 AM.


#143
loblo

loblo

    Oldbie

  • Member
  • PipPipPipPipPip
  • 754 posts
  • OS:ME
  • Country: Country Flag

Hi loblo,

Regarding 9X 'regedit', it can work with backed-up DAT files as follows :
REGEDIT [/L:system] [/R:user] /E filename3 [regpath1]
where :
/L:system Specifies the location of the SYSTEM.DAT file.
/R:user Specifies the location of the USER.DAT file.
/E filename3 Specifies the file to export the registry to.
regpath1 Specifies the starting registry key to export from. (Defaults to exporting the entire registry).


Ah, I didn't know that, thanks! :)

#144
dencorso

dencorso

    Adiuvat plus qui nihil obstat

  • Super Moderator
  • 5,780 posts
  • OS:98SE
  • Country: Country Flag

Donator

@dencorso:
Your new version of VRFYPE of 26-Jul-2012 http://www.msfn.org/...ost__p__1005197 with the switch /0 or /z displays only "No files found!" for files #2,3,4,6 and 7. If you find the time to fiddle around with VRFYPE, could you increment the version number?

Please give me links to those files, so that I'll be able to see what's happening, and then I'll gladly do it.
BTW, does it find the files with /g or /a? /a should give sort of the same output as the older version...

#145
Multibooter

Multibooter

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 896 posts
  • OS:98SE
  • Country: Country Flag
Hi dencorso,
Sorry for the mix up. I had copied VRFYPE (27Jul2012) to the folder containing the various files RegCompact_x.exe, and then ran VRFYPE without a file parameter <filespec>, like "*.*":
> vryfype
or >vrfype /a

This resulted in no files being listed, the same for running
> vrfype *.*
without indicating an option parameter </option>

When running VRFYPE with both parameters entered, everything was Ok: :thumbup
vrfype *.* /a

Maybe in the next version of of VRFYPE you could use "/a" as default parameter if no </option> parameter was entered, and "*.*" if no <filespec> parameter was entered. BTW the parameter "/s" [for checking all sub-folders] is still on my wish list down the line, even if there is a workaround, as you suggested in http://www.msfn.org/...ost__p__1006128 , but adding such a /s switch looks like a major undertaking. VRFYPE is an excellent program, with many potential uses.

Here the screen output by VRFYPE (27Jul2012), sent to a text file vrfype.txt, when entering in a Win98SE DOS window:
>vrfype *.* /a >vrfype.txt


VrfyPE v1.0 Freeware by dencorso, 2012


.\RegCompact_2.exe => Cheksums: Header = 00000000 Real = 000132DC Zero in header!
.\RegCompact_3.exe => Cheksums: Header = 00000000 Real = 000162F4 Zero in header!
.\RegCompact_4.exe => Cheksums: Header = 00000000 Real = 0001BCD9 Zero in header!
.\RegCompact_unpacked_6.exe => Cheksums: Header = 00000000 Real = 0001887F Zero in header!
.\RegCompact_7.exe => Cheksums: Header = 00000000 Real = 00014227 Zero in header!
.\VRFYPE.EXE => Cheksums: Header = 0000431C Real = 0000431C

BTW, when ">vrfype *.* /a >vrfype.txt" is run in a WinXP command prompt window, an identical .txt file is generated, except that the last line has the file extension in small letters:
.\VRFYPE.exe => Cheksums: Header = 0000431C Real = 0000431C




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN