Registry Keys FSX, FSX-SE, P3Dv1, P3Dv2

#1
Hey Guys, I thought this information might be useful to all FSX based sim developers. I spent a little time tracking down where the registry keys are for each version of FSX & P3D.

32 Bit - Main

Platform: FSX, FSX XPack, FSX Gold (Needs Verification)

RootKey: HKEY_LOCAL_MACHINE
Key: \Software\Microsoft Games\Flight Simulator\10.0
Subkey: SetupPath


Platform: FSX Steam Edition (Needs Verification)

RootKey: HKEY_LOCAL_MACHINE
Key: \Software\Dovetail Games\FSX\10.0
SubKey: Install_Path


Platform: Prepar3d v2 (Needs Verification)

RootKey: HKEY_LOCAL_MACHINE
Key: \Software\Wow6432Node\Lockheed Martin\Prepar3d v2
Subkey: SetupPath


Platform: Prepar3d v1 (Needs Verification)

RootKey: HKEY_LOCAL_MACHINE
Key: \Software\Wow6432Node\LockheedMartin\Prepar3d
Subkey: SetupPath


64 Bit - Main

Platform: FSX, FSX XPack, FSX Gold (Verified)

RootKey: HKEY_LOCAL_MACHINE
Key: \Software\Wow6432Node\Microsoft Games\Flight Simulator\10.0
SubKey: SetupPath


Platform: FSX Steam Edition (Verified)

RootKey: HKEY_LOCAL_MACHINE
Key: \Software\Wow6432Node\Dovetail Games\FSX\10.0

Subkey: Install_Path

Platform: Prepar3d v2 (Verified)

RootKey: HKEY_LOCAL_MACHINE
Key: \Software\Wow6432Node\Lockheed Martin\Prepar3d v2
Subkey: SetupPath


Platform: Prepar3d v1 (Needs Verification)

RootKey: HKEY_LOCAL_MACHINE
Key: \Software\Wow6432Node\LockheedMartin\Prepar3d
SubKey: SetupPath




32 & 64 Bit - Alternate


Platform: FSX, FSX XPack, FSX Gold (Verified)

RootKey: HKEY_CURRENT_USER
Key: \Software\Microsoft\Microsoft Games\Flight Simulator\10.0
SubKey: AppPath

Platform: FSX Steam Edition (Verified)

RootKey: HKEY_CURRENT_USER
Key: \Software\Microsoft\Microsoft Games\Flight Simulator - Steam Edition\10.0
Subkey: AppPath

Platform: Prepar3d v2 (Verified)

RootKey: HKEY_CURRENT_USER
Key: \Software\Lockheed Martin\Prepar3D v2
SubKey: AppPath

Platform: Prepar3d v1 (Verified)

RootKey: HKEY_CURRENT USER
Key: \Software\LockheedMartin\Prepar3D
SubKey: AppPath
 
Last edited:

n4gix

Resource contributor
#2
For whatever it's worth, I use only the HKEY_CURRENT_USER versions in my installers.
Code:
RootKey: HKEY_CURRENT USER
Key: \Software\LockheedMartin\Prepar3D
SubKey: AppPath
is correct.
 

ollyau

Resource contributor
#4
For what it's worth, Lockheed Martin recommends the HKEY_LOCAL_MACHINE entries in their SDK documentation for both P3D and P3D v2:

http://www.prepar3d.com/SDK/sdk overview.html#Hints and Tips
http://www.prepar3d.com/SDKv2/LearningCenter/general/sdk_overview.html#HintsandTips

Anyhow, it looks like you may have made a mistake in typing some of them out (FSX 64 bit HKLM, P3D v1 32 bit HKLM, P3D v2 32 bit HKLM, FSX: Steam Edition both 32 and 64 bit). This is what I have:

Microsoft Flight Simulator X:

32 bit key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\microsoft games\flight simulator\10.0
64 bit key: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\microsoft games\flight simulator\10.0
Value: SetupPath

HKCU key: HKEY_CURRENT_USER\Software\Microsoft\Microsoft Games\Flight Simulator\10.0
Value: AppPath

Microsoft ESP:

32 bit key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft ESP\1.0
64 bit key: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft ESP\1.0
Value: SetupPath

HKCU key: HKEY_CURRENT_USER\Software\Microsoft\Microsoft ESP
Value: AppPath

Microsoft Flight:

32 bit key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Flight
64 bit key: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft Flight
Value: InstallPath

Lockheed Martin Prepar3D:

32 bit key: HKEY_LOCAL_MACHINE\SOFTWARE\LockheedMartin\Prepar3D
64 bit key: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LockheedMartin\Prepar3D
Value: SetupPath

HKCU key: HKEY_CURRENT_USER\Software\LockheedMartin\Prepar3D
Value: AppPath

Lockheed Martin Prepar3D v2:

32 bit key: HKEY_LOCAL_MACHINE\SOFTWARE\Lockheed Martin\Prepar3D v2
64 bit key: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Lockheed Martin\Prepar3D v2
Value: SetupPath

HKCU key: HKEY_CURRENT_USER\Software\Lockheed Martin\Prepar3D v2
Value: AppPath

Dovetail Games Microsoft Flight Simulator X: Steam Edition:

32 bit key: HKEY_LOCAL_MACHINE\SOFTWARE\DovetailGames\FSX
64 bit key: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\DovetailGames\FSX
Value: install_path (simulator root directory) and exe_path (fsx.exe)

HKCU key: HKEY_CURRENT_USER\Software\Microsoft\Microsoft Games\Flight Simulator - Steam Edition\10.0
Value: AppPath

Note: the above values for FSX: Steam Edition are from my side-by-side install with the original release of FSX. From what I hear, FSX: Steam Edition will use the original paths and registry entries of FSX (see above) if it's installed on its own.
 
Last edited:
#5
It's best not to use the keys under HKLM in any case, for several reasons:

- The keys under HKCU are UAC-compliant, and won't change between 32 bit and 64 bit, and will always be there, even if FSX is installed under a limited-permission account.

- The Wow6432Node folder is not something you usually access directly. It's a redirect that Windows 64 bit does when a 32 bit app TRIES to read/write something from/into HKLM/Software. The app (if it's a 32 bit app) thinks to be dealing with HKLM/Software, but Windows is using HKLM/Software/Wow6432Node instead. The same app, on 32 bit OS would get access to the real HKLM/Software, provide it runs under ad admin account. If it's running as a standard user, the HKLM\Software is instead remapped to HKEY_CLASSES_ROOT\VirtualStore\Machine\Software, IF UAC is enabled...

- The different Steam keys are used ONLY if Steam is installed TOGETHER (after) with FSX. This is what we call a "Dual mode installation". If you install the Steam edition on a system that has no FSX, the registry keys will be the SAME AS FSX.

- Note that, when FSX Steam edition is installed alongside FSX, the *name* of the FSX.CFG is instead FSX_SE.CFG, not sure why they changed it, because it would stay in a different folder.
 

n4gix

Resource contributor
#6
Thanks Bill. :) Interesting, I never knew about the HKCU until yesterday. Makes more sense to use that one.
Beyond the reasons Umberto mentioned is the fact that there are users who share their computer, hence it make more sense to check for their specific user account. :twocents:
 

ollyau

Resource contributor
#7
Wonder why LM doesn't mention it in their SDK then...

Edit: Also, Umberto, is FSX: Steam Edition's CFG in %appdata%\Microsoft\fsx.CFG when installed on its own?
 
Last edited:

arno

Administrator
Staff member
FSDevConf team
Resource contributor
#8
Interesting thread, let me double check the keys I use in my tools.
 
#9
Hi Guys!

I've found the registry entries for Steam edition here: HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Flight Simulator - Steam Edition\10.0
Indeed this is valid for dual mode when you have single installation than the old fsx location is written.

BUT here you are mentioning HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\DovetailGames\FSX (NO 10.0 folder as it is stated in the first post). Question is if Steam edition writes this key also in case of single installation. I can not check it I do have dual installation. If the answer is yes than the dual/single installation topic can be solved.
 

n4gix

Resource contributor
#11
Wonder why LM doesn't mention it in their SDK then...

Edit: Also, Umberto, is FSX: Steam Edition's CFG in %appdata%\Microsoft\fsx.CFG when installed on its own?
If installed by itself on a machine that has NEVER had FSX installed, I can verify that everything is identical and undistinguishable from a normal FSX+Acceleration installation with regards to file names.

I just managed to set aside the time late yesterday afternoon to install a side-by-side FSX:SE to my normal sim computer so I can begin testing out my installer scripts.
 
#12
Okay I've written a batch file to pull the registry keys for the FSX install locations on a users computer:

I've attached a batch file that already has this in. (NOTE: must rename it from *.txt to *.bat in order to run it)

I've only been able to confirm HLCU & HKLM queries work for 64 Bit installs of FSX, FSX:SE (side by side install), and P3Dv2 on my system.

I'd be interested to see if I've got the scripts 100% right for 64 bit P3Dv1 & ESP, as well as all for 32 bit installs for FSX, FSX:SE (side by side install), P3Dv2, P3Dv1 and ESP. :)

Code:
REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Microsoft Games\Flight Simulator\10.0" /v AppPath >install_directory.ini
REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Microsoft Games\Flight Simulator - Steam Edition\10.0" /v AppPath >>install_directory.ini
REG QUERY "HKEY_CURRENT_USER\Software\Lockheed Martin\Prepar3d v2" /v AppPath >>install_directory.ini
REG QUERY "HKEY_CURRENT_USER\Software\LockheedMartin\Prepar3d" /v AppPath >>install_directory.ini
REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Microsoft ESP" /v AppPath >>install_directory.ini

REG QUERY "HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Flight Simulator\10.0" /v SetupPath >>install_directory.ini
REG QUERY "HKEY_LOCAL_MACHINE\Software\DovetailGames\FSX" /v Install_Path >>install_directory.ini
REG QUERY "HKEY_LOCAL_MACHINE\Software\Lockheed Martin\Prepar3d v2" /v SetupPath >>install_directory.ini
REG QUERY "HKEY_LOCAL_MACHINE\Software\LockheedMartin\Prepar3d" /v SetupPath >>install_directory.ini
REG QUERY "HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft ESP\1.0 /v SetupPath >>install_directory.ini

REG QUERY "HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Microsoft Games\Flight Simulator\10.0" /v SetupPath >>install_directory.ini
REG QUERY "HKEY_LOCAL_MACHINE\Software\Wow6432Node\DovetailGames\FSX" /v Install_Path >>install_directory.ini
REG QUERY "HKEY_LOCAL_MACHINE\Software\Wow6432Node\Lockheed Martin\Prepar3d v2" /v SetupPath >>install_directory.ini
REG QUERY "HKEY_LOCAL_MACHINE\Software\Wow6432Node\LockheedMartin\Prepar3d" /v SetupPath >>install_directory.ini
REG QUERY "HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Microsoft ESP\1.0 /v SetupPath >>install_directory.ini
What this batch file does is run a query on the registry and saves the keys to a file called install_directory.ini

This is the result from the query on my system:

Code:
HKEY_CURRENT_USER\Software\Microsoft\Microsoft Games\Flight Simulator\10.0
    AppPath    REG_SZ    E:\FSX\


HKEY_CURRENT_USER\Software\Microsoft\Microsoft Games\Flight Simulator - Steam Edition\10.0
    AppPath    REG_SZ    C:\Program Files (x86)\Steam\steamapps\common\FSX\


HKEY_CURRENT_USER\Software\Lockheed Martin\Prepar3d v2
    AppPath    REG_SZ    E:\P3D\






HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Microsoft Games\Flight Simulator\10.0
    SetupPath    REG_SZ    E:\FSX\


HKEY_LOCAL_MACHINE\Software\Wow6432Node\DovetailGames\FSX
    Install_Path    REG_SZ    C:\Program Files (x86)\Steam\steamapps\common\FSX


HKEY_LOCAL_MACHINE\Software\Wow6432Node\Lockheed Martin\Prepar3d v2
    SetupPath    REG_SZ    E:\P3D\
Once I have the flightsim_registry.bat file verified as pulling all keys properly, I'll look at how to refine it further for my other installation program(s). The end goal is to be able to have the installer run the registry query and then run the appropriate installers to add entries to the scenery.cfg file automatically so end users don't need to manually add scenery libraries.

EDIT: Note I've now revised the script to version 0.2a. I decided to save each key into it's own .ini file so scripts can be built to eventually generate a master .ini for use with install creator (and possibly other installers). Starting to get in over my head. I've then run another process to combine all the separate .ini's into a master.ini (a prelude to a condition based script that will determine a suggested install directory based on a weighted sim structure, i.e. P3Dv2 then P3Dv1 then ESP then FSX:SE then FSX etc etc etc). This will then allow installers (at lease Install Creator) to suggest a default install directory for the scenery (and possibly aircraft) based on: a) most professional, most current (see above). Phase 2 of this will be a separate scenery library installer that will auto add the scenery library entries to all (or one) scenery.cfg file(s) in one go with little or no human intervention.
 

Attachments

Last edited:

arno

Administrator
Staff member
FSDevConf team
Resource contributor
#13
Maybe we should put all this information about the registry keys, etc somewhere on the wiki, so that it is easier to find for others.
 

n4gix

Resource contributor
#14
Honestly, don't overthink this subject. The only four HKeys needed are these, regardless of 64bit or 32bit OS:
Code:
HKEY_CURRENT_USER\Software\Microsoft\Microsoft Games\Flight Simulator\10.0
Key=AppPath
HKEY_CURRENT_USER\Software\Microsoft\Microsoft Games\Flight Simulator - Steam Edition\10.0
 Key=AppPath

HKEY_CURRENT_USER\Software\LockheedMartin\Prepar3d
 Key=AppPath
HKEY_CURRENT_USER\Software\Lockheed Martin\Prepar3d v2
 Key=AppPath
 

arno

Administrator
Staff member
FSDevConf team
Resource contributor
#15
Hi Bill,

You are right. Do you happen to know if FS2004 also has a CURRENT_USER key? I can't find that on my machine. Same question for the SDKs. It seems that for those I still need to query LOCAL_MACHINE (with the 32 and 64 bit differences).
 

n4gix

Resource contributor
#18
Honestly, I've never even looked for FS9 since we quit developing for it several years ago. It seems that most of the die hards who still use FS9 aren't really into buying payware anyway. Thus it was far too much work for practically no return. :confused:
 

arno

Administrator
Staff member
FSDevConf team
Resource contributor
#19
My tools are still used for fs2004 as well, that's why I asked. But I'll keep their keys as they are for now.
 
#20
I have a quick question, I'm re-working my scenery.cfg installers to auto-add the scenery entry to the scenery.cfg file...

I've got FSX, FSX-SE (side by side install) and P3Dv2 scenery.cfg locations sorted out and in (relative path to):

FSX = \Microsoft\FSX\
FSXSE = \Microsoft\FSX-SE\
P3Dv2 = \Lockheed Martin\Prepar3D v2\

But I'm needing to check on which subdirectories they install into for:
  • Microsoft ESP
  • LM P3Dv1
My best guess is:

ESP = \Microsoft\ESP or \Microsoft\Microsoft ESP ?
P3Dv1 = \LockheedMartin\Prepar3d

can anyone confirm if I'm right about these two subfolders?

Cheers,
Dean.

P.S. I've done a google search and turned up nothing for these two...
 
Last edited:
Top