THE  WINDOWS  REGISTRY  EXPLAINED

During your time on the computer/internet you are at some point going to come across the words THE REGISTRY or WINDOWS REGISTRY, usually because of software known as a Registry Cleaner. A registry cleaner normally claims that it can make your computer faster and/or tweak (manipulate) your computer's settings/setup to boost performance and so on. This is due to the fact that THE REGISTRY is basically a Database file that catalogs many of your computer's hardware and software settings and can therefore have its database (registry) entries edited/modified by a registry cleaner for example.


In truth THE REGISTRY is made up of many, smaller, Database files but is classed as THE REGISTRY simply because it catalogs/registers computer hardware and software settings in general and as a whole. In this section I am going to show you how you can manually edit/modify THE REGISTRY using the Windows 7 program called RegEdit.exe. You might need to manually edit/modify THE REGISTRY if a piece of software is causing you problems for example or if you want to apply a registry Fix/Patch (edit/modify a database (registry) entry in order to fix or patch-up a problem).

Editing/Modifying THE REGISTRY can leave the computer's hardware, software or both in an unwanted corrupt/broken/disastrous state if THE REGISTRY is edited/modified in the wrong way (i.e. when a database (registry) entry is set/given an incorrect wrong value). Continuing with this section means you understand and acknowledge this.

EDITING / MODIFYING  THE  REGISTRY

One way to manually edit/modify THE REGISTRY is to use the Windows 7 program called RegEdit.exe. You can execute (run/launch) it by clicking on the START Menu button and then typing regedit inside the SEARCH edit box. This will search for all occurrences of the word regedit, to which there is only one. When the word regedit appears in the Search Results window pane you can either click on its link or simply press the ENTER keyboard key, because the word/link is already highlighted for you.



Fig 1.0  Click on the START Menu button and then type regedit into the SEARCH edit box

After pressing ENTER, or clicking on the word/link regedit, a UAC requester like the one below will appear. Just click on its CONTINUE button to continue. RegEdit's window will then appear (Fig 1.2).



Fig 1.1  Click on the YES button, of the actual UAC requester that will appear, to continue.

User Account Control (UAC) is a feature of Windows 7 that helps to prevent unauthorized changes to the computer, such as deleting a system file or editing/modifying the registry. When attempting to edit/modify the registry UAC automatically blocks you off with a requester like the one above, because it wants to know if you are the one attempting to edit/modify the registry and not a piece of malicious software for example. In the above case simply click on the YES button of the actual UAC requester that appears to continue.



Fig 1.2  The RegEdit window - Double click on the COMPUTER icon to display the folders.

When the RegEdit window first appears it will more than likely be showing the COMPUTER (root/main) folder only, in its left window pane, therefore you will need to double click on COMPUTER in order to display the sub-folders that make up the registry. The common word used for a registry folder is KEY and the common word used for a sub-folder is a SUBKEY. In these examples I refer to them as folder and sub-folder respectively because this is what they are. In other words. Look at the registry as a collection of folders, sub-folders and settings files and you should have no problems understanding the registry - It is words like KEY that put people off using the registry because they now think it is complex.

The folder view works in the same many as a standard folder view - You double click on a main/root folder (folder icon) to get inside it and view its sub-folders and files. In the case of RegEdit, double clicking on the main COMPUTER folder displays its sub-folders and in turn its settings files. Folders and Sub-Folders are displayed in the left window pane and Settings Files are displayed in the right window pane. A settings file can consist of anything to do with a piece of hardware and/or software - The colour of something, the Path Name of a file, the last opened file, which media player is to play mp3 files and so on.

HKEY  SUB-FOLDERS  EXPLAINED

HKEY_CLASSES_ROOT

This sub-folder is used to store information about the various file associations. In other words. When a piece of software is installed, by you or Windows 7, the files that that software will work with are recorded here. So if you install Microsoft Office 2007 for example it will register the .doc, .docx and so on file extensions for its WORD program. From then on Windows 7 will know to execute (launch) WORD whenever you double click on a file with the .doc file extension for example.

If a file (i.e .doc file) is associated with the wrong program (i.e it is associated with a paint program instead of WORD) it could indicate a corrupt setting in THE REGISTRY. If so, you might look at these settings to see if there is a problem within this folder's settings files.


HKEY_CURRENT_USER

This sub-folder is used to store application settings specific to the currently logged-in user. Settings to do with your Desktop, Printer(s) available, Program Files, Control Panel, Network and so on.

A new HKEY_CURRENT_USER folder is created each time a user logs on. The settings come from the profile of the current user. If no profile is available, the folder is built from the user profile settings established for a default user, which are stored in the system file called Ntuser.dat.


HKEY_LOCAL_MACHINE

This sub-folder is used to store settings that are general to all users on the computer. Settings to do with Installed Applications, Drivers, Services and so on.


HKEY_USERS

This sub-folder is used to store sub-folders/settings files corresponding to HKEY_CURRENT_USER for each User Profile actively loaded on the machine.


HKEY_CURRENT_CONFIG

This sub-folder is used to store hardware configuration settings.


Getting back to the editing/modifying. After double clicking on the root COMPUTER folder (Fig 1.2 above) the next thing to do is navigate to the HKEY sub-folder you are interested in. In this example I want to navigate to the HKEY_CURRENT_USER sub-folder. From there I want to navigate to the SAMSUNG sub-folder which is another two sub-folders inside the HKEY_CURRENT_USER sub-folder. So the SAMSUNG folder is actually a sub-sub-sub-folder. Its path name is HKEY_CURRENT_USER >> SOFTWARE >> SAMSUNG, therefore I have to open three sub-folders from the root/main folder COMPUTER. The reason for opening the SAMSUNG sub-sub-sub-folder is because I want to make sure its contents (sub-folders/settings) can be deleted, as I am no longer using my Samsung SGH-E350 Mobile Phone software with my computer.

A sub-folder is opened by either double clicking on it or by clicking on the white arrow next to its name (Fig 1.3 below). Both methods will open the sub-folder and then display its contents (sub-sub-folders - Fig 1.4).



Fig 1.3  Double click on a sub-folder or click on the white arrow next to its name.....




Fig 1.4  .....to open that sub-folder and display its contents (sub-sub-folders).

Now that the HKEY_CURRENT_USER sub-folder is open I need to locate the SOFTWARE sub-folder (sub-sub-folder), as opposed to the PRINTERS sub-folder for example, because it is related to my Mobile Phone's software. In other words. SOFTWARE relates to installed software whereas PRINTERS relates to installed printers. In this example SOFTWARE is listed towards the bottom of the HKEY_CURRENT_USER sub-folder (Fig 1.4 above). After clicking on the white arrow next to SOFTWARE its contents becomes available to me (Fig 1.5 below).



Fig 1.5  The contents (sub-sub-sub-folders) of the SOFTWARE sub-folder (sub-sub-folder)

As you can see; For each major piece of software I have installed, Windows 7 and/or the software itself has created one root/main folder for that installed software. This is so that it can then create sub-folders and/or settings files within that main/root folder. This is typical behaviour of a major piece of software. In this example, because the folder listings are in alphabetical order, I have to scroll down the window pane (Fig 1.6) in order to open the SAMSUNG sub-folder.



Fig 1.6  Click on a sub-folder, or sub-sub-folder etc, to see its contents (Settings/Values) - DWORD Value(s), STRING Value(s) and so on.

In Fig 1.6 above I then went on to open the sub-folder SAMSUNG PC STUDIO, which is a sub-folder inside SAMSUNG, before clicking on the INFORMATION sub-folder. Clicking on the INFORMATION sub-folder revealed, inside the right window pane, the settings (VALUES) stored inside its settings file. Namely: Default, ImageHeight, ImageWidth and Model. The name given to each setting (VALUE) is easy to understand (i.e. Model, which has the value SGH-E350, is the model name of my Mobile Phone) but some software programmers tend to use more obscure names for their VALUES.

If you look at the status bar on the bottom of the Registry Editor window it shows you the path name for the currently selected sub-folder, INFORMATION, once a sub-folder has been selected. The path name is very important because when magazines and websites show you how to "Tweak The Registry" you should now have some idea of what they are talking about, in terms of "Go To This KEY and.....". Remember. KEY is just another name used for a folder and SUBKEY is another name used for a sub-folder.

If you want to close a sub-folder, to shorten the folder view, either click on the black arrow next to the sub-folder's name or simply double click on the sub-folder itself.

DELETE  A  SUB-FOLDER

Deleting a sub-folder (SUBKEY) is similar to deleting a sub-folder on your hard drive. Simply select the sub-folder you are interested in and then either press the DEL (Delete) keyboard key or right click over the selected sub-folder and use the DELETE menu-item from the Options menu that appears. Both methods will bring up the Confirm Delete Key window (Fig 2.1 below) where you need to click on the YES button in order to actually delete the sub-folder.



Fig 2.0  Right click over a sub-folder (SUBKEY) and then left click on the DELETE menu-item




Fig 2.1  Click on the YES button to delete the sub-folder (SUBKEY)

Treat a KEY and SUBKEY like a normal folder and sub-folder. So in this example SAMSUNG is a folder (KEY) in its own right but also a sub-folder (SUBKEY) within the SOFTWARE sub-folder (SUBKEY). In turn, SOFTWARE is a folder in its own right but also a sub-folder within the HKEY_CURRENT_USER sub-folder. As you go down a folder level you add a Sub- to it. So, by deleting SAMSUNG I am also deleting its sub-folders (EASY STUDIO and SAMSUNG PC STUDIO) and any VALUES (settings) contained within the SAMSUNG folder and its sub-folders.


You must be 100% sure that you are deleting a sub-folder that is no longer required by Windows 7 and/or any third party software. In this example I knew SAMSUNG belonged to my mobile phone only and was nothing to do with Windows 7 or any other third party hardware/software whatsoever. If some hardware/software was relying on the SAMSUNG sub-folder, and more specifically its VALUES, for example I would have to uninstall or disable that hardware/software if possible before deleting SAMSUNG. This is what is involved sometimes because of the fact that some hardware and software is related to other hardware and software, therefore you cannot just go around deleting parts (sub-folders and/or VALUES) from The Registry without knowing what software created them in the first place and whether or not they have relations.

SETTINGS  FILES  AND  VALUES

Settings Files are the back-bone of The Registry. They store the actual settings (VALUES) for a piece of hardware, piece of software or both (if they are related). Fortunately you do not have to concern yourself with the actual settings files because in normal circumstances you only edit/modify the settings (VALUES) within those files.

In Fig 1.6 above clicking on the INFORMATION sub-folder displayed the Information settings for my samsung mobile phone, in the right window pane, which were made up of the Datatypes DWORD and SZ. Just as you have FileTypes (Video files, Music files, Executable files and so on) for a file you also have DataTypes (Number or Text) for The Registry settings (VALUES). For example. The type of data (DataType) used in a DWORD is made up of four numbers whereas the type of data (DataType) used in a SZ is made up of a string of text known as a String. These are the two commonly used datatypes but there are others.

DWORD

A Number which is made up of four bytes (i.e 254,12,147,213) that when multiplied/combined result in a 32 bit number. Never mind the technicals of 32 bit number, to you and me it stores a number that hopefully means something. For example. INFORMATION has a setting called ImageWidth with a value of 128. This refers to the width of the image (picture) that is to be displayed inside the samsung software's (image preview window). In other words, the size (width) of the image preview window. That was a typical use for a DWORD.....to store the width, height or number of something (i.e the number of colours or users, the width or height of a window and so on).

SZ

A String Of Text. The value inside a String can be almost anything. In this example the setting called Model has a value of SGH-E350 - The model name of my samsung mobile phone. Strings normally describe something, contain a website link or contain the pathname to a piece of software but are not limited to these things.

MULTI_SZ

An array of Strings (String array/Multiple Strings) separated by a comma, space or other marking (i.e Red,Green,Blue). String arrays (Multiple Strings) are normally used to store multiple choices - Software programmers use them to give the user multiple choice options (i.e pick a colour, choose from the following options, etc).

BINARY

Raw Data that is normally only used by the software programmer. In normal circumstances you would not mess around with these values as their meaning is usually unknown to the user. For example. A binary value of 3,20,87,234,182,103,24 would probably mean nothing to me or you, but to a software programmer it could be your software preferences, something to do with software registration or whatever.

As said. There are other datatypes but you should never need to edit/modify them, as a beginner or advanced user, hence why I have not mentioned them.

To modify a setting simply double click on its name (or icon) to bring up the DataType window and then use its edit box to modify the value. If you are happy with your changes click on the DataType window's OK button to apply your changes, otherwise click on the CANCEL button or eXit button to leave the value unchanged. In the example below I have double clicked on the Model setting inside INFORMATION. From there I could of used the STRING Edit Box to change the value of Model but what would of been the point! It is the name of my mobile phone only.



Fig 3.0  Double click on a setting's name (or icon) to bring up the DataType window




Fig 3.1  The DataType window, with a STRING Edit Box for the String datatype/value.

To modify a Binary setting, Number setting and so on you do exactly the same as above; double click on a setting's name or icon to bring up the DataType window. From there you will have the correct type of edit box to use.



Fig 3.2  The DataType window, with a DWORD Edit Box for the DWORD datatype/value.

Fig 3.2 is showing a DWORD value of 80 for the setting ImageWidth. This is because it is showing the value in HexDecimal format and not in Decimal format - HexDecimal is the format used by a computer and Decimal is the format used by a human. To change the format, so that you can understand the value properly, click on the radio (circle) button marked DECIMAL.



Fig 3.3  To view the value in Decimal (Human) format click on the DECIMAL radio button

As you can see, the value of ImageWidth is now 128 - The number of pixels used in the image preview window of my samsung mobile phone software. So 80 HexDecimal is equal to 128 Decimal. Unless you are a programmer, and/or have been told to change a HexDecimal value, you are better off sticking to Decimal format. Knowing you have 128 dollars is reassuring (Decimal format) when you originally thought you only had 80 dollars! (HexDecimal format). These formats, together with words like KEY and SUBKEY, are not exactly encouraging you to use The Registry!

TWEAKS  AND  REGISTRY  CLEANERS

Now you know the structure of The Registry you should begin to realize what Tweaking programs do and what Registry Cleaners do.

Registry Cleaner

A Registry Cleaner looks through the registry (sub-folder) structure to try and find redundant/leftover (no longer used) entries (sub-folders and settings). It identifies redundant/leftover entries in a manner of ways. To delete my SAMSUNG sub-folder for example it would have to carry out checks. Is my mobile phone plugged in (in use)?. Is the samsung mobile phone software installed? Has a newer version of the software been installed without deleting the older version's entries, thereby leaving fragment/leftover entries. And so on.

A good registry cleaner does a thorough job of checking before deleting anything from the registry, whereas a bad registry cleaner deletes something it does not understand. Especially if it is trying to be too clever by claiming it can clean everything. For example. A bad registry cleaner might not of been updated with information on a new file format or the way a new piece of software creates registry entries, therefore it might think the new software's registry entries are bad/alien/virus/etc registry entries. A good registry cleaner on the other hand is one that has an update feature - The programmer keeps the registry cleaner informed of new software and its registry habits for example.

Registry Tweaks

A Registry Tweak is basically an edited/modified registry entry that improves the performance/functionality of a piece of hardware and/or software. A Tweak program goes through the registry editing/modifying certain settings in order to make claims that it has improved your modem speed, windows start-up time or whatever. Just as you have good and bad registry cleaners you also have good and bad tweakers. On the bad side they can tweak the wrong setting(s) and end up crippling Windows 7 and/or a piece of hardware/software. On the good side they can improve things, but only by a small percent in general.

A Tweak can be performed in two ways. Either by manually editing/modifying one or more registry entries (settings) yourself (as above) or by creating/using a file, with the file extension .reg, that has the edits/modifications already inside it. For example. If I want to edit ImageWidth I can manually edit it as explained in the SETTINGS FILES AND VALUES section above or I can create a .reg file that does the same job without me having to touch the registry entry manually (which is a little advanced for the beginner - If you do want to know how to create a .reg file though, and I encourage you to do so, here is an excellent article to learn by: How To Create A .reg File).



Fig 4.0  An example of a .reg file that has my samsung INFORMATION settings inside it

As you can see; My example registry file is only a text file created in Notepad. Instead of saving it as Samsung Mobile Settings it has been saved as Samsung Mobile Settings.reg. You can also see that its entries match those in Fig 1.6 and Fig 3.0 above. If I wanted to edit the values (settings) I would simply edit the values using Notepad before re-saving the file as a .reg file.

Once the .reg file has been created and saved you simply double click on it, from the folder where you saved it (i.e. inside the DOCUMENTS folder), and then answer YES to the UAC Security Requester that appears (not shown here, but explained at Fig 1.1 above) in order for the Tweaks (edited/modified settings) to be imported/merged/applied into the registry.



Fig 4.1  Double click on the .reg file to continue




Fig 4.2  Click on the YES button to continue




Fig 4.3  Click on the OK button to continue

If you look on the internet for Windows 7 Tweaks for example you may find manual tweaks and/or file tweaks. In the case of a file tweak simply download the .reg tweak file to your DOWNLOADS folder for example and then double click on it (as above) to apply its setting(s). Manual tweaks (as above also) are slightly more advanced than file tweaks because you have to locate the subkey (sub-folder) and setting, mentioned by the tweak author, yourself. A file tweak does everything for you.

CREATE  A  NEW  SUB-FOLDER

If you ever delete a sub-folder by accident or purposely and then want/need to recreate it, or if you just want to create a new sub-folder from scratch, first identify where you want it re/created. In the next example I will show you how to create a new sub-folder, called John, that will go inside the SAMSUNG sub-folder.

Begin by selecting the sub-folder (i.e. SAMSUNG) you want to create a new sub-folder (KEY) inside and then right click over it to bring up its Options menu. From there, hover over the NEW sub-menu and selected its KEY sub-menu menu-item. Doing so will create a new sub-folder, called New Key #1, with a default setting inside it called default - Default should not concern you though. It is created inside all new sub-folders.



Fig 5.0  Select a sub-folder for the new sub-folder to go inside and then use its right-click Options menu to create that new sub-folder

The next step is to rename the sub-folder, which is done in the same way as a normal hard drive folder (type its name), before pressing the ENTER keyboard key to set the new sub-folder's name (i.e John). You can also set the new sub-folder's name by clicking on another sub-folder or by clicking inside the white space (display area) of the settings window (right window pane).



Fig 5.1  Rename the sub-folder in the same way as a normal folder


Fig 5.2  Press the ENTER keyboard key to set the sub-folder name

With the new sub-folder called John now created, inside the SAMSUNG sub-folder, a new setting can be created inside it.

CREATE  A  NEW  SETTING

This next example follows in the footsteps of the previous example in that you might want to recreate a setting that has since been deleted, by accident or purposely. Or you might want to create a new setting from scratch, perhaps because a tweak on a website tells you to. Either way, begin by selecting the sub-folder where you want the new setting to be placed. In this example the newly created, and selected, John sub-folder is where I want to create a new STRING setting called Name.

With the John sub-folder already selected the next thing to do is use the EDIT menu to highlight the NEW sub-menu and then select the STRING VALUE sub-menu menu-item. This will create a new setting of datatype STRING, called New Value #1 (Fig 6.1 below), which you rename in the normal way. In this example I renamed it Name. After renaming the setting you then need to double click on it in order to change its default value, currently a blank string, as shown at the beginning of the SETTINGS FILES AND VALUES section above. In this example I put my name as the string value (Fig 6.2).



Fig 6.0  Select a sub-folder for the new setting to go inside and then use the EDIT menu to create a STRING setting




Fig 6.1  Rename the setting in the normal way




Fig 6.2  Double click on a setting and then enter a VALUE for it




Fig 6.3  More settings (values) added - Practise on a redundant sub-folder if possible.

Hopefully the above has shown you that The Registry is not a bad thing that goes around crippling your computer but is more a case of badly written software crippling your computer - Software written by novice programmers who are unfamiliar with the registry as a whole, for example, who do not take the time to research a tweak (i.e. they know how to code (edit/modify) the registry but do not fully understand what the setting actually does behind the scenes to someone's computer. They may know how to code a Speed-Up-Windows-7 tweak but may not know how the speed-up is achieved.....by forcing Windows 7 to do something it is not really designed to do for example). So the next time you curse Windows 7 for crashing or whatever just think "It could be the Registry Booster/Cleaner Program I have installed".