How to Fix Your FSX DLL.XML File
From PMDG Ops
Contents |
FIXING THE DLL.XML FILE
DLL.XML is a single point of failure concern for all FSX users
The DLL.XML file is an Achilles heel of sorts when it comes to FSX. This single file contains references inserted by add-on developers to help FSX make sense of the various add-on programs that may attempt to launch when FSX is run.
The problem with this file is that it represents a "Single Point of Failure" that, if not coded correctly by any single developer could render some or all add-ons useless within FSX.
The good news is that the DLL.XML file can be easily repaired without requiring a full re-install of your add-ons!
Is your DLL.XML file healthy?
The DLL.XML file is written using XML language, which contains some very easy to understand structure and hierarchy. You can tell that your DLL.XML file is healthy if it appears to have a definite structure, and each <TAG> is concluded with a </TAG>.
Here is an example of healthy XML code:
<?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>
What happens if the DLL.XML file gets corrupted?
If the file becomes corrupted you may not notice the problem because FSX does a good job of being able to read non-conformal XML provided that all of the tags are listed in the correct order. The problem arises when you install a later add-on that finds the DLL.XML file to be corrupt when it attempts to edit the file in order to add the appropriate references for FSX.
You can often know that this has occurred if you attempt to use your new add-on and it simply refuses to launch, or reports errors and causes FSX to close.
How does the DLL.XML file get corrupted?
There are a number of ways that the DLL.XML file might become corrupted, including accidental editing by someone who doesn't understand the XML language, or improper editing of the XML file by a person or program that isn't properly concerned with quality control and adherence to XML standards.
For example, after release of the PMDG 747-400X, it came to our attention that some users installed the PMDG 747-400X only to find that it would not load when selected from the aircraft menu. Research into this report caused us to examine the DLL.XML files from a number of customers, and it was quickly apparent that they were all corrupted by the earlier installation of another product.
We were able to determine that some products produced by WILCO/FEELTHERE use a script to edit the DLL.XML file. This script is improperly written, and strips the DLL.XML file of characters normally required in properly formatted XML files. The end result being that the entire DLL.XML file was contained in a single line and could not be properly edited using industry standard techniques. This resulted in the "failure to launch" error reports from these customers.
NOTE: We have been able to confirm that the Wilco/FeelThere PIC 737 product is the prime offender when it comes to DLL.XML corruption on our customer's machines. This was verified by testing the installer and determining that it indeed edits the DLL.XML improperly, rendering it corrupted and on occasion useless to editors that may follow along later. We recommend that customers make a backup of their DLL.XML before installing these products.
How to fix the DLL.XML file if it becomes corrupted
If you are reading this AFTER having already been bitten by this poor quality control problem with the products mentioned above, we recommend the following fix:
Create a text file named DLL.XML using windows text editor and place the file in the same location as your FSX.CFG file. (This will vary depending upon your windows operating system, and you will need to activate "See Hidden Folders" in order to locate the file.)
Once you have placed the DLL.XML file in the correct directory, paste a copy of the following XML code into that file and save the file to the same directory as your FSX.CFG 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> </SimBase.Document>
Next, run the PMDG 747-400X installer. Upon conclusion you will find the properly edited DLL.XML file appears as follows:
(You can cut/paste this entire section into your DLL.XML if you already have the PMDG 747-400X installed and wish to save some time!)
<?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>
<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>
Next, if you have additional add-ons such as Pete Dowson's FSUIPC or the LDS 767 installed please re-run those installers so that the appropriate entries from FSUIPC will be entered into the DLL.XML file.
After editing the dll.xml file, open it up using Internet Explorer and verify that no errors occur. If you get an error, the file is not constructed correctly and you'll need to remove all the PMDG entries and start over.
You should now have a fixed DLL.XML file, and be ready to return to simming!
