Learn what the Microsoft Flight Simulator 2004 SDK contains, choose the right FS2004 tool, compile a sample and fix common FS9 build errors.
The Microsoft Flight Simulator 2004 SDK is Microsoft’s set of documentation, compilers, exporters and diagnostic tools for building FS2004 add-ons such as aircraft, scenery, terrain, panels, effects and AI traffic. It is not one application: choose the kit for the intended output, build its sample, compile your source, then test the result in FS2004.
SDK means Software Development Kit. Microsoft Flight Simulator 2004: A Century of Flight is also known as FS2004, FS9 and, less formally, MFS2004. The FS9 name comes from the simulator’s fs9.exe executable; these names do not identify different editions.
Do I need the SDK to install FS2004 add-ons?
No. You do not need the SDK to install and use an ordinary FS2004 aircraft, scenery package or other finished add-on.
The SDK is for producing and diagnosing content. A developer might use it to turn XML into a scenery BGL, export a gmax model as an MDL or inspect AI traffic. End users receive the resulting files and normally follow the add-on’s installation instructions without installing any development tools.
Some work does not require a compiler. Editing aircraft.cfg, panel definitions or effect parameters may involve documented text files and assets, but the relevant SDK documentation still explains what FS2004 expects.
Which FS2004 SDK kit should I use?
Choose the kit according to the file or feature you need FS2004 to load; installing every component does not create a project or provide one universal editor.
| Project | SDK component to use | Typical result |
|---|---|---|
| Airport data or scenery-object placement | BGLComp SDK and scenery documentation | A compiled .bgl scenery file |
| Aircraft or scenery 3D model | FS2004 gmax gamepack and MakeMDL | An FS2004 .mdl model |
| Terrain mesh, land class or related terrain data | Terrain SDK and its resampling tools | Compiled terrain BGL files |
| Autogen annotation | Autogen SDK | Autogen data associated with scenery textures |
| AI aircraft and schedules | Traffic database tools, with Traffic Toolbox for inspection | A compiled traffic database and in-simulator diagnostic information |
| Aircraft configuration and flight dynamics | Aircraft documentation and FSEdit where appropriate | Configuration and air-data files |
| Panels, gauges or effects | The corresponding documentation and toolchain | Panel definitions, bitmaps, gauges and effect assets |
BGLComp does not create a 3D model. It compiles correctly structured XML used for airport data, object placement and related scenery definitions. MakeMDL exports the model through the FS2004 gmax toolchain; BGLComp may then package or place that model for scenery use.
An aircraft needs more than an exported MDL. It also requires a valid aircraft folder, configuration, flight dynamics, textures and references between files. Our practical FS2004 aircraft-development workflow explains how gmax, MakeMDL and the aircraft files fit together.
FS2004 predates the mission system introduced with FSX. Scripted scenarios are generally called adventures and use Adventure Basic Language tools; the process is covered in our guide to creating FS2004 adventures and mission-style flights.
How do I install and use the FS2004 SDK?
Use an unchanged Microsoft sample to prove that the selected tool works before building or modifying your own project.
- Define the output. Decide whether FS2004 needs a BGL, MDL, traffic database, adventure or set of configuration files. That decision identifies the relevant kit and prevents an FSX or newer simulator tool from entering the workflow by mistake.
- Install the correct kit. You can obtain the complete collection of FS2004 SDK kits and supporting documentation. Some components were designed as separate tools rather than one integrated program. Keep each compiler with the support files and examples supplied for it.
- Use a simple working path. Create a writable location outside protected Windows folders, such as
C:\FS9SDK, when the kit permits it. Short paths without unusual characters avoid problems in older command-line utilities. The gmax gamepack is an FS2004 profile and exporter, not a standalone modelling application. - Build the supplied sample unchanged. Use the sample nearest to your project and follow that kit’s documentation exactly. A successful sample proves that the executable, supporting files, paths and permissions are working.
- Separate source, build and package files. Keep editable XML, gmax scenes, textures and configuration files in a source folder. Send compiler output to a build folder, inspect it, and copy only the required finished files into a separate package folder.
- Compile where errors remain visible. Run command-line tools from a command prompt or batch file instead of double-clicking the executable. If a build fails, correct the first reported error before the later messages, which are often consequences of the first fault.
- Install the output in an FS2004 structure. Scenery commonly uses a folder such as
Addon Scenery\MyProject\scenery, with textures in the adjacenttexturefolder. A complete aircraft belongs underAircraft\MyAircraftand needs validaircraft.cfgandmodel.cfgreferences as well as its model and assets. - Activate and test the package. Add a new scenery area through the FS2004 Scenery Library when required, restart the simulator and test at the project’s actual coordinates. For aircraft or traffic, verify the selected aircraft title, schedule conditions and AI traffic setting. Change one source item per build so faults remain traceable.
Can I edit a compiled FS2004 MDL or BGL later?
No dependable workflow turns a compiled FS2004 MDL or BGL back into the complete editable project that produced it.
MakeMDL’s normal workflow is one-way: an editable gmax scene is exported as a simulator model. The MDL does not preserve the original scene, modifiers and project organisation in a form gmax can reopen. Our explanation of why an FS2004 MDL cannot normally be converted back to gmax source covers this limitation in detail.
The same principle applies to scenery. Keep the original XML, model scenes, source textures, batch files and documentation alongside the compiled BGL. Extraction or conversion tools cannot be treated as source control, and technical access to a file does not grant permission to modify or redistribute somebody else’s work.
Why does my SDK project not appear in FS2004?
A missing project usually means the build failed, the package structure is wrong or FS2004 has not loaded the output.
- The compiler window closes immediately: the utility is probably command-line based. Launch it from a command prompt or a batch file so the error text remains visible.
- No BGL is produced: correct the first XML or schema error, check that numeric values use the format required by the sample, and confirm that the source is not accidentally named something such as
project.xml.txt. The output folder must also be writable. - The BGL exists but nothing appears: make sure its scenery area is active, verify latitude and longitude signs, check referenced object libraries and restart FS2004. Reloading a saved flight alone may not reload changed scenery.
- An MDL does not appear in the aircraft menu: an MDL is not a complete aircraft. The mistake we see repeatedly is copying only the model while omitting a valid
aircraft.cfg,model.cfgor the expected FS2004 aircraft-folder structure. - The model is white or partly missing: inspect texture names, material assignments, texture formats and the package’s
texturefolder. A model exported for FSX, Prepar3D or a newer Microsoft Flight Simulator is not automatically compatible with FS2004. - The gmax exporter is missing: start gmax through the FS2004 gamepack configuration and confirm that its MakeMDL paths and support files are intact. Opening a generic gmax configuration may leave the FS2004 export option unavailable.
- AI traffic is absent: verify that the traffic database compiled, the aircraft mapping matches the exact
title=entry inaircraft.cfg, the schedule is valid for the test time and the simulator’s AI traffic setting is above zero. - Old output keeps reappearing: check that the build writes to the folder you think it does and remove duplicate copies from active scenery areas. Windows permissions or file virtualisation can otherwise leave an older BGL loaded.
Can the FS2004 SDK run on modern Windows?
Many FS2004 command-line SDK tools can run on modern 64-bit Windows, but the legacy installers, gmax environment, exporters and help files are more sensitive to paths, permissions and missing dependencies.
- Work outside protected locations such as
Program Files. Use administrator privileges or compatibility settings only to address a specific launch or permission error; they are not a substitute for a writable project folder. - Keep tool and project paths short, quote paths containing spaces, and avoid unusual characters. Older utilities do not always report path-parsing failures clearly.
- If downloaded help documentation opens as a blank window, unblock the downloaded archive or help file through Windows file properties before extracting or reopening it.
- If an installer cannot find FS2004, check that the simulator is installed correctly and that the tool’s expected FS9 path is available. Do not copy random DLLs into the simulator folder to bypass an installer error.
- Do not replace missing FS2004 components with similarly named FSX, Prepar3D, MSFS 2020 or MSFS 2024 SDK files. Their schemas, exporters and compiled formats are not dependable substitutes.
- Retain one known-good sample build. Rebuilding it is the quickest way to distinguish a broken tool installation from an error introduced by your project.