Select the product you need help with
- Internet Explorer
- Windows Phone
- More products
General Sysdiff Troubleshooting Tips
Article ID: 165533 - View products that this article applies to.
This article was previously published under Q165533
Windows NT 4.0 Automated Installation Framework
How to Troubleshoot Sysdiff Error MessagesSysdiff uses the Windows error numbering system to report problems. To determine the meaning of a Sysdiff error message, that is, to translate the error number into a message, switch to an MS-DOS prompt and type the following
NET HELPMSG <number>where <number> is the number of the Sysdiff error message.
For example, Sysdiff stops responding and the following error message appears:
When you type
ERROR MESSAGE: SYSTEM ERROR 5
NET HELPMSG 5at an MS-DOS prompt, the meaning of "System Error 5" appears:
Access is denied.
When you use this same method to decode the error message "SYSTEM ERROR 32," the following information appears:
The process cannot access the file because it is being used by another process.
In this way, you can decode the meaning of the error numbers.
How to Troubleshoot "Installation Failed" Applying .inf.There are many causes for this error message. It is not the purpose of this article to try to catalog all of them. This article shows you how to determine exactly where the apply command is failing and explains some general reasons for such failures.
The .inf file is created by the sysdiff /inf /m command and is automatically placed in the $OEM$ directory. This file contains changes that are to be made to the registry. It also tells you the version of Sysdiff that was used to create it, the system root directory and the total diff count.
The .inf file is executed sequentially, from the bottom up. To determine where it has failed, it is necessary to open the file in a text editor (like Notepad) beside the Registry Editor. Each line of the file, following the [AddReg] section heading, represents a single change to the registry. These are abbreviated; HKCR stands for HKEY_CLASSES_ROOT, HKLM stands for HKEY_LOCAL_MACHINE, and so on.
Instead of starting at the bottom and working your way up, it might be better to start at the middle and work your way out. Look at the line in the .inf file and check the registry to see if that line was written. If it was, move to the halfway mark between there and the end of the file until you find a line that was not written. From there, locate the last line that was written; this will show you the last thing Sysdiff successfully wrote to the registry.
When sysdiff encounters an entry that it cannot write, it stops writing from that point forward and reports the error message "installation failed." Sysdiff will then prompt you to continue. Sysdiff will continue, but all entries from that point forward are not written. Changes that are made to .ini files are included in the [updateinis] section near the end of the .inf file. If you suspect the problem is in updating .ini files, comment out this section and see if Sysdiff will continue.
Debugging .inf files can be a time-consuming process. It is not, however, necessary to do a full sysdiff /apply command to test it each time you comment something out. Because all the Cmdlines.txt is doing is reading the .inf file and writing each entry, you can configure it to do only that:
NOTE: Make certain that the \%windir%\system32 is in the environment path.
NOTE: Make certain that you do this to a computer that has already failed in the installation. The main reason for verifying that this is done to a failed installation as opposed to a clean install is that if the application directories and .ini files do not exist, Sysdiff will always return an error when it tries to write to files that are not there.
Behavior You Can Expect if the Problem Is a Bad .inf File
What to Do if You Suspect a Corrupted Diff FileOne of the problems with creating the snapshot, diff, and .inf file over the network is network problems/bottlenecks. The diff file contains an image of all of the files that have been added since the image file was created. Creating this large a file over a network connection can leave you wide open for data corruption.
A corrupted diff file may be the cause when you do everything Right, and you verify the integrity of the .inf file (using the GO.BAT procedure outlined above) but the apply still fails. Diff files are huge. If there are any network bottlenecks at all, it is easy for these files to become corrupted. To resolve this, try