HKCU\Software\Company\Product
File Types
File
types refer to the file extensions used by the program’s documents.
These extensions are associated with the program’s executable file so
that double-clicking a document loads the program and displays the
document. The extensions and file types are stored as subkeys within HKEY_CLASSES_ROOT.
If the application comes with OLE support, it will have a unique class ID, which will be stored as a subkey within HKEY_CLASSES_ROOT\CLSID.
Application-Specific Paths
In computing, a path
is a listing of the folders that the operating system must traverse to
get to a particular file. Windows XP uses a variation on this theme
called application-specific paths.
The idea is that if you enter only the primary name of a program’s
executable file in the Run dialog box (select Start, Run), Windows XP
will find and run the program. For example, WordPad’s executable file is
Wordpad.exe, so you type wordpad in the Run dialog box, click OK, and WordPad opens.
Note
A file’s primary name is the part of the filename to the left of the dot (.). For example, the primary name of the file Excel.exe is excel.
Windows finds the
program because the application’s executable file is associated with the
particular path to the folder in which the file resides. These
application-specific paths are set up in the following key:
HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths
Each application that supports this feature adds a subkey that uses the name of the application’s executable file (for example, Wordpad.exe). Within that subkey, the value of the Default
setting is the full pathname (drive, folder, and filename) of the
executable file. Note, too, that many applications also create a Path setting that specifies a default folder for the application.
Tip
It’s possible to set up your own application-specific paths.
Shared DLLs
It’s common for multiple applications to share common files such as a dynamic link library (.dll) or an ActiveX control (.ocx). Windows XP uses settings in the following key to keep track of how many applications are sharing a particular DLL:
HKLM\Software\Microsoft\Windows\CurrentVersion\SharedDlls
As you can see in Figure 1,
the name of each setting is the full pathname of a DLL (or whatever),
and the value is the number of applications that share the file.
During the
installation of most applications, the setup program checks to see
whether any DLLs that it requires are already on the system. If so, it
finds the appropriate settings within the SharedDlls key and increases their values by 1.
When you uninstall most applications, the uninstall program decrements the appropriate setting in the SharedDlls
key for each DLL used by the application. When the usage counter for a
DLL is 0, you see a dialog box asking whether you want to remove the DLL
file, as shown in Figure 2.
If you’re certain that the DLL was used only by the application you’re
removing, click Yes. If you’re not sure, click No. (How can you be sure?
The only way is if you compared the %SystemRoot% and %SystemRoot%\System folders before and after the install, as I described earlier.)
Caution
It’s
possible that a DLL with a usage counter of 0 could still be used by
another program, particularly a program that doesn’t know about the SharedDlls
Registry key. A better approach would be to make a note of the DLL’s
filename, click No, and then move the DLL to another folder. If none of
your programs misses the file after a while, it’s safe to delete it.
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall