CHAPTER 28
Troubleshooting Software Problems

Most programs designed for Windows 7 and 8.1 (and possibly Windows Vista) work with Windows 10. However, not all programs that were designed for Windows XP (or earlier versions of Windows) work with Windows 10. This chapter helps you troubleshoot problems with programs running on Windows 10.

Troubleshooting Installations

Avoid installing utility and security programs unless they're specifically written for Windows 10. (Most basic application programs run fine.) If you can't get an older program to install, or it doesn't work after you install it, check the program manufacturer's website to see if a Windows 10 version is available. Or, use the methods discussed in Chapter 24 to configure settings that might enable the older program to run on Windows 10. Or, consider installing and using Windows XP Mode using Hyper-V to run the application. If these steps fail, you can take some general troubleshooting steps to get the program working properly.

Troubleshooting Programs

Because so many programs are available for Windows, no troubleshooting magic bullets exist that solve all problems. Every program and every problem is unique, but pinpointing what's causing the problem is often easy.

One of the most common mistakes users make is that they don't invest time in learning how to use a program. They guess and hack their way through it, and when the results aren't what they expected, they think something is wrong with the program. In fact, the problem is that the person using the program has no clue how to use it correctly. Troubleshooting can't fix ignorance; only learning can fix that.

Most programs have their own built-in Help feature for a reason — because every program is unique. The only ways to get information about a specific program are from the Help that came with that program or from the support website for that program. The Help feature, which is usually the last item on a menu bar or tab, provides all the Help options available to you.

The whole concept of troubleshooting applies only when you do know how to do something, but the program isn't working the way the documentation says it should.

The trick is to explore a number of different avenues for help. No book, web page, person, place, or thing has all the answers to all questions, nor the solutions to all problems. Sometimes you have to dig for a solution. Start with the narrowest, simplest solution and work your way out from there, as follows:

  • Try the Help that's available from the program's menu bar or tab.
  • Try the program manufacturer's website. You may want to try searching www.bing.com, http://support.microsoft.com, or http://office.microsoft.com for Microsoft Office products. At the program manufacturer's website, look around for other support options such as Frequently Asked Questions (FAQs), troubleshooting information, and discussion groups or newsgroups.
  • For Microsoft products, go to http://support.microsoft.com and click a product link for links to support for particular products. A great resource for Microsoft products is the Microsoft Community “Answers” website (as shown in Figure 28.1) at http://answers.microsoft.com. This page takes you to areas for specific products where you can post questions and get answers.
image

FIGURE 28.1 The Microsoft Community website.

Don't forget, too, that you can search the entire planet using a search engine like Google or Bing. However, when you're searching the entire planet, use as many exact, descriptive words as possible in your search. Otherwise, you'll get links to more pages than you can visit in a lifetime. Include the product name, version number, and specific words that describe what you're looking for.

When searching the web, use specific keywords and skip the noise words like how. For example, if you're looking for help with Mail backups, get all the appropriate words into your search, as in “Backup Mail.” To find specific phrases, enclose the phrase in quotes. Be as specific as you can be. The more specific you are when typing your search words, the better your results will be.

Researching Application Errors

Many software errors provide hexadecimal error numbers in their error messages. Sometimes, searching for the number doesn't do any good. The title bar may provide some clues as to what caused the problem. Look through the error messages for unique keywords that you can enter into support search engines.

Searching for a combination of the program name and keywords from the error message text can sometimes provide clues. You may want to start with a narrow search, such as http://support.microsoft.com, to avoid getting too many hits. If that doesn't work, you can broaden the search to all of Microsoft.com (www.bing.com). If all else fails, you can search all five billion (or so) pages in Google's index at www.google.com.

But the key thing, in all searches, is to get unique words from the message into your search string. For example, if searching for the hexadecimal memory addresses from the error message doesn't return useful results, you can try a combination of other words. If you keep getting results that are clearly not germane, such as pages about UNIX system problems when you're searching for a Windows issue, preface the keyword you want to exclude with a minus sign. For example, searching Google using “Windows 10 backup restore –UNIX –Linux” returns a list of pages that contain the words Windows, 101, backup, and restore, but not pages that also include the words UNIX or Linux.

Ideally, try to dig up as much information about the error as you can via the web. Search the company's website; because they created the application, they may be able to provide additional information.

Editing the Registry

After researching a software problem, you may find that the solution involves a “Registry hack,” also known as “editing the Windows Registry.” This is serious business with little margin for error. Never attempt to fix a problem by guessing at a Registry hack. When you get specific instructions on making a Registry change, make sure you make exactly the change indicated in the message. Even the slightest typographical error can cause a world of problems. If you're not a technical person and don't want to risk creating a big mess you can't rectify, consider hiring a professional to resolve the problem. In any event, if you're going to make a Registry change, back up your Registry by doing a System Image backup as described in Chapter 19. File History also keeps a copy of your Registry (see also “Backing up the Registry,” later in this chapter).

Before you launch into Registry hacking, you need to understand what the Registry is and how to work with it. First, be aware that the Registry is a database where Windows and other programs store data that they need to operate properly on your computer. The average computer user typically doesn't need to know that the Registry exists. Absolutely nothing about the Registry is user friendly. Microsoft provides the Registry Editor described in this chapter because programmers and other IT professionals occasionally need to view or modify Registry entries.

How Registry data is organized

The Windows Registry comprises several hives, each of which holds specific types of data. Within each hive, the registry uses keys and subkeys to organize data. Just as a folder can contain subfolders, a key can contain subkeys.

The Registry doesn't store files or documents, however. Instead, it stores values. Some of these values make sense to the average user, but some do not. For example, if you have Microsoft Office 2013 installed, a value in the Registry stores the path to the Office installation folder, and the value is typically C:Program FilesMicrosoft OfficeOffice15. That's easy to understand. However, you also find values in the Registry that look something like {89820200-ECBD-11cf-8B85-00AA005B4383}!8,0,7100,0, and it's highly unlikely that this value means anything to you. But whether the value of a Registry entry makes sense to you, it makes sense to the application that is using the value, and that value must be entered exactly as required.

Hives, keys, and subkeys

We get into the specifics of editing the Registry in a moment. But first, Figure 28.2 shows an example of the Registry Editor as it might look when you first open it. The names listed down the left column are hives. As defined by Microsoft, a hive is a logical group of keys, subkeys, and values in the Registry that has a set of supporting files containing backups of its data. So, each hive contains keys, subkeys, and data. Each hive stores a particular type of information, as summarized in Table 28.1. Note that most keys have a standard abbreviation, such as HKCU for HKEY_CURRENT_USER.

image

FIGURE 28.2 Standard hives at left in the Registry Editor.

TABLE 28.1 Standard Root Keys

Name Abbreviation Description
HKEY_CLASSES_ROOT HKCR Stores information about document types and extensions, registered programs that can open each file type, the default program for each file type, and options that appear when you right-click an icon.
HKEY_CURRENT_USER HKCU Stores information about the person who is currently using the computer, based on which user account that person is logged in to, and settings that particular user chose within his or her account.
HKEY_LOCAL_MACHINE HKLM Stores information about all the hardware that's available to the computer, including devices that might not be plugged in at the moment.
HKEY_USERS HKU Stores information about all users, based on user accounts you've defined via the Control Panel.
HKEY_CURRENT_CONFIG N/A Similar to HKEY_LOCAL_MACHINE, this key stores information about hardware available to the computer. However, this key limits its storage to hardware that's connected and functioning currently.

When you click the gray triangle next to a hive, the hive expands to display its keys. Most of the keys have subkeys, and those subkeys may also have subkeys of their own. In that case, the subkey itself has a gray triangle, as well, which you can click to see another level of subkeys. For example, in Figure 28.3, the HKEY_CLASSES_ROOT key is expanded to reveal its subkeys. Each subkey represents a particular file type in that case. A few subkeys are also expanded in this example.

image

FIGURE 28.3 The HKEY_CLASSES_ROOT and some subkeys expanded.

Often, a reference to a specific subkey is expressed as a path, in much the same way that a file's location and name are expressed as a path. For example, the path to a file might be expressed as C:Users tidrowPicturesSummit01.jpg. The path tells Windows exactly where to find the file Summit01.jpg in my Pictures folder.

A registry path is the same idea, and even uses backslashes to separate the key and subkey names. For example, the highlighted subkey in Figure 28.3 is at ComputerHKEY_CLASSES_ROOT*.

Sometimes you see instructions telling you the path to a key or subkey, as in HKEY_CURRENT_USERControl PanelAppearanceSchemes. You have to manually expand each folder down the path to get to the subkey. Figure 28.4 shows the result of following that sample path. The values in the Data column for that key are mostly binary numbers — a good example of just how user unfriendly the Registry can be!

image

FIGURE 28.4 The HKEY_CURRENT_USERControl PanelAppearanceSchemes subkey selected.

Key values

The data stored in a subkey is called a value. The value is a specific piece of information that can be stored as a string (text) or a number. However, the terms string and number don't tell the whole story because those types can be further broken down into the specific data types listed in Table 28.2.

TABLE 28.2 Registry Value Data Types

Name Data Type Description
Binary value REG_BINARY Raw binary data used mostly by hardware components. Often displayed in hexadecimal format.
DWORD value REG_DWORD An integer often used to store parameters for device drivers and services. Subtypes include related types such as DWORD_LITTLE_ENDIAN and REG_DWORD_BIG_ENDIAN with the least significant bit at the lowest/highest address, respectively.
Expandable string value REG_EXPAND_SZ A variable-length string often used to store data for application programs and services.
Multistring value REG_MULTI_SZ A string that actually consists of multiple substrings separated by spaces, commas, or other special characters.
String value REG_SZ A simple fixed-length text string.
Binary value REG_RESOURCE_LIST A series of nested arrays (lists) often used by hardware and device drivers. Usually displayed in hexadecimal.
Binary value REG_RESOURCE_REQUIREMENTS_LIST A series of nested arrays (lists) containing a device driver's hardware resources, displayed in hexadecimal.
Binary value REG_FULL_RESOURCE_DESCRIPTOR A series of nested lists of actual hardware device capabilities, usually displayed in hexadecimal.
None REG_NONE Data with no particular type that's displayed as a binary value in hexadecimal.
Link REG_LINK A string naming a symbolic link.
QWORD value REG_QWORD A 64-bit number displayed as a binary value.

In the vast majority of situations, you work with strings, DWORDs, or QWORDs when you create or modify Registry entries. Entering a string in the Registry is just like entering characters in a text box. When you enter DWORD and QWORD values, however, you enter those either as a decimal or a hexadecimal value. We don't go into detail about the differences here, and if you want a clearer understanding of hexadecimal numbering, a quick search on the web will turn up lots of explanations and examples. Keep in mind that when you edit a DWORD or QWORD value, you need to choose the option that matches the value you're entering. Figure 28.5 shows an example of a value entered as a hexadecimal number.

image

FIGURE 28.5 The Edit DWORD (32-bit) Value dialog box.

If the troubleshooting steps that you're using direct you to enter a decimal value, click the Decimal option and then type the value specified. If you need to enter a hexadecimal value, click the Hexadecimal option before you type the value.

Backing up the Registry

Every time you start your computer, Windows automatically updates the Registry based on the hardware and software available to it. Then it makes a backup copy of that Registry. When you plan to manually change the Registry, you should also make a backup copy of the Registry just before you make your change. When you're editing the Registry, you have no margin for error. Even a tiny typographical error can have far-reaching, unpleasant consequences.

You need administrative privileges to edit the Registry. The program you use is named regedit. You can start it using either of these methods:

  • Type regedit in the Cortana search field and click regedit.exe on the search screen.
  • Press Windows+X, choose Run, type regedit, and press Enter.

The Registry Editor opens. You should always make a backup of the Registry before you change anything. It's easy to do:

  1. Choose &cmdarr; Export from the menu bar in the Registry Editor.
  2. Choose a folder and enter a filename of your own choosing.
  3. To export the entire Registry, choose All under the Export Range heading.
  4. Click the Save button.

That's it. In the event of a disaster, you can choose File &cmdarr; Import from the Registry Editor's menu bar to restore the entries you copied in the preceding steps.

Making the Registry change

You can change any value in the Registry. First, you need to find the appropriate subkey. For example, say that you've found the solution to a problem via Microsoft's website. Part of that solution involves changing a value in the following subkey:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun

The first step is to get to the subkey by expanding the HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion node. Then click Run. The pane to the right shows values in the subkey. The status bar shows the complete path name, as in Figure 28.6.

image

FIGURE 28.6 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun selected.

To change a subkey's value, double-click that value. A dialog box opens, allowing you to make a change. The appearance of the dialog box depends on the type of value you're editing. Figure 28.7 shows a general example.

image

FIGURE 28.7 The dialog box to edit a string value.

The Value Data box contains the value you can edit. Make your change there and click OK. Then close the Registry Editor. You've finished making your Registry change.

Whether you see any change on the screen depends on the value you changed. Many Registry hacks have no effect until you restart the application or the computer.

If it turns out that you created more problems than you solved, you can restore your Registry from the backup you made. Open the Registry Editor and choose File &cmdarr; Import to import the backed-up Registry file. Otherwise, if all seems well, you can delete the backed-up Registry file.

Troubleshooting Tips

One important approach helps ensure your troubleshooting success: You must be methodical.

Don't change program settings, Windows settings, or Registry settings; delete files; or take other actions without an understanding of what the Registry is and how to use it. Just as important, don't make lots of changes at once. Instead, make a single change, see if it fixes the problem, and then try the next change if needed.

Here are some key pieces of advice:

  • When searching the web for answers, be as precise as possible. Include as many keywords as possible that are related to the issue. If you receive an error message, enclose the exact error message in quotes in your search.
  • Ask yourself what has changed. Did you add something new? Did you change a setting? Knowing when the problem started occurring and what changes happened right before it began can give you a great head start on finding the solution.
  • Make one change at a time, testing the problem after each change to see if it's been resolved.
  • Keep notes. As you make a change or test something, make a note of it so you'll know what you changed and when.
  • Don't be surprised to find that what appears to be a single problem is actually multiple problems.
  • Use restore points to restore your system to the state it was in just before the problem started occurring.
  • Make backups of your critical data before you make any drastic changes.
  • Make backup copies of the Registry key in which you're about to make changes before you make those changes.

Wrapping Up

As you work in Windows 10, you'll notice that some older programs run better than others. Generally speaking, programs designed for Windows Vista, Windows 7, or Windows 8.1 work with Windows 10. You may find, however, that not all programs that were designed for Windows XP or earlier versions of Windows work with Windows 10.

This chapter discussed how to troubleshoot software problems in Windows 10. Specifically, this chapter discussed the following:

  • How to troubleshoot problems that may occur during software installation.
  • How to troubleshoot problems with programs running under Windows 10.
  • How to research application errors that occur under Windows 10.
  • How to edit the Windows Registry.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset