MSFN Forum: Puzzling Registry Size Issue - MSFN Forum

Jump to content


  • 8 Pages +
  • « First
  • 5
  • 6
  • 7
  • 8
  • You cannot start a new topic
  • You cannot reply to this topic

Puzzling Registry Size Issue Rate Topic: -----

#121 User is offline   loblo 

  • Oldbie
  • PipPipPipPip
  • Group: Members
  • Posts: 679
  • Joined: 12-January 10
  • OS:ME
  • Country: Country Flag

Posted 06 September 2012 - 11:59 AM

View Postjaclaz, on 06 September 2012 - 10:39 AM, said:

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


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:


#122 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,457
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 06 September 2012 - 12:12 PM

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

#123 User is offline   CharlotteTheHarlot 

  • MSFN Expert
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 1,176
  • Joined: 24-September 07
  • OS:none specified
  • Country: Country Flag

Posted 06 September 2012 - 12:54 PM

View Postrloew, on 06 September 2012 - 11:00 AM, said:

I added the /M Option to my RAM Limitation Patch to correct this problem. I was then able to load a Registry with an 18MB SYSTEM.DAT File.

rloew ...

Quick question. How large is the registry export for that registry with 18 MB system + ?? MB user ?

Also could you mention which machine it is ( from the Day-to-day thread ) so we can know the hardware RAM, CPU, etc ?

#124 User is offline   rloew 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 935
  • Joined: 30-May 05
  • OS:98SE
  • Country: Country Flag

Posted 06 September 2012 - 06:44 PM

View PostCharlotteTheHarlot, on 06 September 2012 - 12:54 PM, said:

View Postrloew, on 06 September 2012 - 11:00 AM, said:

I added the /M Option to my RAM Limitation Patch to correct this problem. I was then able to load a Registry with an 18MB SYSTEM.DAT File.

rloew ...

Quick question. How large is the registry export for that registry with 18 MB system + ?? MB user ?

Also could you mention which machine it is ( from the Day-to-day thread ) so we can know the hardware RAM, CPU, etc ?

Based on the 2011 Date shown for post #79 in this Thread, I assume it was my 16GiB RAM System "Rloew (2)" using an AMD ATHLON X2 6000+.
I don't recall the size of the exported Registry. I built the Registry, tested it, exported it, rebuilt it, tested it, deleted all of the files, and put back the original Registry, all in one day.
Most of the Registry was confined to a small number of Keys, with thousands of Text Values in each. Maybe this is why I was able to rebuild the Registry while others were unable to do so.
The level of complexity was much lower. I solved the Registry Size issue in 2009 as reported by Dave-H. See Post #63.

I created a modified version of REGEDIT that runs offline like REGEDIT does when run in DOS, but can be run in Windows.

#125 User is offline   jds 

  • -DOS+
  • PipPipPipPip
  • Group: Members
  • Posts: 595
  • Joined: 03-June 08
  • OS:98SE
  • Country: Country Flag

Posted 07 September 2012 - 04:17 AM

View PostCharlotteTheHarlot, on 06 September 2012 - 08:12 AM, said:

View Postjds, on 06 September 2012 - 04:01 AM, said:

Yes, however, I have no problem exporting from the registry using 'regedit', even when it's about 13MB+2MB. The difficulty is doing the reverse, either "live" or "offline", as 'regedit' crashes and other utilities seem to neglect an import capability.s.

Most likely, 'exporting' ( the ASCII output of the registry on a successfully booted computer ) will always work okay. I probably wasn't clear but what I meant was binary output from a registry tool that saves to a Win9x DAT on disk ( or a no-extension NT hive ) that is perfectly usable at a later bootstrap. Export is done while in protected-mode so by definition the registry was successfully read and loaded. At this point REGEDIT only has to write out the database. If you were to overload the registry with REG files, you could also export it out to a file. It's that next reboot which is scary.

My understanding is that there are two major but separate registry problems in the Win9x family ...

CREATION ... This occurs in DOS when the real-mode part of REGEDIT using /c cannot create one of the DAT files It is trying to rebuild a new registry ( output binary ) from a previously successful export ( input ASCII ). I discovered this way back in Win95 before the OSR updates corrected it ( temporarily ), when certain software moved all of its settings from private files into the registry and doubled the size. It was cat and mouse for the next few years but eventually even for Win98se large exports couldn't be /c created. Before WinME, the patching and backporting of a later REGEDIT version ( e.g., from 95osr to 95 ) allowed successful creation, but we ran out of luck when WinME changed REGEDIT ( it separated CLASSES out of the SYSTEM hive as a last ditch effort to make it manageable ). The reasons for this CREATION bug seem to be registry size, complexity, available RAM, ( and possibly CPU model, speed and cache ) so it is a chaotic and unpredictable problem, and pretty much unsolvable. Remember, this is the 16-bit universe and even before WinME Microsoft was already breaking things and leaving them broken. :realmad: Microsoft could have fixed this in the 32-bit portion instead, but I am guessing that they did not want to give REGEDIT an option to output binary DATs to an arbitrary selected folder which would be necessary since it cannot overwrite the current in-use registry files. A 32-bit registry tool that can do this ( output binary DATs to an arbitrary selected folder ) would be very desirable for Win9x, hence my previous comment.

LOADING ... BSOD protection error preventing successful bootstrap because one of the DATs cannot be successfully read or loaded. I had long thought that this was for all the same reasons, registry size, complexity, available RAM, etc, but here on MSFN RLoew has also discovered a connection to networking in some way. Consequently, a surprised and unprepared Win9x user is screwed at this point. However a well-prepared user has saved many DAT backups and thankfully in Win9x it is simple to change registries in F8 DOS command line. It is very possible while in Windows to absolutely overload the registry with imports ( or just install every SDK ) and it will appear fine as it fits within the protected-mode available memory space, but then it BSOD's on reboot. With great perseverance a person could manage this situation with lots of REG files used when in Windows and have REG 'deleters' to remove them before restart, and/or have fallback DATs ready to be copied in F8 DOS.

Interestingly enough, one program that I never saw choke on a large registry was RegCompact by Daniel Werner, a 32-bit protected mode app which near as I can tell reads the currently loaded registry in memory and writes it out sequentially, removes any fragmentation 'holes'. It uses WININIT.INI to do this by outputting the DATs as C:\WINDOWS\TEMP\RCxxxx.TMP that are swapped in on next reboot. In my experience it was always successful in this 'defragmentation, and, on the following reboot I don't recall any problems either. But if you stop and think about there shouldn't be any problems because what you are loading in these new' DATs is just a likely smaller, and purified version of the previous working registry. Theoretically it should become problematic when you start pumping in REG files just before you RegCompact.

The way I managed things on Win98se after the WinME registry change forked it up ...
  • Boot Win9x normally without BSOD
  • Backup DATs ( 'A' )
  • Import the required REG data in REGEDIT
  • Backup DATs ( 'B' )
  • Run RegCompact
  • Copy the newly created DATs cited in WININIT.INI, rename to DATs ( 'C' )
  • Now I have three sets of registry DATs, A, B, C

Then I would try booting C having A to fall back on. Note that B was saved just for informational purposes, because C is a purified and smaller version of B. If this concept is understandable and makes sense, then you should be able to do this successfully. Just remember that A, B, C represent three points along the timeline. I never did have a problem here but I never did push it for experimentation's sake. In other words I never imported huge amounts just to learn the limits of that specific computer ( once again assuming the BSOD is related to registry size, complexity, available RAM, Networking, CPU model/speed/cache, etc ).

Last registry size that I used on Win98se ...
SYSTEM.DAT ..... 12,873,760
USER.DAT ........ 3,665,952
ASCII Export ... 21,261,267


I just want to repeat - that registry was highly managed. I didn't just throw stuff into REG files to experiment and explore the outer limits! What I imported was highly error checked and optimized ( some might say obsessively :lol: ) , paths shortened, ~SFN~ removed, font and other paths, etc. And I had a habit of deleting large chunks of unnecessary information ( Shared DLLs, Windows setup info, etc ). If I had left that all in plus all the MSI installer garbage with the absolutely insane amounts of entries ( for every single file found in every SDK ), I bet that registry export might be be closer to 50 MB. The point is, those sizes shown DO NOT REPRESENT any kind of upper limits. Please, don't anyone assume those numbers should be used as guidelines!

NOTE: for RegCompact, there are four different versions that I have seen ...
73,728 ... 10-15-00 ... 4:36a ... Regcompact.exe_(2000-10-15)
73,728 ... 10-18-00 .. 12:39a ... Regcompact.exe_(2000-10-18)
73,728 ... 10-28-00 ... 5:16p ... Regcompact.exe_(2000-10-28)
73,728 ... 12-01-00 ... 8:33p ... Regcompact.exe_(2000-12-01)
... using this

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 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?

Joe.

This post has been edited by jds: 11 September 2012 - 03:14 AM


#126 User is offline   submix8c 

  • Inconceivable!
  • Group: Patrons
  • Posts: 3,247
  • Joined: 14-September 05
  • OS:none specified
  • Country: Country Flag

Posted 07 September 2012 - 10:20 AM

View Postjds, on 07 September 2012 - 04:17 AM, said:

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?

#127 User is offline   CharlotteTheHarlot 

  • MSFN Expert
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 1,176
  • Joined: 24-September 07
  • OS:none specified
  • Country: Country Flag

Posted 07 September 2012 - 04:08 PM

View Postjds, on 07 September 2012 - 04:17 AM, said:

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.


View Postjds, on 07 September 2012 - 04:17 AM, said:

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.

#128 User is offline   CharlotteTheHarlot 

  • MSFN Expert
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 1,176
  • Joined: 24-September 07
  • OS:none specified
  • Country: Country Flag

Posted 07 September 2012 - 07:15 PM

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.

This post has been edited by CharlotteTheHarlot: 08 September 2012 - 08:20 AM


#129 User is offline   Foxbat 

  • Member
  • PipPip
  • Group: Members
  • Posts: 118
  • Joined: 18-January 11
  • OS:none specified
  • Country: Country Flag

Posted 08 September 2012 - 02:14 AM

View PostCharlotteTheHarlot, on 07 September 2012 - 07:15 PM, said:

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 User is offline   jaclaz 

  • The Finder
  • Group: Developers
  • Posts: 11,457
  • Joined: 23-July 04
  • OS:none specified
  • Country: Country Flag

Posted 08 September 2012 - 03:28 AM

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 User is offline   CharlotteTheHarlot 

  • MSFN Expert
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 1,176
  • Joined: 24-September 07
  • OS:none specified
  • Country: Country Flag

Posted 08 September 2012 - 08:22 AM

View Postjaclaz, on 08 September 2012 - 03:28 AM, said:

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

View Postjaclaz, on 08 September 2012 - 03:28 AM, said:

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

This post has been edited by CharlotteTheHarlot: 08 September 2012 - 09:09 AM


#132 User is offline   submix8c 

  • Inconceivable!
  • Group: Patrons
  • Posts: 3,247
  • Joined: 14-September 05
  • OS:none specified
  • Country: Country Flag

Posted 08 September 2012 - 10:55 AM

OUCH!!!! Totally forgot about this!

Quote

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 )


#133 User is offline   dencorso 

  • Adiuvat plus qui nihil obstat
  • Group: Super Moderator
  • Posts: 4,877
  • Joined: 07-April 07
  • OS:98SE
  • Country: Country Flag

Posted 08 September 2012 - 01:17 PM

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.

View Posteidenk, on 21 September 2007 - 05:11 PM, said:

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

View Posteidenk, on 23 September 2007 - 06:20 AM, said:

Here you go :hello:

RegDoc.7z


#134 User is offline   Foxbat 

  • Member
  • PipPip
  • Group: Members
  • Posts: 118
  • Joined: 18-January 11
  • OS:none specified
  • Country: Country Flag

Posted 08 September 2012 - 03:57 PM

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 User is offline   CharlotteTheHarlot 

  • MSFN Expert
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 1,176
  • Joined: 24-September 07
  • OS:none specified
  • Country: Country Flag

Posted 08 September 2012 - 04:57 PM

View PostFoxbat, on 08 September 2012 - 03:57 PM, said:

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.


View PostFoxbat, on 08 September 2012 - 03:57 PM, said:

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.

#136 User is offline   Foxbat 

  • Member
  • PipPip
  • Group: Members
  • Posts: 118
  • Joined: 18-January 11
  • OS:none specified
  • Country: Country Flag

Posted 08 September 2012 - 08:22 PM

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.

This post has been edited by Foxbat: 08 September 2012 - 08:28 PM


#137 User is offline   jds 

  • -DOS+
  • PipPipPipPip
  • Group: Members
  • Posts: 595
  • Joined: 03-June 08
  • OS:98SE
  • Country: Country Flag

Posted 09 September 2012 - 07:58 AM

View Postsubmix8c, on 07 September 2012 - 10:20 AM, said:

View Postjds, on 07 September 2012 - 04:17 AM, said:

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.

View Postsubmix8c, on 06 September 2012 - 09:03 AM, said:

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.

This post has been edited by jds: 09 September 2012 - 08:04 AM


#138 User is offline   Multibooter 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 896
  • Joined: 21-March 08
  • OS:98SE
  • Country: Country Flag

Posted 10 September 2012 - 08:30 PM

View PostCharlotteTheHarlot, on 07 September 2012 - 07:15 PM, said:

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 User is offline   CharlotteTheHarlot 

  • MSFN Expert
  • PipPipPipPipPipPip
  • Group: Members
  • Posts: 1,176
  • Joined: 24-September 07
  • OS:none specified
  • Country: Country Flag

Posted 10 September 2012 - 09:49 PM

View PostMultibooter, on 10 September 2012 - 08:30 PM, said:

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.

#140 User is offline   Foxbat 

  • Member
  • PipPip
  • Group: Members
  • Posts: 118
  • Joined: 18-January 11
  • OS:none specified
  • Country: Country Flag

Posted 10 September 2012 - 10:49 PM

View PostMultibooter, on 10 September 2012 - 08:30 PM, said:

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.

This post has been edited by Foxbat: 10 September 2012 - 10:56 PM


Share this topic:


  • 8 Pages +
  • « First
  • 5
  • 6
  • 7
  • 8
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy