Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Application cannot run due to missing dll files #9802

Closed
safval opened this issue Aug 28, 2023 · 7 comments
Closed

Application cannot run due to missing dll files #9802

safval opened this issue Aug 28, 2023 · 7 comments

Comments

@safval
Copy link

safval commented Aug 28, 2023

Overview

If the application is installed on a freshly reinstalled Windows system, it cannot launch. The system shows the error message:

KeePassXC.exe - System Error.
The code execution cannot proceed because VCRUNTIME140.dll was not found. Reinstalling the program may fix this problem.

The same message is repeated for VCRUNTIME140.dll, VCRUNTIME140_1.dll, and VCRUNTIME140.dll.
Installing on Windows Sandbox gives the same result.

Steps to Reproduce

  1. Enable the Windows Sandox and open it.
  2. Copy KeePass installator (KeePassXC-2.7.6-Win64.msi) into the sandbox window.
  3. Install KeePass.

Expected Behavior

KeePass starts.

Actual Behavior

Error messages are shown.

Context

KeePassXC - 2.7.6

Operating System: Windows 11 Pro 22H2 OS build 22621.2134

@safval safval added the bug label Aug 28, 2023
@phoerious
Copy link
Member

phoerious commented Aug 28, 2023

Duplicate of #7564. You need to install the MSVC Runtime library.

@phoerious phoerious closed this as not planned Won't fix, can't repro, duplicate, stale Aug 28, 2023
@phoerious phoerious added duplicate and removed bug labels Aug 28, 2023
@safval
Copy link
Author

safval commented Aug 28, 2023

Installers have that duty, don't they?

@phoerious
Copy link
Member

MSI installers cannot piggyback third-party dependencies. Thank Microsoft for this.

@safval
Copy link
Author

safval commented Aug 28, 2023

There is a tool in Qt5 called windeployqt.exe. It intends to gather all necessary files. It's possible that its --compiler-runtime flag can help to fix this problem.

@droidmonkey
Copy link
Member

No, that's not how that works, but thank you

@phoerious
Copy link
Member

We could ship the DLLs as part of KeePassXC, but since Windows cannot keep those up to date, it is explicitly discouraged by the MSVC docs.

@safval
Copy link
Author

safval commented Aug 28, 2023

Okay, I understand now. I didn't assume it was done on purpose.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants