KeePass2 password manager released version 2.52 a day ago. Here’s how to install it in Ubuntu 22.04, Ubuntu 20.04, & Ubuntu 18.04 via PPA.
The new release now allows importing 1Password 8.7 1PUX, and Key Folder 1.22 XML files, as well as groups and expiry dates when importing Sticky Password XML.
There are also other password manager files compatibility, such as support for the new encoding of double quotes when importing Steganos Password Manager CSV, and automatically convert time-based one-time password generator settings on Bitwarden JSON import.
KeePass2 2.52 also has some UI improvements, including ‘Copy Initial Password’ option in the tool menu of entry dialog; ‘Alt. item background color’ option that combines the previous ‘Use alternating item background colors’ and ‘Custom alt. item color’.
It now checks the ‘KeePass.exe.config’ file and shows a warning message when finding a problem. Which, causes the following pop-up on every start in my case. Though, it seems working without any issue.
I’m not user of KeePass, and don’t know what’s wrong with the default config file build from source tarball. If you know how to correct it, please leave comment below so I can fix it in the PPA package.
See more about KeePass 2.52 via the official release note.
UPDATE for the “/usr/lib/keepass2/KeePass.exe.config”:
Thanks to Ivan K and gilles, you may manually correct the version number to workaround the issue:
1. Open terminal (Ctrl+Alt+T) and run command to get the version number:
monodis --assembly /usr/lib/keepass2/KeePass.exe
2. Next, edit the config file via command:
sudo gedit /usr/lib/keepass2/KeePass.exe.config
Finally, change the “NewVersion” number to match the one you got in last command.
Install KeePass2 2.52 via PPA:
Though there are good native password managers such as KeePassXC for Linux, you can use KeePass2 for your choice. And, I uploaded the package into this unofficial PPA for easy installation.
1. First, press Ctrl+Alt+T on keyboard to open terminal. Then run the command below to add the PPA:
sudo add-apt-repository ppa:ubuntuhandbook1/keepass2
2. For old Ubuntu 18.04 & Linux Mint, you need to manually refresh package cache though it’s done automatically in Ubuntu 20.04+:
sudo apt update
3. Finally, either run the apt command below to install the package:
sudo apt install keepass2
Or use Software Updater (Update Manager) to update the package if an old version was installed on your system.
Uninstall KeePass2:
To remove the software package, also open terminal (Ctrl+Alt+T) and run command:
sudo apt remove --autoremove keepass2
And, remove the PPA, either by going to “Software & Updates -> Other Software” and remove the source line, or run the command below in terminal:
sudo add-apt-repository --remove ppa:ubuntuhandbook1/keepass2
Has anybody found the solution to the above mentioned problem with the ‘Keepass.exe.config’ file the message is a bit annoying
I have a bad experience with the keepass2
https://forums.linuxmint.com/viewtopic.php?t=251394
Hello,
The startup error is due to a new feature they’ve added to KeePass 2.52:
“KeePass now checks the ‘KeePass.exe.config’ file and shows a warning message when finding a problem.”
The problem is that they use this format for their Version string. Note the asterisk at the end: [assembly: AssemblyVersion(“2.52.0.*”)]
From MSDN documentation:
A version number such as [assembly:AssemblyVersion(“1.2.15.*”)] specifies 1 as the major version, 2 as the minor version, 15 as the build number, and accepts the default revision number. The default build number increments daily. The default revision number is the number of seconds since midnight local time (without taking into account time zone adjustments for daylight saving time), divided by 2.
Thus you can see that part of the version number is auto-generated based on the time of day that the compiler was executed. And here you can see part of the code in KeePass that implements the new feature of checking the exe.config file:
Program.cs::CheckExeConfig
a = n.Attributes[“newVersion”];
fAssert(((a != null) && (a.Value == strNew)), true);
And the value of newVersion in the .exe.config file is “2.52.0.17694”, which is almost certainly not what the auto-generated value in your assembly binary will be unless you by wild chance happened to compile the application at the exact same time of day as the official KeePass release team compiled their application.
I think the way to fix this would be to modify the KeePass.exe.config file in your distribution to match the value in your binary. To do this you would have to first compile the application (as you already have), and then check its version info string, and then update the KeePass.exe.config file’s newVersion entry to match whatever value is in your binary. To check the version of your compiled assembly (KeePass.exe) in Linux isn’t as easy as Windows where you can just right-click the file and see the properties tab, but StackOverflow has answers depending on what utils you have installed on your box.
Or someone (maybe me if a thousand other people haven’t already also encountered this) can just let the KeePass team know about the issue where everyone who compiles their app themselves will now have to do this….
Hello there,
for the warning the solution is :
monodis --assembly /usr/lib/keepass2/KeePass.exe
obtain the version number : 2.52.0.23776
change in KeePass.exe.config : newVersion=2.52.0.23776
Thx Ivan K ! You are right !
Thank both of you very much, this did it!!!!!