Setup - KeePass
Author: Dominik Reichl
Description: KeePass is an open source password manager. Passwords can be stored in highly-encrypted databases, which can be unlocked with one master password or key file.
Keywords: KeePass, Password, Safe, Security, Database, Encryption, Secure, Manager, Open, Source, Free, Code, Key, Master, Disk, Dominik, Reichl

| # Installation / Portability KeePass 2.x installation, uninstallation, portability and updates.

- General information
- Installer program (KeePass-2.xx-Setup.exe file)
- Portable version (KeePass-2.xx.zip file)
- Running KeePass under Mono (Linux, Mac OS X, BSD, ...)
- Portable KeePass using Mono

## General information

When downloading KeePass, you have the choice between 3 different packages:

- KeePass-2.xx-Setup.exe: An installer program for Windows.
- KeePass-2.xx.zip: A KeePass ZIP package (portable version).
- KeePass-2.xx-Source.zip: The source code.

The installer and the portable version are described in detail below.

The source code package contains everything you need to compile KeePass. It includes the C#/C++ source code and header files, resource files, sources for building the installer, etc.

Both installed and portable KeePass versions require a .NET framework, see the downloads page for details.

Updating KeePass:
When a new KeePass version has been released, you can update your existing KeePass installation, without losing any configuration settings. The steps are depending on which package you are using (installer or portable), see below.

Translations should also be updated when you install a new KeePass version. You can find the latest translation files here: KeePass Translations.

## Installer program (KeePass-2.xx-Setup.exe file)

The KeePass development team provides an installer, which copies KeePass to your hard disk, creates shortcuts in the start menu and associates KDBX files with KeePass, if desired.

Additionally, KeePass is automatically configured to store its settings in the application data directory of the current user. This way multiple users can use one KeePass installation without overwriting each other's settings (each user has his own configuration file). The setup program must run with administrative rights, however KeePass runs fine without administrative rights once it is installed.

Installation:
To install KeePass, run the `KeePass-2.xx-Setup.exe` file and follow the wizard.

Updating:
Run the `KeePass-2.xx-Setup.exe` file. You do not need to uninstall the old version first. Your configuration options will not be lost.

Uninstallation:
In order to uninstall KeePass, run the uninstallation program, which is accessible by a shortcut in the start menu folder of KeePass, or in the program section of the system control panel. If you also want to remove your configuration settings, you need to delete the configuration file in the application data directory of your user profile, see Configuration.

Silent Installation:
The KeePass installer `KeePass-2.xx-Setup.exe` supports command line switches for silent installation, i.e. the program gets installed without asking the user for target directory or association options. The default settings of the installer are used.

The `/SILENT` command line switch performs a silent installation and shows a status dialog during the setup process. No questions will be asked though.

The `/VERYSILENT` command line switch performs a silent installation and does not show a status dialog during the setup process.

Destination Path:
The installer allows to choose the destination path to which KeePass is installed. However, when the installer detects an existing KeePass installation, it assumes that the user wants to perform an upgrade and thus doesn't display the destination path selection page; the old version will be overwritten by the new version. If you want to move an existing KeePass installation to a different path, first uninstall the old version; the installer of the new version will then display the destination path selection page again.

Options/Components:
The installation options/components are explained in detail here: What do the 2.x installation options/components mean in detail?.

## Portable version (KeePass-2.xx.zip file)

The portable version can be carried around on portable devices (like USB sticks) and runs on any computer directly from the device, without any installation (provided that a .NET framework is installed). It doesn't store anything on your system (in contrast to the setup package, see above). KeePass doesn't create any new registry keys and it doesn't create any configuration files in your Windows or application data directory of your user profile.

Make sure that KeePass has write access to its application directory. Otherwise, if it doesn't have, it'll attempt to store the configuration options (nothing security-relevant though) into the application data directory of the currently logged on user. For more about that, see this page: Configuration.

Installation:
KeePass does not need to be installed. Just download the ZIP package, unpack it with your favorite ZIP program and KeePass is ready to be used. Copy it to a location of your choice (for example onto your USB stick); no additional configuration or installation is needed.

Updating:
Download the latest portable package of KeePass, unpack it and copy all new files over the old ones. Your configuration settings will not be lost (the settings are stored in the KeePass.config.xml file, which won't be overwritten, because KeePass ZIP packages don't include a KeePass.config.xml file).

Uninstallation:
Simply delete the KeePass folder. This will leave no trace of KeePass on your system.

## Running KeePass under Mono (Linux, Mac OS X, BSD, ...)

In addition to Windows, KeePass 2.x runs under Mono, i.e. Linux, Mac OS X, BSD, etc.

Links to all supported packages can be found on the KeePass downloads page: http://keepass.info/download.html.

- Debian/Ubuntu Linux:
  Install the keepass2 / KeePass 2.x for Debian/Ubuntu Linux package (e.g. using APT). A link to a page with more information about this package can be found on the downloads page.
- Fedora Linux:
  Install the keepass package (from the Fedora repository; link on the downloads page).
- OpenSUSE Linux:
  Install the keepass package (from the Mono community repository; link on the downloads page).
- Arch Linux:
  Install the keepass package (from the Arch Linux repository; link on the downloads page).
- Mac OS X:
  Install the KeePass 2.x for Mac OS X package (link on the downloads page).
- FreeBSD:
  Install the keepass package (from the FreeBSD ports tree or binary pkg repository; link on the downloads page).
- Other Unix-like systems:
  In order to run KeePass, follow these steps:
  1. Install Mono ≥ 2.6 (older versions will not work and are not supported). Depending on your platform, the packages to install are called `mono-stable`, `MonoFramework`, `mono-devel` or `mono-2.0-devel`; see the Mono project page, if you are unsure which packages to install.
  2. On some platforms, the Windows Forms implementation (System.Windows.Forms) is offered as a separate package. KeePass requires this package; so if you see one, install it, too.
  3. On some platforms, the Runtime namespace (System.Runtime) is offered as a separate package. KeePass requires this package; so if you see one, install it, too.
  4. If you want to use auto-type on Linux / Mac OS X / BSD / etc., you additionally need the `xdotool` package.
  5. Download the portable version of KeePass (file `KeePass-2.xx.zip`) and unpack it in a location of your choice.
  6. When being in the KeePass directory, run the command line "`mono KeePass.exe`". Alternatively, right-click onto the `KeePass.exe` file, choose "Open with Other Application" and type in `mono` as custom command.

  For the last step you might want to create a shortcut or shell script file with this command line (use an absolute path to `KeePass.exe`, if the shortcut / shell script file is in a different location).

  Clipboard:
  On some systems, Mono's clipboard routines don't work properly. In this case, install the `xsel` package. If `xsel` is installed, KeePass uses this utility for clipboard operations.

  Global Auto-Type:
  In order to use global auto-type, you need to create an appropriate system-wide hot key. This only needs to be done manually once. KeePass performs global auto-type when it's invoked with the `--auto-type` command line option.

  Some examples how to create a system-wide hot key for global auto-type, for different operating systems:

  - KDE. On Linux systems with KDE, the hot key can be created in Computer -> System Settings -> Shortcuts and Gestures: in this dialog, go Edit -> New -> Global Shortcut -> Command/URL, specify the shortcut on the Trigger tab and enter
    `mono /YourPathToKeePass/KeePass.exe --auto-type`
    into the Command/URL field on the Action tab.
  - Ubuntu Linux ≥ 11.04 (Unity/GNOME). Open the dialog Keyboard Shortcuts in the system preferences, click the Add button, enter `KeePass Auto-Type` as name and
    `mono /YourPathToKeePass/KeePass.exe --auto-type`
    as command, then click [Apply]. Click on Disabled of the newly created item (such that the text 'New shortcut...' appears), press Ctrl+Alt+A, and close the dialog.
  - Ubuntu Linux ≤ 10.10 (GNOME).
    1. Press Alt-F2, enter `gconf-editor` and click [OK].
    2. Navigate to `apps` -> `metacity` -> `keybinding_commands`.
    3. Double-click one of the `command_i` items, enter
       `mono /YourPathToKeePass/KeePass.exe --auto-type`
       and click [OK].
    4. Click the `global_keybindings` node on the left.
    5. Double-click the appropriate `run_command_i` item (for example, when you've used `command_5` in the previous steps, double-click `run_command_5` now) and specify the hot key of your choice. For example, to use Ctrl+Alt+A as hot key, you'd enter `<Control><Alt>a`.

  Important: for global auto-type, the version of the `xdotool` package must be 2.20100818.3004 or higher! If your distribution only offers an older version, you can download and install the latest version of the package manually, see the `xdotool` website.

## Portable KeePass using Mono

The approach below worked perfectly when this documentation was written. However, as this type of Mono installation is nowhere mentioned on the Mono website, it might stop working with a future Mono release.

Although almost all of today's PCs can run .NET applications (the .NET Framework is already preinstalled on Windows ≥ Vista, and for all major Linux / Mac OS X distributions Mono is available, which actually even is a dependency of the GNOME ≥ 2.16 desktop), you still might want to run KeePass 2.x on a PC without any .NET support, like an old Windows XP system where you don't have administrative rights to install the .NET Framework.

For such a situation, you can create a portable version of KeePass using Mono, which works on PCs without .NET. To do this, follow these steps (assuming a Windows PC):

1. Download the latest portable ZIP package of KeePass 2.x (file `KeePass-2.xx.zip`). Unpack it to some location, e.g. a folder `E:\KeePass` on your USB stick.
2. Download the latest Mono installer. Run it to locally install Mono on your current PC (e.g. on `C:`). KeePass doesn't require GTK+, GNOME or XSP, so you can disable the options for these during the installation.
3. After installing Mono, copy the whole Mono application folder (e.g. `C:\Program Files\Mono`) to your USB stick, e.g. to `E:\Mono`.
4. In order to simplify starting KeePass, create a batch file on your USB stick, e.g. `E:\RunKeePass.bat`. This batch file should run KeePass using the `mono.exe` application on the USB stick. For example, with the paths above, the content of the batch file would look like:

       START "" Mono\bin\mono.exe KeePass\KeePass.exe

In order to run KeePass on a PC without .NET support, simply plug in the USB stick and run the batch file.

The approach above should be seen as the very last possibility to run KeePass 2.x. Installing .NET support (either the .NET Framework or Mono) is highly recommended instead!