Because the Registry is such an integral part of how hardware works in Windows NT and 95, there may be times when you need to change it to make different functions work. This chapter shows several of those options. Microsoft has to put out their operating system according to their best guess of how everyone would like it. If you try to do something they didn't anticipate, you can get errors. Those errors may require a change to the Registry.
The key to all troubleshooting is isolation. You need to isolate the problem to be able to fix it.
Most of the time, when you get a hardware problem in NT or 95, you get an error message. Some of the error messages are easier to decipher than others, and sometimes they give you no clue at all. Normally, though, at least the error message tells you what didn't work.
In Windows 95, the first thing to do is to restart the system. In many cases, restarting the system will reconfigure the Registry for you, and the problem may go away. Restarting is particularly helpful if you leave your system running all the time. It seems as if some of the challenges are cumulative, and the longer you leave your system running, the worse it gets. Restarting your system is a little like slapping it around to wake it up and take notice of what it is supposed to do.
After restarting, check the Device Manager in Control Panel | System. All of the hardware devices are there, and the configurations are accessible. If the configuration seems OK, check to see if the hardware is working correctly with its diagnostic program, or use a third-party diagnostic program to test it.
This section examines some problems that are associated with the Registry and its data. Each problem is in the form of a question, with its answer specified. In many cases, the answer can also be applied to other similar circumstances. Each question also indicates whether the problem is from Windows 95, NT, or both.
SOLUTIONS: When I start Windows 95, I get a strange error message that looks for a device file. It doesn't list a file, so I can't tell which file to replace. What do I do? If you have ever seen this error message, you've probably been bewildered:
Cannot find a device file that may be needed to run Windows or a Windows application.The Windows registry or SYSTEM.INI file refers to this device file, but the device file no longer exists.
If you deleted this file on purpose, try uninstalling the associated application using its uninstall program or setup program.
If you still want to use the application associated with this device file, try reinstalling that application to replace the missing file.
It would be easier if the file were listed. Because there is not one listed, it means that one of the StaticVxD (virtual device driver) values in the Registry is blank, contains only spaces, or contains corrupted information. The StaticVxD values are in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD key, as shown in Figure 15.1.
Figure 15.1. The StaticVxD values in the Registry of Windows 95.
The asterisk in front of the name means it is part of theVMM32.VXD
file.
Without one, it would be a regular file copied to the hard disk. If the problem entry
is part of VMM32.VXD, you will need to replace the whole file.
Remember that information in the Registry can be corrupted, and the best way
to protect
yourself is to have a backup of the Registry, as outlined in Chapter 4, "Protecting
the NT Registry," and Chapter 6, "Protecting the Windows 95 Registry."
SOLUTIONS: How do I fix a Registry access failed message? When Windows 95 is detecting hardware in Control Panel/Add New Hardware, I get the following error message:
SDMErr(80000003): Registry access failed.
To fix that Registry problem, you will need to use REGEDIT.EXE in real mode. Don't worry; it's not as bad as it seems. Restart your computer, and while it is booting, at the Starting Windows 95 message, press F8, and choose Safe Mode Command Prompt Only from the menu. At the DOS prompt, type REGEDIT /E REG.TXT and press Enter. Ignore any messages. At the next DOS prompt, type REGEDIT /C REG.TXT and press Enter. Restart your computer, and the Registry file data structures will have been regenerated, the Registry should work fine, and you will be able to detect new hardware.
REGEDIT.EXE in Windows 95 can also be run for other functions in real mode. For more options and instructions for its use in real mode, restart the system to Safe Mode Command Prompt Only and type REGEDIT /?. The help file will review all of the command-line options.
SOLUTIONS: I changed the role of my system in the File System section of the Performance section in the System applet in the Control panel, and my performance went down. What did I do wrong? Assuming that you chose a value that reflected the actual nature of the work you do, it wasn't you. To choose a performance profile, select Control Panel | System | Performance | Advanced settings | Typical role of this machine, and you will see the dialog box pictured in Figure 15.2.Figure 15.2. Changing the performance characteristics of your Windows 95 system.
If that doesn't change the performance of your system, there is probably a corrupted value in the Registry. The NameCache and PathCache values in the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\
FS Templates key control how the performance functions work. The keys Desktop, Mobile, and Server hold the necessary information. Desktop shows
no values for NameCache or PathCache because the default performance characteristics are set for a desktop system. For a Mobile or docking system profile, use the following data in the Mobile key.
Value Name Value Data NameCache 51 01 00 00 PathCache 10 00 00 00
In the Server key, the data for the Network Server profile should be the following.
Value Name Value Data NameCache a9 0a 00 00 PathCache 40 00 00 00
If any of the settings are not correct in your system, your performance will suffer greatly.
Setting the performance options will greatly affect your system performance, and then you can be sure that your settings are correct and you are actually getting the performance you requested. Another performance tip is to use a logon script to map all of your network drives and printers to drive letters and printer ports. Occasionally, there are problems with how the requests are handled.
SOLUTIONS: When my logon script in Windows 95 tries to set up my printers on the network with a NET USE LPT2: \\Server1\Laser command, I get an error that says the device does not exist on the network. I know it does, because it works from other machines. What can I do? This error happens when you use a port that is not actually on your system. Of course, having additional printers other than what you have the capacity for is part of why we have networks. A simple change will make it so your system can use any virtual port for assignment to a network printer. To fix the error condition, you could either change each printer in the Control Panel | Printers | File | Properties | Details | Port Settings and deselect the Spool MS-DOS Print Jobs option, or you could change the Registry one time for all printers on that system. The Registry change is in HKEY_LOCAL_MACHINE\System\CurrentControlSet\ control\Print\Printers. Add two DWORD values, and set them both to 0 to disable the spooling of MS-DOS print jobs.
DOSSpoolMask
PrintersMask
Even though you may use your printers only for Windows print jobs, this will make your system recognize them when they are set up in your logon script. If you connect to your printers through the Control Panel function for printers, you will not need to do this.
Most of the time, servers are not used to run applications. In some circumstances, however, it is necessary to use them as a workstation. It may be that you have a very small network and cannot dedicate a system exclusively to the network, or maybe you need to run applications at the server occasionally because of its location or connections. NT Server is tuned differently than Workstation to handle its role more effectively. That tuning may make the system behave a little differently than you might expect. The next Solution shows that.
SOLUTIONS: Why does it take so long to launch my 16-bit Windows applications on my server? By default, the Windows-on-Windows (WOW) function does not start on a server until an application that is using it starts. Then, after it starts, it will stay in memory ready to be used until the system is restarted. On a Workstation, the WOW files are automatically launched at startup. If you are going to be using 16-bit Windows applications at your server, and you want them to launch faster, change the Registry. The value to change is in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ WinLogon. In the Userinit value, add the following text to the rest of the data.
,win.com wowexec
With the data in the value, it will look like Figure 15.3, and the server will start your 16-bit Windows applications faster.Figure 15.3. The server will automatically start the WOW executables.
Just because you are upgrading your operating system software, that doesn't mean you want to change all of the other application software or your hardware. Backward compatibility is a two-edged sword. You always limit performance when you ensure that older devices and software will work. On the other hand, if your current investment in hardware and software will not work on the new OS, it might not be a wise decision to upgrade. Here is another example of making backward compatibility work.
SOLUTIONS: I want to use my old modem with NT 4.0, but it says it is not supported. It worked in NT 3.51, so what do I need to do to make it work? NT 4.0 uses the UNIMODEM driver for all the modems it supports. Those are the same drivers that work for Windows 95. If you have a Windows 95 driver for your modem, you could just use that, or you can make a change to the Registry that will allow you to use the older modem. In HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\RAS\Protocols, add a new REG_DWORD value called EnableUnimodem. Set it to 0 to turn off the UNIMODEM driver requirement, and restart your system. After restarting your system, install the driver for your modem.
Fonts in Windows 95 and in NT 4.0 are stored in the Fonts folder and registered for use in the Registry. If the Font ID gets corrupted in the Registry, you can restart your system, as illustrated in Chapter 3, "Potential Registry Problems." The next question is also related to fonts, but is associated with font entries in the Registry.
SOLUTIONS: On my Windows 95 system, and also on my NT 4.0 system, I try to add TrueType fonts, and I get an error message that says they are already installed, and that I need to remove the old ones first. I checked in the folder, and they are not there and do not show up when I try to use the fonts in my applications. What should I do? You will need to fix the Registry. The fonts key is either missing or damaged. Before working on the Registry, move all the font files to another location (an empty folder is the easiest). If the fonts key is in the Registry, remove it and then add it again. If it is not there, then add it. Add the fonts key to HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion in Windows 95. In Windows NT 4.0, add the fonts key to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion. Install all of the fonts that you moved, and the system will rebuild all the values for you. Make sure you have the Copy fonts to Fonts folder selected. Then you can remove all the fonts in the temporary folder.
By fixing the Registry, changing entries, and adding keys and values as needed, you can change the way Windows NT and Windows 95 work. You will be able to improve performance, add options, correct errors, and eliminate pesky problems.
© Copyright, Macmillan Computer Publishing. All rights reserved.