Win 7 64 - The miracle of VCRUNTIME140_APP.dll
-
Hello,
I don’t know if anyone can explain this one.
OS : Win 7 64 bitI have compiled my project with Qt Creator and Qt lib 5.9.9
My project just opens a dialog box with EDIT BOXes, COMBOBOXes and such.
I am making Qt Creator use the MSVC 2015 compiler. Is that the problem?My project runs on this Win 7 but not on another one where Qt Creator is not installed.
There is Depends.exe that comes with VC++6. It tells me which DLLs are needed.
It needs
Qt5Widgets.dll
Qt5Gui.dll
Qt5Core.dll
and a couple of msvc DLLs, kernel32.dll, shell32.dll
and a few bizarre ones that obviously are part of the Microsoft ultra-complex naming project.Here is where the magic happens:
Qt5Gui.dll and Qt5Core.dll need:
VcRuntime140_app.dll
api-ms-win-core-com-L1-1-1.dllI scanned my entire C: drive. These files don’t exist.
Yet, my project runs on the Win 7 where Qt Creator is installed.
How does it do it? Does Qt dynamically create these files in RAM?I searched the web. Other people mention not having VcRuntime140_app.dll
The recommended solution is to install the VC runtime. The person responded by saying he installed it and the file is still not installed.
Then, nobody responds. -
@stretchthebits said in Win 7 64 - The miracle of VCRUNTIME140_APP.dll:
The recommended solution is to install the VC runtime.
And this solution is correct.
-
@stretchthebits said in Win 7 64 - The miracle of VCRUNTIME140_APP.dll:
VcRuntime140_app.dll
I'm pretty sure this is a UWP DLL. It does not support Windows 7 -- you need a Windows 10 machine to run it.
Don't use a UWP kit; use a Desktop kit instead. UWP is deprecated: https://www.thurrott.com/dev/258377/microsoft-officially-deprecates-uwp
-
@Christian-Ehrlicher said in Win 7 64 - The miracle of VCRUNTIME140_APP.dll:
@stretchthebits said in Win 7 64 - The miracle of VCRUNTIME140_APP.dll:
The recommended solution is to install the VC runtime.
And this solution is correct.
Huh?
-
@JKSH said in Win 7 64 - The miracle of VCRUNTIME140_APP.dll:
@stretchthebits said in Win 7 64 - The miracle of VCRUNTIME140_APP.dll:
VcRuntime140_app.dll
I'm pretty sure this is a UWP DLL. It does not support Windows 7 -- you need a Windows 10 machine to run it.
Don't use a UWP kit; use a Desktop kit instead. UWP is deprecated: https://www.thurrott.com/dev/258377/microsoft-officially-deprecates-uwp
Alright, I suppose this means that the online installer of Qt Creator installed the wrong DLLs on my Win 7
Qt5Gui.dll
Qt5Core.dllIs there a step by step guide on how to install Qt Creator on Win 7?
Should we install MingWin or one of the Visual Studio versions? -
@stretchthebits said in Win 7 64 - The miracle of VCRUNTIME140_APP.dll:
Alright, I suppose this means that the online installer of Qt Creator installed the wrong DLLs on my Win 7
It's hard to say. The installer installed what you asked it to install.
In Qt Creator, open "Tools" > "Options..." > "Kits". What kits do you have?
Is there a step by step guide on how to install Qt Creator on Win 7?
Not really, unfortunately.
Should we install MingWin or one of the Visual Studio versions?
Well, which compiler do you want to use? If you want to use MSVC 201x, then install a non-UWP, MSVC 201x version of Qt.
-
@JKSH said in Win 7 64 - The miracle of VCRUNTIME140_APP.dll:
Should we install MingWin or one of the Visual Studio versions?
Well, which compiler do you want to use? If you want to use MSVC 201x, then install a non-UWP, MSVC 201x version of Qt.
SOLVED!
After 6 h of trying stuff. My back hurts.I’m not sure how but I think I had the wrong DLLs there. Maybe I took the ones from
C:\Qt\5.9.9\winrt_x86_msvc2015\binI had used the MS VC 2015 compiler or 2017 compiler. I am not sure.
I would have to reboot back into Win 7 to see my setup. I mostly spend time in Kubuntu.BONUS:
I figured out how to deploy my app without using the
windeployqt
from
https://wiki.qt.io/Deploy_an_Application_on_WindowsMay I modify the Wiki and add instructions as to what I did or would someone delete it?
-
@stretchthebits said in Win 7 64 - The miracle of VCRUNTIME140_APP.dll:
SOLVED!
Great!
C:\Qt\5.9.9\winrt_x86_msvc2015\bin
The "winrt" prefix shows that it is a UWP kit. Uninstall it.
I had used the MS VC 2015 compiler or 2017 compiler. I am not sure.
Please take the time to check.
BONUS:
I figured out how to deploy my app without using the
windeployqt
from
https://wiki.qt.io/Deploy_an_Application_on_WindowsYour problem was not related to windeployqt; it was caused by taking DLLs from the wrong Kit. You must take care to call windeployqt.exe or copy DLLs from the Kit that you used to build your application.
The article you linked does say "NOTE: The recommended way to deploy your application is to use the official deployment tool (windeployqt). Try that first! Continue reading this guide only if windeployqt doesn't quite work for you."
May I modify the Wiki and add instructions as to what I did or would someone delete it?
Yes, the Wiki can be modified by all community members. It is moderated though, so it can take a few days before your modifications become visible.
Having said that, this particular article already has detailed instructions. What would you like to add that is not already covered?
-
@JKSH
“Please take the time to check.”==In my case, I had compiled for
Qt 5.9.9 MSVC2015 32 bitI also compiled for
Qt 5.9.9 MSVC2015 64 bit
For my 64 bit EXE, I ran the WinDeployQt.exe and looks like it worked.I added a section @
https://wiki.qt.io/index.php?title=Deploy_an_Application_on_Windows&modqueued=1
but like you said, it is moderated.“Having said that, this particular article already has detailed instructions. What would you like to add that is not already covered?”
==I added this. Such things are always a matter of taste. If they don’t want it, it won’t show up on that site.
=== WinDeployQT (or windeplyqt.exe) ===
The recommended way to deploy your application is to use the [https://doc.qt.io/Qt-5/windows-deployment.html official deployment tool (windeployqt)].Please read that page first. If you need more details, read this part:
For example, if you have installed Qt lib 5.9.9 in the default location, it would be installed in C:\Qt\5.9.9
If you have installed the toolkit for Android ARMv7, there will be a folder named android_armv7.
The file windeployqt.exe would be located in C:\Qt\5.9.9\android_armv7\bin.
In reality, there is no windeployqt.exe for that platform.
If you have chosen to install the MS VC 2013 x64 toolchain during the installation of Qt Creator, there will be a folder named msvc2013_64.
The file windeployqt.exe would be located in C:\Qt\5.9.9\msvc2013_64\bin.
If you have chosen to install the MS VC 2015 x86 toolchain during the installation of Qt Creator, there will be a folder named msvc2015.
The file windeployqt.exe would be located in C:\Qt\5.9.9\msvc2015\bin.
If you have chosen to install the MS VC 2015 x64 toolchain during the installation of Qt Creator, there will be a folder named msvc2015_64.
The file windeployqt.exe would be located in C:\Qt\5.9.9\msvc2015_64\bin.Do not move windeployqt.exe to another folder.
Create a folder and place your program (your EXE file) into it.
Then, you will need to run windeployqt.exe.
For example, from the command line, run C:\Qt\5.9.9\msvc2013_64\bin\windeployqt.exe C:\MyFolder\MyProgram.exe
MyFolder is now ready. You can copy it to any other PC and run your MyProgram.exe. -
@stretchthebits thats a very verbose way of saying:
As each kit comes with its own windeployqt tool, make sure you're calling the one linked to the kit your application was compiled with.