User Interface Any sections that are grayed out for you do not apply to your particular version of Windows. Example: the "CryptSvc" service doesn't exist in Windows 2000, and thus you cannot Start or Stop it. (You can, however, register the DLLs that belong to those cryptography-related functions.) Windows XP has all functions enabled, so all of the information below will apply to it. Prep Image:daf1.png This section serves only as a reminder to you; your temp folder needs to be emptied and you need to verify that the year is correct. An incorrect year can cause issues with SSL certificates like those used to receive Windows Updates or visit secure sites (such as banking websites). MSI The Microsoft Installer service (MSI) handles installation and scripting of .MSI files. MSI installation packages have several advantages over legacy scripted installers such as additional features for administration and deployment. The Microsoft Installer service is also used to install Windows Update patches. If this service doesn't work, neither will Windows Update. Image:daf2.png * Dial-a-fix always attempts to stop services before making changes to them, however you are free to choose the options that you need at the time. * After stopping "MSIServer", Dial-a-fix will unregister the service using its own command: msiexec.exe /unreg. * To re-register the service, Dial-a-fix executes msiexec.exe /regserver and then registers the DLL msi.dll. * If you wish to register msi.dll yourself, click Start, then Run, and type regsvr32 msi.dll or use the "Reregister Windows Installer" checkbox in Dial-a-fix. WU/WUAU WU/WUAU stands for "Windows Update/Windows Update: Automatic Update". Obviously, both manual updating (through Windows Update) and the automatic updater are covered in this section. Image:daf3.png * Several services have to be configured and given appropriate permissions before they can be brought back up again, so this is done while the services are being stopped. If you mouseover the "Stop services" checkbox here (when it's not grayed out), you can see every equivalent command that you could perform to take the same action. This is as "open source" as Dial-a-fix gets. * As usual, several DLLs are required to make both WU and WUAU work correctly. Several of these DLL registrations serve multiple purposes (such as the XML DLLs). Example: the Microsoft Management Console (MMC.exe) won't work properly unless MSXML3.dll is properly registered. Windows Update won't work without these libraries either. * The Flush SoftwareDistribution button will erase all of the data that WU/WUAU has collected about which patches you need, which ones are already downloaded but not yet installed, and which ones still need to be downloaded. If you're constantly being told by Windows Update to install the same patches over and over again, or you don't actually meet the prerequisites to even be installing them, then flush the SoftwareDistribution button. If you find out through Event Viewer that the DataStore.edb file is corrupted, then flushing SoftwareDistribution will take care of this. * If you click Flush SoftwareDistribution, it will ask you if you wish to preserve your Windows Update history. This history is stored locally on your computer. The only purpose it serves to you is that you can look through all of the patches you've installed when you click on your update history at the Windows Update website. It also maintains a database of patches that you need. You can answer 'yes' if you want to keep your history, but if you are having a problem with DataStore.edb, you have no choice but to erase the history. SSL/HTTPS/CryptSvc The Cryptography service didn't exist as an actual Win32 service until Windows XP, but it's been around since Windows 98. I'll refer to the Cryptography service as the collection of libraries that perform security functions in Windows, such as: * Code signing * Driver file signature verification * SSL certificate verification which is used when visiting secure sites, such as banking sites (IE only; Firefox and Opera have their own internal SSL functionality) Image:daf4.png * The second root catalog folder, %systemroot%\System32\CatRoot2 can become inconsistent and per the Microsoft knowledge base, you can empty it by checkmarking "Empty System32\Catroot2" in Dial-a-fix. * In versions of Windows that do not contain an actual "CryptSvc" service, the DLL registrations are the only means for Windows to be able to use cryptography functionality Registration center This section contains miscellaneous DLL registrations that do not fit under one of the main categories. It is possible to discover system problems that may not have been obvious before. This version of Dial-a-fix is not able to do or suggest very much about errors detected in this section, but you can use tools such as Dependency Walker and the System File Checker to root out missing or corrupted files - the most common cause of error dialogs while processing this section. Image:daf5.png The toolbar Image:daftoolbar.png From left to right: * "GO" - starts processing all checkmarked items * Double green checkmark: "Check all" - turns everything on * Red X: "Uncheck all" - turns everything off * "Policies" - opens the policy scanner. Dial-a-fix scans for policies on startup and pops this dialog up if you are afflicted. If you choose not to change any of your policies at that time (and close the dialog), you can get back to it here. * The hammer button: "Tools" - opens a secondary dialog with quite a bit more powerful scripts * The piece of paper button: "Log" - allows you to view, save, copy, or clear the log pane that Dial-a-fix keeps while processing * The question mark cloud: "Help" - shows you an introduction to Dial-a-fix, a list of downloadable system files, and some thanks/acknowledgments. Not very helpful, is it? Dial-a-fix is an advanced utility for 32-bit versions of Microsoft Windows written by DjLizard in Borland Delphi 7 that repairs various Windows problems, such as: * Windows Update errors and problems with Automatic Updates * SSL, HTTPS, and Cryptography service (signing/verification) issues * COM/ActiveX object errors and missing registry entries * and more. Dial-a-fix (hereafter known as "DAF") is a collection of known fixes gleaned from Microsoft Knowledgebase articles, Microsoft MVPs, and other important support forums, that will assist you in repairing problems with your system. Although this tool is ordinarily meant for power users, technicians, and administrators, it is quite safe to use even without technical guidance (although guidance is recommended). Simply choose the solutions you wish to apply via checkmarks, and click GO. There are other buttons and tools present on the main dialog as well, such as the policy scanner. All tools and checkmarks identify their purpose when you mouse over them. DAF's primary philosophy is to fix problems by setting various things back to their original Microsoft defaults. DAF currently does not interface with or repair any third party programs (and there are no plans to do so). DAF works on all pertinent 32-bit versions of Windows: 98, 98SE, Me, 2000, XP, and Server 2003. Dial-a-fix dynamically disables functions that are not applicable to your version of Windows. The version of Windows with the most support and functionality is currently Windows XP. Contents [hide] * 1 Disclaimer * 2 Support * 3 License * 4 WARNINGS o 4.1 Integrity checklist + 4.1.1 Verify the integrity of your memory modules + 4.1.2 Note the S.M.A.R.T. status of your system drive + 4.1.3 Verify the integrity of your filesystem # 4.1.3.1 2000/XP method one # 4.1.3.2 2000/XP method two # 4.1.3.3 98/Me + 4.1.4 Backup critical data + 4.1.5 Undo changes you made to system files + 4.1.6 Create a complete System Restore point (XP) + 4.1.7 Backup your registry (98/Me) + 4.1.8 Flash your system BIOS + 4.1.9 Scan for viruses and spyware + 4.1.10 Install all service packs and updates * 5 Known issues * 6 Object registration and policy statistics * 7 Mirrors/download locations, and articles o 7.1 Download Dial-a-fix * 8 User Interface o 8.1 Prep o 8.2 MSI o 8.3 WU/WUAU o 8.4 SSL/HTTPS/CryptSvc o 8.5 Registration center o 8.6 The toolbar Disclaimer DjLizard, the author of Dial-a-fix, can make no warranties (express, written, or implied) as to the stability or accuracy of the program. However, all efforts have been made to prevent data loss or instability resulting from the use of this program. Under no circumstances will DjLizard or any affiliates of this network be held liable for any direct, indirect, or financial losses resulting from the use of, or inability to use, the program. It is solely the user's responsibility to have backups of important data. Support For support, visit the Lunarsoft forums and post in the dedicated Dial-a-fix support forum. You can ask any questions about DjLizard.net software, post logs from Dial-a-fix, or give suggestions. License Dial-a-fix is 100% freeware to use and redistribute, as long as the file is unmodified (the MD5 sum can be found below) and as long as no money is being charged for access to the file. No mirrors of Dial-a-fix are necessary at this time. When referring to Dial-a-fix, please link to this wiki page rather than directly to the file. It is completely free for personal or corporate use, however, under no circumstances will I take any responsibility for your use or inability to use Dial-a-fix, and its results (or lack thereof). Dial-a-fix will always be free to use. WARNINGS It is highly recommended that all users read this section in full before running Dial-a-fix. Dial-a-fix is designed to be easy to use (although its options seem daunting at first - ask for help at the Lunarsoft forums if necessary!), but it is highly recommended to use it under the guidance of a technician. Although Dial-a-fix by itself can pose no harm to your system, there are situations which Dial-a-fix simply cannot account for. If you have experienced exaggerated problems due to the usage of Dial-a-fix, contact a computer technician immediately (preferably one with experience using Dial-a-fix, and more preferably the Lunarsoft forums). The following is an incomplete list of examples of known problems that can cause Dial-a-fix to exaggerate or expose issues on your system: * Hard drive integrity problems, possibly including but not limited to: o Registry entry corruption o Filesystem corruption, possibly leading to: + System file corruption + Registry hive corruption * Memory module failures * Other hardware failures (video card, motherboard, processor, modem, etc) * Use of Dial-a-fix on an unsupported platform (such as Windows XP x64; 32-bit XP with a 64-bit processor is fine, however) * Use of Dial-a-fix with unsupported beta software If you have experienced more issues than you started with after using Dial-a-fix, post on the Lunarsoft forums (in the Dial-a-fix section). Be prepared to submit thorough reports of all events, including information about your operating system version and service pack level, the sections in Dial-a-fix that you have executed, the original problem, and the new or resulting problems. If you have already resolved the problem by more drastic measures (such as formatting your hard drive and reinstalling Windows) please continue to consider Dial-a-fix for your future problems, as it is highly unlikely that Dial-a-fix directly caused the issues resulting from its use. Dial-a-fix is not likely to be the source of the additional issues, as it only performs procedures recommended and supported by Microsoft, Microsoft MVPs, and other highly respected members of the Windows internals community. These procedures include, but are not limited to: registering DLLs/COM objects, stopping, re-registering, starting, and configuring services to their original Microsoft-supplied defaults. NOTE: Hardware has the distinct ability to be "slightly defective". That is to say that it is entirely possible for hardware problems to be extremely intermittent. It is advisable to have the integrity of your system checked out before using Dial-a-fix. Integrity checklist Here is a list of the things (in order) that you should do and be aware of before using Dial-a-fix. This list exists because of the tendency to blame whatever is sitting right in front of you (i.e., Dial-a-fix) rather than what is actually happening behind the scenes (such as a hardware failure). It is not required that you do any of these steps, and you may wish to have a computer technician review them with you instead of doing them yourself, but it will save DjLizard a lot of extra work in the long run if you are aware of your own computer's instabilities before requesting support. Verify the integrity of your memory modules Download Memtest86+. You can create a bootable CD-ROM or floppy disk. Boot to the disk/disc you have created and make sure that Memtest86+ passes its complete memory test at least 5 times. More passes, obviously, are better. Memory, like any other hardware, can truly be slightly defective. If you find one or more errors while using Memtest86, remove one of the memory modules in your system and run the test again until you can prove which memory module(s) is/are at fault. Consult a local PC technician if you are uncomfortable with testing your system or removing memory modules. Note the S.M.A.R.T. status of your system drive Here are a few programs that will allow you to see the current S.M.A.R.T. status of your drive(s): 1. HD Tune (simple display) - highly recommended 2. Belarc Advisor (simple display) 3. SMART Explorer (advanced display) 4. SpeedFan (advanced display) 5. DTemp (advanced display, but easy to use) 6. SMARTUDM for MS-DOS (advanced display and technician-oriented) Consult the documentation that comes with each program for more information. Also visit the S.M.A.R.T. Wikipedia entry. There is also a wide variety of software available on S.M.A.R.T. Site. Verify the integrity of your filesystem If you are using Windows 2000 or Windows XP, there are at least two ways to perform thorough checking of the system drive's filesystem. Only do so if you have verified the integrity of your hard drive itself and the memory modules in your system. If you are using FAT32 on your Windows 2000 or Windows XP system drive, it is highly recommended to convert the partition to NTFS. Do so only after you have verified the integrity of the filesystem as directed below: 2000/XP method one * In My Computer, right-click on your system drive, choose Properties, and click on the Tools tab. * Click Check Now..., checkmark both Automatically fix file system errors and Scan for and attempt recovery of bad sectors. * Click Start. Windows will prompt you to schedule the disk checking for the next system restart. * Restart your computer. If Windows is unable to complete the disk check for any reason, consult a local PC technician. 2000/XP method two * Boot your installation media, enter Recovery Console, and perform the following commands, substituting "C:" with your system drive letter if "C:" is incorrect: o chkdsk C: /r o chkdsk C: /p chkdsk /r is currently not recommended by DjLizard because it has arbitrary criteria for what to do with bad sectors and it does not present a useful status display while working with your data. There will be another guide soon describing exactly how to cope with data recovery when bad blocks are present. For most people, chkdsk /r will work just fine (although you should know that there are better ways to work with your data and that DjLizard specifically does not recommend chkdsk /r). chkdsk /r can take hours to complete. Usually, chkdsk will state that it has found and fixed one or more errors (one of the least useful status messages in filesystem repair utilities to this date). chkdsk /p will take a fraction of the time, and it may or may not state that it has found and fixed one or more errors. Repeatedly perform chkdsk /p until there are no more detected errors. If at any point chkdsk returns an error stating that there are one or more unrecoverable errors/partitions, type exit, shut down your machine, do not use Dial-a-fix, and consult a local PC technician as this type of problem is extremely difficult to solve 1) over the internet and 2) if you are not a technician. 98/Me The built-in Scandisk utility can fix common issues with long file names, directory entries, and the buggy FAT32 free space counter (if you're using FAT32 that is - and you should be). * Start > Run > scandisk Perform a normal scan of the disk. The "Thorough" disk check can take up to an entire day to perform, and can cause the computer to feeze when bad blocks are encountered. If bad blocks are suspected, consult a local PC technician. Backup critical data This is self-explanatory. There are thousands of ways to backup your data, and it is beyond the scope of this article to attempt to discuss data backup procedures. If there are any doubts or concerns, consult a local PC technician and have them backup your data for you. Undo changes you made to system files If you have installed any unsupported hacks such as uxtheme.dll, LegitCheckControl.dll, tcpip.sys, or any other patches/hacks, you should uninstall them as they are not part of Microsoft's standard distribution of Windows, and can cause unexpected results that cannot be warrantied by your hardware and software manufacturers. Create a complete System Restore point (XP) Automatic System Restore point creation will be a feature of a future revision of Dial-a-fix. In the meantime, you can create your own complete restore point: 1. Start > (All) Programs > Accessories > System Tools > System Restore, or 2. Start > Run > %SystemRoot%\system32\restore\rstrui.exe System Restore creates a full backup of the registry hive files, as well as other critical system files. You will be able to completely roll back any changes made by Dial-a-fix by reverting to a previous restore point or by manually replacing a registry hive file with one from the System Volume Information folder (advanced). 95% of Dial-a-fix's procedures perform writes to the SOFTWARE registry hive, in the HKEY_CLASSES_ROOT tree (which is really just a shortcut to HKEY_LOCAL_MACHINE\Software\Classes). Backup your registry (98/Me) To backup your system registry in Windows 98 or Windows Me, do the following: * Start > Run > scanreg If a registry backup has already been made for that day, answer 'Yes' when prompted so that a new, up-to-date backup is created. If any new registry problems arise, it is quite easy to restore to a previous date in MS-DOS mode by typing scanreg /restore. Flash your system BIOS Though your BIOS should not be upgraded unless there is known to be a problem with it, it is a common cure to problems with Microsoft Windows XP Service Pack 2. This is an advanced procedure that should only be performed by highly experienced end-users or PC technicians. It is also beyond the scope of this article. Contact your system manufacturer for more information. Many strange issues can be resolved by updating your BIOS. Flash BIOS upgrades are only recommended in very specific circumstances, and has little to do with Dial-a-fix. This tip is only provided as a convenience. Scan for viruses and spyware It is beyond the scope of this article to explain the methods and software required to scan for and remove viruses and spyware, however, you must be certain that your system is clean before proceeding. Spyware and viruses can devastate your system stability and performance by making changes unbeknownst to you. Install all service packs and updates Visit Windows Update to ensure that your system is completely up-to-date. Avoid the driver download section of Windows Update, as this section almost always causes issues. No warranties can be made for your use of any software or procedures listed above; they are only provided as a convenience to you. The end-user license agreements (EULAs) of any programs listed above typically spell out the warranties (or lack thereof), licenses, terms of use, and claims made by each program. Known issues * Not ready for Windows Vista * Has not been tested on x64 platforms, such as XP Professional x64 edition * Can't fix serious BITS issues - instead try bitsadmin.exe /util /repairservice at a command prompt - this is more of a limitation rather than a bug or issue * Appears to hang when registering objects with lots of dependencies (such as initpki.dll, shell32.dll, etc) - it's not hanging, it's just LoadLibrary()-ing a lot of dependencies - this will be addressed in a future version of Dial-a-fix (such as v1.0) * The installation of Internet Explorer 7 causes browseui.dll and shdocvw.dll to be unregisterable ("Unspecified error") - whether this is a bug or intentional behavior is unknown at this time (a support request will be filed with Microsoft soon regarding this issue). As of Dial-a-fix v0.60.0.23, these two files are ignored when Internet Explorer 7 is present (for the time being) See also Dial-a-fix_tips for solutions to common issues. Object registration and policy statistics The Dial-a-fix v0.60 beta series covers: * 1 Microsoft Installer DLL * 2 Defrag DLLs (separate tool) * 15 Windows update DLLs (including XML) * 20 SSL/HTTPS/Cryptography DLLs * 14 ActiveX/COM objects * 3 Control panel applets * 8 DirectX DLLs * 8 Programming library/run-time DLLs * 87 Explorer/IE/OE/shell/WMP DLLs * 23 OLE DLLs * 42 WBEM DLLs (separate tool) * 142 Restrictive policies Mirrors/download locations, and articles Before you get into this, you should probably read the WARNINGS if you have not already, as I cannot take responsibility for your PC's problems, even if Dial-a-fix exacerbates or exposes them. Also, visit Lunarsoft's forums if you need support (the Dial-a-fix forum is here). I recommend becoming a member at Lunarsoft. There are no articles at this time, however you can see all previous Dial-a-fix beta announcements on DjLizard.net. No, there are not supposed to be "full" or "medium" versions. There is no use in the previous "full" version of Dial-a-fix, and losing all of those packages has only been beneficial to the development of Dial-a-fix