Restore or rebuild a missing DLL.xml file in FSX or Steam Edition, find the right AppData folder, recover add-on entries and fix XML errors.
In FSX and FSX: Steam Edition, dll.xml is an optional per-user file that loads add-on DLL modules. Restore a known-good backup if possible; otherwise create a valid empty file in the active AppData configuration folder, then repair or reinstall each module-based add-on to recreate its Launch.Addon entries.
Where is DLL.xml in FSX and Steam Edition?
The file belongs in the active Windows user's roaming AppData folder, not the FSX installation directory or ProgramData. Press Windows key+R, enter %APPDATA%\Microsoft and check the relevant folder:
- Boxed FSX:
%APPDATA%\Microsoft\FSX\dll.xml - FSX: Steam Edition: check both
%APPDATA%\Microsoft\FSX\dll.xmland%APPDATA%\Microsoft\FSX-SE\dll.xml
A Steam-only installation commonly uses FSX, while a side-by-side boxed and Steam installation may use FSX-SE. Do not assume the folder from the simulator's installation drive. If uncertain, make a harmless FSX settings change, exit normally and see which folder's FSX.cfg modification time changes.
Also check that you are signed into the same Windows account used to run FSX. Each account has its own AppData configuration, and an installer run under another account may have written its file elsewhere.
How do I restore or rebuild DLL.xml?
Use a known-good backup before constructing a new file because a backup may contain all the module registrations and paths you need.
- Close FSX completely. Also close utilities that start with the simulator so that nothing rewrites the file while you work.
- Back up the configuration folder. Copy the complete
FSXorFSX-SEfolder somewhere safe. Our instructions for backing up FSX settings and add-on configuration cover the related files worth preserving. - Look for an existing backup. In the active folder, search for names such as
dll.xml.bak,dll.xml.oldor installer-created dated copies. Open each candidate in a plain-text editor and confirm that it contains oneSimBase.Documentsection. - Restore the best copy. Rename any damaged current file to
dll.xml.bad, copy the backup into the active folder and name the copy exactlydll.xml. Enable filename extensions in File Explorer so it does not becomedll.xml.txt. - Create an empty file if no backup exists. In a plain-text editor, paste this valid base document:
<?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> - Save it as plain text. Select the editor's all-files option and save the filename as
dll.xml. If the declaration saysWindows-1252, use ANSI or Windows-1252 encoding. If the editor only saves UTF-8, change the declaration's encoding value toUTF-8. - Start FSX and test. A valid empty file should produce no XML error, but add-ons that depend on missing module entries will remain unavailable.
FSX does not reconstruct a populated dll.xml from installed add-ons. Avoid copying somebody else's complete file: its module names, installation paths and enabled states may not match your system.
How do I restore the missing add-on entries?
An empty valid dll.xml restores the container, not the registrations inside it. Repair or reinstall only the affected module-based add-ons, one at a time, while ensuring each installer targets the correct FSX edition and configuration folder.
A typical registration is a Launch.Addon block containing the module name, disabled state, manual-load state and DLL path. Place recovered blocks inside the existing SimBase.Document, before its closing tag. Use the exact block from a backup, the add-on's installer or its supplied documentation; some modules require additional elements that a generic entry would omit.
Start FSX after restoring each block. This identifies the entry responsible if startup becomes slow or the simulator crashes; our guidance on isolating broken startup modules one at a time explains that test process. For diagnosis, change the suspect block's Disabled value to True rather than deleting it.
Check every Path after moving FSX or an add-on to another drive. An otherwise valid file cannot load a DLL from an obsolete location; see the checks for correcting add-on paths after a drive move. FSX is a 32-bit application, so the registered DLL must also be an FSX-compatible module rather than a similarly named module built for another simulator.
Do not place external programmes in dll.xml. Add-ons that launch separate executable files normally use exe.xml, while aircraft gauge DLLs can be loaded through the aircraft panel configuration instead.
Why does a rebuilt DLL.xml still fail?
Most failures come from editing the wrong configuration folder, saving a hidden .txt extension, malformed XML or restoring a module path that no longer exists.
| Symptom | Likely cause | What to do |
|---|---|---|
| Creating the file changes nothing | Wrong AppData folder or Windows profile | Identify the folder containing the active FSX.cfg and edit its neighbouring dll.xml. |
| FSX reports an XML error and a line number | Broken tags, two XML declarations or content outside the root document | Return to the empty template, then add one complete Launch.Addon block at a time. |
| The file looks correct but is ignored | It is actually named dll.xml.txt | Show filename extensions and remove the final .txt. |
| An add-on remains absent | Its Launch.Addon entry is missing, disabled or points to the wrong DLL | Repair that add-on and verify its path rather than reinstalling FSX. |
| FSX hangs or crashes during startup | A restored module is incompatible or damaged | Disable its block, test again and restore modules individually. |
An MSXML installation or registration error is not automatically a dll.xml problem. If the message specifically names MSXML, use our checks for separating DLL.xml faults from an MSXML 4.0 problem before reinstalling add-ons.
If FSX starts normally and every required add-on works, a missing dll.xml needs no repair. Stock FSX can run without a populated file; it is required only when an installed module needs a startup registration.