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

Cannot start the application because of partially missing MSVC CRT DLLs on Windows 10 x64 #404

Open
Anton-V-K opened this issue Jul 20, 2021 · 3 comments

Comments

@Anton-V-K
Copy link

Anton-V-K commented Jul 20, 2021

Description

The application fails to start on Windows 10 x64

Steps to Reproduce

  1. Install latest version on a clean Windows 10 64-bit (10.0.18362 Build 18362) without installed updates.
  2. Run the application.

Expected behavior: The application should start.

Actual behavior: The application fails to start because of missing VCRUNTIME140_1.dll and MSVCP140_1.dll.

Here are the system error messages (in Russian):

---------------------------
Seg3D2.exe - Системная ошибка
---------------------------
Не удается продолжить выполнение кода, поскольку система не обнаружила VCRUNTIME140_1.dll.
Для устранения этой проблемы попробуйте переустановить программу. 

---------------------------
Seg3D2.exe - Системная ошибка
---------------------------
Не удается продолжить выполнение кода, поскольку система не обнаружила MSVCP140_1.dll.
Для устранения этой проблемы попробуйте переустановить программу. 

Similar issue(s): May be related to #397

Versions

Application: Seg3D v2.5.1 for Windows 64-bit
OS: Windows 10 64-bit (10.0.18362 Build 18362) without installed updates

@Anton-V-K
Copy link
Author

Anton-V-K commented Jul 20, 2021

Since the rest of MSVC CRT DLLs (namely concrt140.dll, msvcp140.dll, vcruntime140.dll) are already present in the application bin directory, I would try putting the missing ones (VCRUNTIME140_1.dll and MSVCP140_1.dll) into the same location.
If you share the missing DLLs, I can test to verify whether this fixes the issue.

@dcwhite
Copy link
Member

dcwhite commented Jul 21, 2021

I will work on fixing the installer, it looks like building with a newer Visual Studio is the problem. In the meantime, just google those DLL names, they can be downloaded and put in the bin folder which should fix it.

@Anton-V-K
Copy link
Author

Thanks for looking into this.
I guess, all DLLs should belong to the same CRT version (14.16.27012), and I doubt it will be easy to find DLLs separately - they are usually deployed as a bunch by vcredist_x64.exe or vcredist_x86.exe.
Anyway I looked into directories of VS2017 (I have it installed on one of my PCs), and found (at the location like C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Redist\MSVC\14.16.27012\x64\Microsoft.VC141.CRT) following DLLs:

  • concrt140.dll
  • msvcp140.dll
  • msvcp140_1.dll
  • msvcp140_2.dll
  • vccorlib140.dll
  • vcruntime140.dll

It's strange that VCRUNTIME140_1.dll isn't there.
Looking at the dependencies of the application, I see that only Qt's DLLs (qwindows.dll, QT5WIDGETS.DLL, QT5GUI.DLL, etc.) are linked against VCRUNTIME140_1.dll, so I guess, the bundled Qt binaries are linked against VS2015's CRT, and the app is linked against VS2017's CRT... well, it looks like a mini "DLL hell" :)

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

No branches or pull requests

2 participants