|
KeePass supports multiple locations for storing configuration information:
the global configuration file in the KeePass application directory,
a local user-dependent one in the user's private configuration folder, and
an enforced configuration file in the KeePass application directory.
The first one is called global,
because everyone using this KeePass installation will
write to the same configuration file (and possibly overwriting settings of other
users). The second one is called local, because changes made to this configuration
file only affect the current user.
KeePass 1.x Only
Configuration files are stored in INI format.
Configuration | Location | Typical File Path |
Global |
Application Directory |
C:\Program Files (x86)\KeePass Password Safe\KeePass.ini |
Global (Virtualized) |
Windows Virtual Store |
C:\Users\User Name\AppData\Local\VirtualStore\Program Files (x86)\KeePass Password Safe\KeePass.ini |
Local |
User Application Data |
C:\Users\User Name\AppData\Roaming\KeePass\KeePass.ini |
Enforced |
Application Directory |
C:\Program Files (x86)\KeePass Password Safe\KeePass.enforced.ini |
KeePass 2.x Only
Configuration files are stored in XML format.
Configuration | Location | Typical File Path |
Global |
Application Directory |
C:\Program Files\KeePass Password Safe 2\KeePass.config.xml |
Global (Virtualized) |
Windows Virtual Store |
C:\Users\User Name\AppData\Local\VirtualStore\Program Files\KeePass Password Safe 2\KeePass.config.xml |
Local |
User Application Data |
C:\Users\User Name\AppData\Roaming\KeePass\KeePass.config.xml |
Enforced |
Application Directory |
C:\Program Files\KeePass Password Safe 2\KeePass.config.enforced.xml |
On Linux systems, the local configuration file is typically stored in
'$XDG_CONFIG_HOME/KeePass' (which often is '~/.config/KeePass',
where '~' is the user's home directory).
Installation by Administrator, Usage by User
If you use the KeePass installer and install the program with administrator rights,
the program directory will be write-protected when working
as a normal/limited user. KeePass will use local configuration files, i.e. save and load
the configuration from a file in your user directory.
Multiple users can use the locally installed KeePass. Configuration settings
will not be shared and can be configured individually by each user.
Portable Version
If you downloaded the portable version of KeePass (ZIP package), KeePass will
try to store its configuration in the application directory. No configuration
settings will be stored in the user directory (if the global configuration file is
writable).
Create Portable Version of Installed KeePass
If you are currently using a locally installed version of KeePass
(installed by the KeePass installer) and want to create a portable version of it,
first copy all files of KeePass to the portable device. Then get the configuration file
from your user directory (application data, see above) and copy it
over the configuration file on the portable device.
For Network Administrators: Enforced Configuration
Settings in an enforced configuration file
take precedence over settings in global and local
configuration files.
This feature is intended primarily for network administrators
who want to enforce certain settings for users of a shared
KeePass installation.
For details, please see the
Enforced Configuration
help page.
Technical Details
This section explains in detail how loading and saving the configuration works.
When KeePass starts up and finds both global and local configuration files, it must
decide the order in which KeePass tries to get the configuration items.
This is controlled by the
(Kee )PreferUserConfiguration flag in the global configuration
file. If it is not present, it defaults to false.
The flag is set to true in the global configuration file of the
KeePass installer package. The portable ZIP package does not contain a configuration file,
consequently the flag defaults to false.
KeePass 1.x Only
Loading:
- Try to get the configuration item from the enforced configuration file. If found, use this
one.
- If the item is neither present in the global configuration file nor in the local one:
use default value.
- If the item is present in the global configuration file, but not in the local one:
use item from global configuration.
- If the item is present in the local configuration file, but not in the global one:
use item from local configuration.
- If the item is present in the global and the local configuration file:
- If the
KeePreferUserConfiguration flag is True, use the item from
the local configuration file, otherwise use the item from the global one.
Saving:
- If the
KeePreferUserConfiguration flag is True, try to store
the configuration item into the local configuration file.
If this fails, try to store the item into the global configuration file.
If this fails, report the error.
- If the
KeePreferUserConfiguration flag is False, try to store
the item into the global configuration file.
If this fails try to store the item into the local configuration file.
If this fails, report the error.
The path of the local configuration file can be changed
using the ' KP1_CFG_LOCAL ' environment variable.
KeePass 2.x Only
Loading:
- Try to get the configuration item from the enforced configuration file.
If found, use this one.
- If the
PreferUserConfiguration flag is true, use the item from
the local configuration file, otherwise use the item from the global one.
If the chosen configuration file does not contain the item, use the default value.
Saving:
- If the
PreferUserConfiguration flag is true, try to store
all configuration items into the local configuration file.
If this fails, report the error and try to store them into the global configuration file.
If this fails, report the error.
- If the
PreferUserConfiguration flag is false, try to store
all configuration items into the global configuration file.
If this fails, report the error and try to store them into the local configuration file.
If this fails, report the error.
The path of the local configuration file can be changed
using the ' -cfg-local: ' command line parameter.
|
|