Dial A Fix Common Windows Fixes

No progress bar at Windows Update

If no green progress bar scrolls when attempting to check for updates at Windows Update (but the space for the progress bar is present), then the most likely cause is that the Background Intelligent Transfer Service (BITS) is not working properly, isn't started, or needs upgrading. Choose checkmark #3 in Dial-a-fix and click GO. Close and re-open Internet Explorer, and visit Windows Update again. The progress bar should appear and you will be able to download updates. Flushing Software Distribution also might help. Sometimes, however, a simpler solution is just to restart the computer.

NOTE: If you are using an older version of Windows XP (without Service Pack 2) or Windows 2000, you may need the BITS 2.5 update (Background Intelligent Transfer Service 2.5) before using Dial-a-fix checkmark #3. You can also ignore the "qmgr.dll registration" error you receive with Dial-a-fix until BITS has been updated.

You can also use the Flush SoftwareDistribution button to remedy some BITS problems. If you use this button, there will be a delay while at the Windows Update site while things rebuild themselves.

MSXML installation hangs

If Dial-a-fix seems to "hang" (or sits idle indefinitely) when installing either Microsoft XML Parser 3.0 or 4.0, it is somewhat normal, and can be easily remedied. In most cases, this is a Microsoft Installer (MSI) bug rather than a Dial-a-fix problem.

  1. In Dial-a-fix, click the red X so that all checkboxes become unchecked. Dial-a-fix is not locked up, but is merely waiting for a response from the XML parser installation package.
  2. Press CTRL+ALT+DEL to bring up Task Manager (2000/XP) or the Close Program dialog (98/Me).
  3. Highlight MSIEXEC.EXE on the Processes tab (2000/XP) or select the file name of the XML parser currently being installed (98/Me).
  4. Click End Process (2000/XP) or End Task (98/Me).
  5. Dial-a-fix will recover and continue.
  6. Checkmark the XML parser(s) you were unable to install before. Checkmark "Debug". Click GO. This will allow you to manually install the XML parser(s) and it will either successfully install, or you will be able to at least receive an error message that will allow you to understand why it hung in the first place.

If you continue to have issues with the installation of the XML parsers, contact the Dial-a-fix email address for further support. Alternatively, close Dial-a-fix, open the folder where you have stored Dial-a-fix full, and double click on the XML parser(s) that you were unable to install.

DCOM errors

{9B1F122C-2982-4E91-AA8B-E071D54F2A4D}

If you go to turn off your Windows XP computer and it hangs with just an hourglass (and if you wait 5-10 minutes straight the dialog would finally appear), press CTRL+ALT+DEL (or CTRL+SHIFT+ESC) to invoke Task Manager. In the Processes tab, right click on explorer.exe and choose End Process. After confirming the kill of explorer.exe, click File in the task manager, New Task (Run...), and type explorer.exe in the box and click OK or press Enter. When your desktop returns, launch Dial-a-fix (light version or higher). Checkmark box #3 (three) in Dial-a-fix, uncheck box #4 (four) and uncheck the Explorer/IE check in box #5 (five). You may also uncheck the two MSXML installations in box #3 (three) if you are using the full version of Dial-a-fix. You should now be able to shut down properly.

You may have also received an error in your Event Viewer regarding the DCOM server {9B1F122C-2982-4e91-AA8B-E071D54F2A4D}, which is CAutoUpdate Class 1.0. Registering the Windows Update DLLs usually fixes this, and the two problems are related.

DLL registration errors

Registration error 127

If you receive this error it simply means that Dial-a-fix is trying to register a file which is a different version than Dial-a-fix expects. In the case of older files, they may not have had registration capability before (such as old versions of qmgr.dll). In newer files, registration capability may have been removed. This is the case with newer versions of Internet Explorer (IE 7 and IE 8, namely) and other core Windows components. Microsoft has been removing registration capability from many core files recently. The current version of Dial-a-fix does not know what Internet Explorer 8 is, for instance, and will give you many error 127 dialogs for each file it can't register.

You can ignore 100% of the errors of type 127. Dial-a-fix has not changed your system at all because it is not possible to do so.


Unable to open or find file/path (error codes 2, 3, and 4)

This error usually occurs when a dependency for a given object is missing, the object is not the right version, or the object simply cannot be registered. The first thing you should do is checkmark 'Debug' and step through the registrations again, so that you can see the official regsvr32.exe error. If you are not able to determine the source of the problem, you may need to use a debugging tool such as Dependency Walker, re-apply the latest service pack for your operating system (if applicable), or install all available Windows Updates. In the worst cases, you may need to perform a "repair" install (also known as "overlay"; officially known as an "in-place upgrade"). Of course, none of that may be applicable, depending on the object in question. Contact the Dial-a-fix email address for further support.

To-do: add write-up about using Dependency Walker and create "in-place upgrade" article --DjLizard 21:03, 12 February 2006 (PST)

qmgr.dll

When using Dial-a-fix with Windows XP that does not have Service Pack 2 installed (and/or BITS 2.5 update, and/or Windows Installer 4.5), you may receive an error when attempting to register qmgr.dll. This is normal. Upgrade to Service Pack 2, BITS 2.5, Windows Installer 4.5, and install all of the latest updates from Windows Update and this error will go away. This can also happen on other Windows versions (2000, 98/Me).

Access denied (error code 5 / 0x80070005)

If you receive this error when Dial-a-fix is trying to register an object, the first thing you should do is attempt to run the "Repair Permissions" tool (found under the Tools dialog), as it can often correct this issue.

Malware can also cause this issue (on purpose, in an attempt to prevent you from fixing your computer) so you may want to scan with the latest versions and references of Lavasoft Ad-Aware, Spybot Search & Destroy, and/or Microsoft's Windows Defender

NOTE: Malware can be prevented from entering your computer by not opening e-mails from unknown senders, not visiting websites with questionable content (like porn, casinos, hacks or cracks) or downloading programs that appear to be freeware but are in fact not. If you read the users agreement or EULA carefully before installing you will be generally able to discern between programs that are truly freeware (like Dial-a-fix) and programs that will violate your privacy. Keep your anti-virus and anti-spyware programs up-to-date. Blocking questionable websites could help. Use, for instance, a program like Koffix Blocker.

DLL registration never finishes

If Dial-a-fix is trying to register a DLL and it never returns, then a very unusual situation has occurred. Since Dial-a-fix uses regsvr32.exe to register objects, it is unlikely that this will ever happen. So far, there has only been one known occurrence of this, and only DjLizard has run into it. There is currently no exact fix for it:

shell32.dll

If Dial-a-fix seems to idle indefinitely while registering shell32.dll on a Windows XP system, then:

  1. First, wait as long as you possibly can; some systems can take up to 120 seconds to register this file. If it won't finish, then:
  2. Press CTRL+ALT+DEL to open Task Manager.
  3. Select the Processes tab.
  4. Highlight regsvr32.exe, and click End Process. Confirm.
  5. Dial-a-fix will generate an error dialog because it was unable to complete shell32.dll's registration (usually with flags: "/n /i:U"). Close the error dialog.
  6. Continue to work on your system as normal, allowing the rest of Dial-a-fix's registrations/installations to complete.
  7. Visit Windows Update, and download all of the updates.
  8. Run CCleaner's "issues" scanner repeatedly, fixing all issues found, until there are no more issues. With any luck, you will be able to choose the Shell registration checkmark on Dial-a-fix and the shell32.dll will no longer hang.

NOTE: The Yahoo toolbar was added to the main CCleaner installation package as of version 1.27.260. Different versions (Standard, Basic and Slim) are now available for download at the above mentioned download location. You should choose the version without the Yahoo toolbar (Slim or Basic).

I was unable to find the exact fix for this problem because it corrected itself once I moved on in the above fashion. --DjLizard

Services

The service is stuck in a state of either stopping or starting, and thus cannot be immediately deleted and recreated by Dial-a-fix. When Dial-a-fix tries this, Windows flags it for removal on the next reboot, which also makes it to where nothing else can be done to the service. Once you reboot, you no longer even HAVE the service. It's just gone completely. This is actually a good thing - now you can reinstall it without any interference. For any given service that is marked by Windows because of Dial-a-fix wanting to change its state while stuck, you just have to reboot and then run the same section(s) in Dial-a-fix that you ran before.

HTTPS/SSL/Cryptography

If you receive any of the following error codes, either at the Windows Update site, or in the %systemroot%\WindowsUpdate.log file, then there is most likely a Cryptography service issue: 0x80096001, 0x80096005, 0x80096010, 0x800B0001, 0x800B0003, 0x800B0004, 0x800B0109, 0x8007f0da. You may also receive warnings about driver signing when connecting a hardware device that either requires no driver, or has a digitally signed driver. You may also be unable to visit HTTPS/SSL sites or use the Verify Code Signatures option in Sysinternals Autoruns (see below).

Start by checkmarking Fix SSL/HTTPS/Cryptography in box #4 and clicking GO. If this doesn't work, visit the following Microsoft Knowledge Base article for more solutions and details: KB 822798

If all else fails, perform a Repair install of the operating system by booting the installation CD and choosing 'R' for repair when prompted (not to be confused with 'R' for Recovery Console).

Windows Installer

There may be a time where you will need to delete the Windows Installer service. To do this follow the directions below.

  1. Click Start > Run, and type the following and click OK: msiexec /unreg
  2. Click Start > Run, and type the following and click OK: regsvr32 /u msi
  3. Whether it fails or succeeds, dismiss the next dialog that appears.
  4. Restart the computer into Safe Mode
  5. While in Safe Mode, click Start > Run, and type the following and click OK: cmd.exe
  6. When the black box appears, type the following lines and press enter at the end of each:
    cd \windows\system32
    del /f /a MSI.DLL
    del /f /a MSIEXEC.EXE
    del /f /a MSIHND.DLL
    del /f /a DLLCACHE\MSI.DLL
    del /f /a DLLCACHE\MSIEXEC.EXE
    del /f /a DLLCACHE\MSIHND.DLL
    exit
  7. Restart your computer as normal (no Safe Mode this time)
  8. If using a version of Dial-a-fix prior to v1.0, choose "Fix Windows Installer" and click GO
  9. Try to install Windows Installer 4.5

Registry permission issues

There are misbehaved software programs, as well as malware, that can remove permissions from important sections of the registry (such as HKEY_CLASSES_ROOT). The symptoms range from the inability to launch certain file types up to not being able to boot Windows. Fortunately, in all cases discovered to date, Safe Mode with command prompt works well for repairing these issues.

NOTE: It has been recently discovered that in many situations where malware is present, installing Symantec's Norton 2006 products will exaggerate this problem and cause the system to be unable to launch many file types, install software, or even boot at all. It is probably a tactic of the malware to protect itself from removal. It is sometimes difficult to repair. Booting into Safe Mode with command prompt is the first step to repairing it.

Preparations

Dial-a-fix also contains a tool for repairing permissions, and it works very well, except in cases where you are not able to execute the .exe file type. If this is the case, use the following instructions to restore the .exe association:

  1. Boot your computer as normal, but tap the F8 key before the Windows logo shows up so that the boot menu appears.
  2. Choose Safe Mode with command prompt. When (or if) the welcome screen appears, log in under any administrative account. If you saved Dial-a-fix to your user account's Desktop, login to that account.
  3. You will be presented with a command prompt, which is not unlike MS-DOS. Type the following commands:
    1. ftype exefile="%1" %*
    2. assoc .exe=exefile
  4. Both commands should merely echo what you typed back at you. This is an indication that they were successful. If you received an error, you may be unable to even launch the registry editor, which would be required to repair the .exe association.

Windows XP

If you type regedit in the command prompt, press Enter, and the registry editor appears, do the following:

  1. Right-click on the HKEY_CLASSES_ROOT key, and choose Permissions.
  2. If "Everyone" is not listed in the "Group or user names" pane, click "Add", type "Everyone" in the box, and click OK.
  3. Select "Everyone" in the user names list. Next to "Full Control", checkmark the box under the "Allow" column. Click OK. This procedure will take quite a while, and you may receive errors. Drill-down in the HKEY_CLASSES_ROOT key until you come to .exe. Right-click the .exe key, choose Permissions, and make sure that any (or as many as you can get) of the following have Full Control over the .exe key: "Everyone", <your user account>, Users, Administrators, Administrator.
  4. You may be able to now launch Dial-a-fix's Repair permissions tool (detailed below), which will now fix all of the remaining permissions problems, including resetting HKEY_CLASSES_ROOT back to its defaults (removing your temporary modifications).

Windows 2000

If you type regedt32 in the command prompt, press Enter, and the registry editor appears, do the following:

  1. Select the HKEY_CLASSES_ROOT window. Select the HKEY_CLASSES_ROOT key, click the Security pull-down menu, and choose Permissions.
  2. If "Everyone" is listed in the users box, checkmark "Full Control". Click OK. If "Everyone" is not listed, click Add, find "Everyone", add it, select "Everyone", and then checkmark Full Control.
  3. Click OK to apply the permissions. This may take quite a while, and it may generate errors, which you can dismiss.
  4. You may be able to now launch Dial-a-fix's Repair permissions tool (detailed below), which will now fix all of the remaining permissions problems, including resetting HKEY_CLASSES_ROOT back to its defaults (removing your temporary modifications).

NOTE: If you are using XP Home, Dial-a-fix full is required for the next steps. If you are using XP Professional, then the light version of Dial-a-fix will do.

  1. If you were successful with the previous steps, navigate to where you stored Dial-a-fix by using the 'cd' command. For example: if you had stored Dial-a-fix on your desktop in a sub-folder called "Dial-a-fix full", then:
    1. Type (including the quotation marks): CD /D "%userprofile%\Desktop\Dial-a-fix full" and press Enter.
    2. If you logged in under a different account or stored Dial-a-fix in a different location, you will need to change to the appropriate directory.
    3. Now type: Dial-a-fix.exe and press Enter.
  2. Open the Tools dialog in Dial-a-fix, and choose Repair permissions. With any luck, all of the registry problems will vanish.

Other application-specific issues

CCleaner

Q: The same items keep immediately re-appearing in subsequent Issues scans in CCleaner after attempting to remove them, what should I do?

(Please backup your registry using ERUNT (and understand how to restore it in case of a problem) before proceeding.)

A: Run the Repair Permissions tool in Dial-a-fix. This will fix it 90% of the time. If you are unable to run this tool, try it in "Safe mode with command prompt". Once you extract the Dial-a-fix archive, double click on Dial-a-fix.exe, click Tools, click Repair Permissions, and click GO. After the permissions repair completes, run a new issues scan in CCleaner -- do not remove the objects found by the scan that was performed before the permissions repair tool was run.

If CCleaner finds its own COM objects, such as CCListView, CCListBar, CCTab, etc, then the same answer also applies.

Spybot Search & Destroy

Q: When I try to install Spybot Search & Destroy, I get an error stating that RegCreateKeyEx failed (with error code 5, which means Access Denied), or other registry write errors.

A: Try the Repair Permissions tool in Dial-a-fix. This problem is usually caused by malware targeting the application, but Norton Antivirus 2006 has been known to cause it by breaking the permissions of HKEY_CLASSES_ROOT, as well.

If you have other registry permissions issues which have not been covered here, contact the Dial-a-fix email address.

Autoruns

Q: When using the Verify Code Signatures option in Sysinternals Autoruns, why do all files show up as "(Not verified)", and when used in conjunction with the Hide Signed Microsoft Entries option, why do hundreds of Microsoft entries still show up?

A: Your Cryptography service is not working: it's either not registered, isn't started, or is disabled. Checkmark Fix SSL/HTTPS/Cryptsvc (box #4) in Dial-a-fix (any version) and click GO. Restart Autoruns and it should then be able to properly exclude signed Microsoft entries, and check for valid signatures for all executables and libraries. This procedure will even work in Safe Mode.