dll.xml Information and Troubleshooting

DLL.XML INFORMATION AND TROUBLESHOOTING

Several addons (most notably several by Wilco/FeelThere) corrupt the FSX dll.xml file, which can render inoperative any addon that relies on dlls loaded from it, including the PMDG 747-400 and MD-11.  Numerous attempts at getting these developers to fix this issue have gone unanswered.  This article explains the source of the problems and how to fix it yourself.  If you're a PMDG customer and are not comfortable trying this yourself, simply send us a copy of your dll.xml file in a support ticket and we'll fix it for you.

WHAT IS THE DLL.XML FILE?

The dll.xml file tells FSX which dll (dynamic link library) modules to load into the sim at startup.  In previous versions of Flight Simulator, any dll that was placed in the "Modules" folder would load automatically into the sim.  Microsoft changed this in FSX and such dlls can now be loaded from anywhere via the dll.xml file.  What they didn't foresee is that corruption of this file is now a single point of failure for any installed addon that loads a dll via the file.

The dll.xml file contains data entries surrounded by "tags" that describe the dlls and various options pertaining to how they load into the sim.

At it's most basic level with no actual addon dlls loading, the dll.xml file looks like this:

<?xml version="1.0" encoding="windows-1252"?>
<SimBase.Document Type="Launch" version="1,0">
 <Descr>Launch</Descr>
 <Filename>dll.xml</Filename>
 <Disabled>False</Disabled>
 <Launch.ManualLoad>False</Launch.ManualLoad>
</SimBase.Document>

The first line declares the type of xml file it is, and the next block contained within the SimBase.Document tags sets up the basic load options for the file.

Actual entries for loading dlls look like this and are placed after the Launch.ManualLoad tags but before the ending SimBase.Document tag in the basic structure shown above:

<Launch.Addon>
  <Name>PMDG Options</Name>
  <Disabled>False</Disabled>
  <Path>PMDG\DLLs\PMDGOptions.dll</Path>
</Launch.Addon>

Most of a dll.xml is made of up a succession of these entries that tell the sim to load particular addon dlls.  For the PMDG aircraft, there are three of them - PMDGOptions.dll, PMDGSound.dll and PMDGEvents.dll.

HOW TO FIND YOUR DLL.XML

The dll.xml file is normally located in a hidden location.  Here's how to find it.

1. First you need to open the Windows Folder Options.  You can get to this either from Control Panel, or by going to Tools/Folder Options from any Explorer window that shows your drives and folders such as My Computer.

2. In the Folder Options, you need to change two options on the View tab away from their default settings:
    a. The first is "Hidden files and folders" - you need to change this to the 2nd option down that says "Show hidden files, folders, and drives."
    b. The second is "Hide extensions for known file types" - uncheck this option.  Extensions are the second half a filename, for example .doc, .jpg, .mp3, or in this case .xml.  For some reason, Microsoft decided to hide these by default, which can make it difficult to identify the exact files in a list.

3. Now, you need to browse your main C: drive, and go to one of these locations depending on whether you have Windows XP or Windows Vista/Windows 7:

Windows XP:
C:\Documents and Settings\(Your Windows Account Name)\Application Data\Microsoft\FSX

Windows Vista\Windows 7:
C:\Users\(Your Windows Account Name)\AppData\Roaming\Microsoft\FSX

The dll.xml file is in this folder.  (Note that this is also the location of another very important file - your fsx.cfg)

HOW TO FIX COMMON PROBLEMS WITH DLL.XML

Problem 1 - newline characters:


There are invisible formatting characters that make up what's called a "newline" in a text file.  In Windows and a couple of other operating systems the newline sequence is "CR LF" - those stand for "carriage return" and "line feed" - they're terms that originated a long time ago with telegrams and mechanical typewriters. In Unix or Linux based operating systems however, the standard is just a single LF character. This is what happens with certain installers by other companies, they're stripping the CR characters out of each newline the file and making it the Unix/Linux format with just LF. Windows Notepad can't read Unix style newline formating, so you'll see just a string of text with no line breaks when you open one of these corrupted files with it.

1. Download a copy of Notepad++ here (which can read Unix/Linux text files) and you can actually see these characters and fix them:
http://notepad-plus-plus.org/download

2. In the program, go to View/Show Symbols/Show End of Line.

3. You'll now see a bunch of black and white boxed CR and LF characters at the end of each line in a good dll.xml file.   If you see just LFs, the file's been corrupted.

To fix the LFs, you can do one of two things:

a. Go through manually, position the cursor before each LF and then press Ctrl+M, which inserts a Windows newline. (CR LF)
b. The much easier method is to go to Edit/EoL Conversion and Select Windows Format.  If Windows is greyed out, select Unix Format first, and then move it back to Windows. It'll automatically convert all the LF to CR LF.

If that's the only thing that was wrong with the file, you're good to go and your addons should start working again because FSX can now read the file.

Problem 2 - truncated/orphaned pieces of entries:

Sometimes the file structure itself is corrupted and you'll see something similar to this at the top of the file in Notepad++:

<Launch.Addon>
  <Name>FSUIPC 4</Name>
  <Disabled>False</Disabled>
  <Path>Modules\FSUIPC4.dll</Path>
</Launch.Addon>
<Launch.Addon>
  <Name>PMDG Options</Name>
  <Disabled>False</Disabled>
  <Path>PMDG\DLLs\PMDGOptions.dll</Path>
</Launch.Addon>
<Launch.Addon>
  <Name>PMDG Events</Name>
  <Disabled>False</Disabled>
  <Path>PMDG\DLLs\PMDGEvents.dll</Path>
</Launch.Addon>
<Launch.Addon>
  <Name>PMDG Sounds</Name>
  <Disabled>False</Disabled>
  <Path>PMDG\DLLs\PMDGSounds.dll</Path>
</Launch.Addon>
</SimBase.Document>
bled>False</Disabled>
<Launch.Addon> etc

What has happened here is that the correct header for the file has been completely deleted and there's a small orphan of it sitting there after the PMDG entries and the SimBase.Document end tag.

To fix this:

1. Paste the following into the top of the file:

<?xml version="1.0" encoding="windows-1252"?>
<SimBase.Document Type="Launch" version="1,0">
 <Descr>Launch</Descr>
 <Filename>dll.xml</Filename>
 <Disabled>False</Disabled>
 <Launch.ManualLoad>False</Launch.ManualLoad>

2. Delete the SimBase.Document end tag (which is already there at the end of the file again, where it should be) and the truncated/orphaned line:

</SimBase.Document>
bled>False</Disabled>

3. Fix any newline CR LF problems that may be present in the file. (See Problem 1 above) Often the first part of the file up until the truncated/orphaned line will have the correct newline characters, but anything below that point has just the Unix/Linux LF character and needs to be fixed.  In normal Windows Notepad, this type of file will appear correct with line breaks up until that point, where it will turn into a constant string of text.

CONCLUSION:

The above information should allow you to fix 99% of all dll.xml troubles you may come across.  It is a very good idea to back up your dll.xml file before installing an addon, just to ensure that you have a good working copy to refer to in case the addon corrupts it. 

If any more information becomes available, I will update this post to reflect it.

Add Feedback