keepassxreboot / keepassxc

KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.
https://keepassxc.org/
Other
21.33k stars 1.47k forks source link

Missing DLLs when using winget / legacy windows installer #9773

Open dallisonscwx opened 1 year ago

dallisonscwx commented 1 year ago

Overview

Many users are missing DLLs when updating Keepassxc to 2.7.6 when enrolled into Intune and using Microsoft Store (New) app deployment. (Windows only)

Steps to Reproduce

  1. Update package using Microsoft Store (New) deployment in Intune

Expected Behavior

App updates with all DLLs

Actual Behavior

At least 2 DLLs can be missing zlib1.dll libssl-3-x64.dll

Context

KeePassXC - 2.7.6 Revision: dd21def

Operating System: Windows

droidmonkey commented 1 year ago

I used the same installer for windows store as normal deployment. Ensure you don't have a virus scanner that is blocking or deleting those dll files. This is non reproducible.

phoerious commented 1 year ago

At least the portable ZIP contains both of these.

qu1ck commented 1 year ago

I just ran into this after updating to 2.7.6 My install method is through winget winget install -e --id KeePassXCTeam.KeePassXC which installs the legacy msi installer.

droidmonkey commented 1 year ago

I see both of those dlls in the legacy windows zip file. Haven't tested the msi installer yet but very very unlikely they are missing.

Kansattica commented 1 year ago

Also having this issue after a winget upgrade (winget install keepassxcteam.keepassxc) to the latest version. I'm running more or less stock Windows 11 (no intune, no antivirus besides the one built in to Windows, which hasn't said anything). I get told "The code execution cannot proceed because zlib1.dll was not found. Reinstalling the program may fix this problem." by a dialog box that pops up like five times when I try to start KeePassXC.

Kansattica commented 1 year ago

update: reinstalling with winget install --force keepassxcteam.keepassxc looks like it worked.

after seeing this Reddit comment, I wonder if it was caused by winget updating the Visual C++ Redistributable at the same time.

phoerious commented 1 year ago

Those DLLs are nothing to do with MSVC.

dallisonscwx commented 1 year ago

Will force reinstalling it via Winget, instead of via Intune (which I realise uses Winget behind the scenes), cause any issues with the database? Will users have to reconnect their DB and keys?

droidmonkey commented 1 year ago

No harm in reinstalling, user settings are not touched.

raketenraupe commented 1 year ago

same issue, manual reinstall and reinstall via winget with --force did not help. Latest VC_redist.x64.exe is installed and the version linked on the keepassxc download website gives me an error that a newer version is already installed //after adding the DLLs manually from the portable version everything works fine again

droidmonkey commented 1 year ago

This should be reported over in the winget issue board. We don't manage that distribution channel

daccle commented 1 year ago

I can reproduce this! I am using the following versions:

KeepassXC fails when installing, via:

So, to me this is not a upstream channel problem, but a bug in the current windows installer/version

@droidmonkey I would recommend to reopen the issue

droidmonkey commented 1 year ago

It is open

droidmonkey commented 1 year ago

I just uninstalled and installed with both Winget and Windows Store. They both worked flawlessly. I am closing this issue as it is absolutely not an issue with our installer. The DLLs were all in there, there were no hiccups or problems. We also did not make any changes to the installer setup between 2.7.5 and 2.7.6.

AlphaScorpii-dev commented 1 year ago

I have the same issue with 2.7.6 since this week. I assume something changed on the Windows side. Installing from winget, or the website installer gives me the same kind of error, though with different impacted DLLs.

Oxygels commented 1 year ago

Using Windows 11 22621.2134 with Windows Defender. First update via Winget with the legacy zip caused an error Reinstalling via winget install --force keepassxcteam.keepassxc fixed the issue FYI

MarcoJanse commented 1 year ago

I also tried force reinstalling KeepassXC using winget and that resolved the issus for me as well.

EricM81 commented 1 year ago

I am having the same issue as well. I upgraded from 2.7.5 to 2.7.6 via WinGet and it says I am missing the zlib1.dll. I tried to reinstall from the regular installer (https://keepassxc.org/download/#windows) and now it says I am missing libcrypto-3-x64.dll and libssl-3-x64.dll.

mhaustein commented 1 year ago

Similar issue for me. I think I had installed 2.7.5 before from the web download page. Tried upgrading via WinGet and got error "libssl-3-x64.dll missing". Reinstalled with the --force option and then it said "zlib1.dll missing". I'm back on 2.7.5 for now.