• Announcements

    • xper

      MSFN Sponsorship and AdBlockers!   07/10/2016

      Dear members, MSFN is made available via subscriptions, donations and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, become a site sponsor and ads will be disabled automatically and by subscribing you get other sponsor benefits.
Dave-H

Puzzling Registry Size Issue

145 posts in this topic

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?

0

Share this post


Link to post
Share on other sites
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.

0

Share this post


Link to post
Share on other sites

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

RegCompact 1.0 - http://talismanic.net/codeworld/regcompact/

By Daniel Werner - dwerner@talismanic.net

About The Registry

===== === ========

The registry is a central part of the Windows operating systems. The data in the registry

is stored in more than one file, each file called a hive, hence the beehive icon for

RegCompact. On Windows95 and 98 there are two registry hives, System.dat and User.dat.

On WindowsNT and 2000 there are System, Default, SAM, Security and Software hives.

Most programs store their configuration data in the registry. Over time, as programs are

installed and uninstalled, the registry becomes fragmented. Also, when data is removed from

the registry it's space is not reclaimed until more data overwrites the empty space. This

has a significant impact on the performance of Windows and programs that make heavy use of the registry. It is most evident at boot time and when running programs that use lots of COM

classes (such as Microsoft Office, Internet Explorer, any programs written in Visual Basic,

and lots of commercial software). Whenever you install software data is written to the

registry so the software can later be uninstalled.

What RegCompact Does

==== ========== ====

RegCompact eliminates registry fragmentation by writing the data in the registry out into a

temporary file. This data is written sequentially, so there are no holes from deleted data

or fragmentation. RegCompact then reboots the system, and the compacted registry hives are

replaced when the system starts up.

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.

Requirements

============

Any computer running Windows95, 98, Me, NT 4.0 or 2000 is supported.

Shareware Information

========= ===========

RegCompact is Shareware. There is no mechanism in RegCompact such as nag screens, time

limits, etc. to try to make you pay. I trust the good will of people to pay if they enjoy

the program. To make it easy for people to donate I have set up an online purchasing system

at RegSoft. All you need is a credit card and you can donate from anywhere in the world.

It is completely safe and secure. It also makes it easy for me, as I live in Australia.

If you do not have a credit card but would like to send a cheque then email me at

dwerner@talismanic.net for my postal address.

The Online Purchasing System is at:

http://www.regsoft.net/purchase.php3?productid=34532

If your browser does not support secure transactions then use the nonsecure form at:

http://www.regsoft.net/purchase_nonsecure.php3?productid=34532

All donations are greatly appreciated.

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

RegCompact 1.0 - http://talismanic.net/codeworld/regcompact/

Scritto da Daniel Werner - dwerner@talismanic.net

Traduzione e adattamento a cura di Marco D'Amato

Informazioni sul registro di configurazione di Windows

======================================================

Il registro di configurazione rappresenta il cuore del sistema operativo Windows. Le

informazioni contenute nel registro sono memorizzate in più file separati chiamati

"hive" (letteralmente, alveari), nome utilizzato anche da RegCompact per rappresentare le sue icone.

In Windows 95 e Windows 98 sono presenti due "hive": System.dat e User.dat. In Windows NT e 2000 sono presenti cinque "hive": System, Default, SAM, Security e Software. Il registro di

configurazione di Windows è utilizzato dalla maggior parte delle applicazioni quale archivio

principale in cui memorizzare le proprie informazioni di configurazione. Col passare del

tempo, a causa delle continue operazioni di installazione e rimozione dei programmi, il

registro di configurazione comincia a frammentarsi. Rimuovere informazioni o chiavi dal

registro comporta la creazione di veri e propri spazi vuoti nel corpo del registro stesso

che è possibile riempire solo aggiungendo nuove informazioni.

Questo comporta un significativo impatto negativo sulle prestazioni sia del sistema operativo, sia di tutti quei programmi che utilizzano pesantemente il registro. Ciò è

particolarmente evidente all'avvio del sistema e durante l'esecuzione di programmi che

utilizzano le classi COM (ad esempio, Microsoft Office, Internet Explorer, tutte le applicazioni scritte in Visual Basic e la maggior parte dei software commerciali). Ogni

qualvolta si installa un software, le informazioni sulla rimozione del programma sono

memorizzate nel registro di configurazione.

Cosa fa RegCompact

==================

RegCompact deframmenta il registro di configurazione di Windows esportando in un file

temporaneo le informazioni in esso contenute. La scrittura dei dati avviene sequenzialmente,

consentendo l'eliminazione di eventuali spazi vuoti. Al termine dell'operazione, RegCompact

riavvierà il sistema consentendo ai nuovi "hive" compattati di sostituire gli "hive"

precedenti.

Parametri della riga di comando

===============================

Se si esegue RegCompact con il parametro /NOGUI, il programma deframmenterà automaticamente

gli "hive" del registro di configurazione di Windows e riavvierà il sistema senza alcun

intervento da parte dell'utente.

Richieste di sistema

====================

RegCompact richiede Windows 95, Windows 98, Windows NT 4.0 oppure Windows 2000.

RegCompact non è stato completamente testato con Windows Me.

Informazioni sulla versione shareware

=====================================

RegCompact è un programma shareware. Non sono stati imposti limiti di tempo all'utilizzo

del software, non sono state aggiunte finestre di notifica né sono stati utilizzati altri

metodi per invogliare l'utente a registrare il programma. Credo nell'onestà delle persone

e sono convinto che l'importo richiesto sarà versato da coloro che troveranno di proprio

gradimento il programma. Per semplificare il processo di registrazione di RegCompact, è possibile effettuare acquisti online sul sito di RegSoft. È sufficiente essere in possesso

di una carta di credito per effettuare il pagamento da qualunque parte del mondo. La

transazione è assolutamente sicura. Questo metodo mi consente di semplificare il processo

di registrazione, in quanto vivo in Australia. Se non si possiede una carta di credito ma si

desidera pagare tramite assegno bancario, richiedete il mio indirizzo postale inviandomi

un'e-mail all'indirizzo dwerner@xoasis.com.

È possibile effettuare l'acquisto online su:

http://www.regsoft.net/purchase.php3?productid=34532

Se il browser non supporta la transazione sicura, è possibile utilizzare la scheda

(non sicura) su:

http://www.regsoft.net/purchase_nonsecure.php3?productid=34532

Tutte le donazioni saranno ben accette.

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
0

Share this post


Link to post
Share on other sites

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.

0

Share this post


Link to post
Share on other sites

The program was "localized" in 2002 seemingly:

http://news.swzone.it/traduzioni/40_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/telechargements/regcompact-1-0-13.html

jaclaz

0

Share this post


Link to post
Share on other sites
The program was "localized" in 2002 seemingly:

http://news.swzone.it/traduzioni/40_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/telechargements/regcompact-1-0-13.html

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

EDIT: typo

Edited by CharlotteTheHarlot
0

Share this post


Link to post
Share on other sites

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 )
0

Share this post


Link to post
Share on other sites

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

0

Share this post


Link to post
Share on other sites

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.

0

Share this post


Link to post
Share on other sites
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.

0

Share this post


Link to post
Share on other sites

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
0

Share this post


Link to post
Share on other sites
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
0

Share this post


Link to post
Share on other sites
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.

0

Share this post


Link to post
Share on other sites
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.

0

Share this post


Link to post
Share on other sites

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
0

Share this post


Link to post
Share on other sites

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/h.ulbrich/regexp.zip (another download I had found was truncated, useless).

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.org/web/20100906235707/http://lilith.tec-man.com/hivetools/

New home:

http://www.filewut.com/spages/page.php/software/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.

0

Share this post


Link to post
Share on other sites
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) 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 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
0

Share this post


Link to post
Share on other sites
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! :)

0

Share this post


Link to post
Share on other sites

@dencorso:

Your new version of VRFYPE of 26-Jul-2012 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...

0

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.