windeployqt, looks ok, but no files transferred
-
I created a batch file to make life easier:
@echo off @echo Qt Deployment SET VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\ SET QT5.9.2=C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\bin\ %QT5.9.2%\windeployqt.exe --dir .\install .\deploy\trngServer.exe
The output when running this:
C:\Users\simon\Documents\application>deploy Qt Deployment C:\Users\simon\Documents\application\deploy\trngServer.exe 32 bit, release executable [QML] Adding Qt5Quick for qtvirtualkeyboardplugin.dll Direct dependencies: Qt5Core Qt5Gui Qt5Network Qt5Qml Qt5Sql Qt5Svg Qt5Widgets Qt5Xml All dependencies : Qt5Core Qt5Gui Qt5Network Qt5Qml Qt5Sql Qt5Svg Qt5Widgets Qt5Xml To be deployed : Qt5Core Qt5Gui Qt5Network Qt5Qml Qt5Quick Qt5Sql Qt5Svg Qt5Widgets Qt5Xml Qt5Core.dll is up to date. Qt5Gui.dll is up to date. Qt5Network.dll is up to date. Qt5Qml.dll is up to date. Qt5Quick.dll is up to date. Qt5Sql.dll is up to date. Qt5Svg.dll is up to date. Qt5Widgets.dll is up to date. Qt5Xml.dll is up to date. libGLESV2.dll is up to date. libEGL.dll is up to date. D3Dcompiler_47.dll is up to date. opengl32sw.dll is up to date. vcredist_x86.exe is up to date. Patching Qt5Core.dll... qgenericbearer.dll is up to date. qnativewifibearer.dll is up to date. qsvgicon.dll is up to date. qgif.dll is up to date. qicns.dll is up to date. qico.dll is up to date. qjpeg.dll is up to date. qsvg.dll is up to date. qtga.dll is up to date. qtiff.dll is up to date. qwbmp.dll is up to date. qwebp.dll is up to date. qtvirtualkeyboardplugin.dll is up to date. qwindows.dll is up to date. qmldbg_debugger.dll is up to date. qmldbg_inspector.dll is up to date. qmldbg_local.dll is up to date. qmldbg_messages.dll is up to date. qmldbg_native.dll is up to date. qmldbg_nativedebugger.dll is up to date. qmldbg_profiler.dll is up to date. qmldbg_quickprofiler.dll is up to date. qmldbg_server.dll is up to date. qmldbg_tcp.dll is up to date. qsgd3d12backend.dll is up to date. qsqlite.dll is up to date. qsqlmysql.dll is up to date. qsqlodbc.dll is up to date. qsqlpsql.dll is up to date. Creating qt_bg.qm... Creating qt_ca.qm... Creating qt_cs.qm... Creating qt_da.qm... Creating qt_de.qm... Creating qt_en.qm... Creating qt_es.qm... Creating qt_fi.qm... Creating qt_fr.qm... Creating qt_gd.qm... Creating qt_he.qm... Creating qt_hu.qm... Creating qt_it.qm... Creating qt_ja.qm... Creating qt_ko.qm... Creating qt_lv.qm... Creating qt_pl.qm... Creating qt_ru.qm... Creating qt_sk.qm... Creating qt_uk.qm...
The deploy folder I created before running the script just contains the executable which I transferred before running the batch file, there are no errors shown and as far as I can see it reports everything ok, but there are no DLL's transferred to the deploy folder. The folder install contains:
-
@SPlatten, I've progressed a bit further, however when I launch the application after it has been installed I get no error returned and no application is running. I've searched the event viewer looking for some clues as to what is happening, there are no relevant entries to this application.
Can anyone help ?
-
@SPlatten said in windeployqt, looks ok, but no files transferred:
Can anyone help ?
Open terminal, set QT_DEBUG_PLUGINS there and start your app from that terminal.
Check the output.
https://doc.qt.io/qt-5/deployment-plugins.html -
@jsulm , after setting that environment variable:
SET QT_DEBUG_PLUGINS=1
When I now try to launch the application a dialog is displayed:
The application was unable to start correctly (0xc000007b). Click OK to close the application.
When I run in debug mode within Qt Creator there are no issues.
-
@SPlatten said in windeployqt, looks ok, but no files transferred:
0xc000007b
A reason for this can be that you're mixing 32bit and 64bit.
If I reread your first post then it really looks like you're indeed doing:- SET QT5.9.2=C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\bin\
- C:\Users\simon\Documents\application\deploy\trngServer.exe 32 bit, release executable [QML]
64bit Qt, but 32bit app.
-
@jsulm , ok, will edit and remove _64....I remember now, I tried this before, but I get:
This app can't be run on your PC To find a version for your PC, check with the software publisher
The OS is Windows 10 Enterpise Version 10.0.19041 Build 19041, x64-based PC.
-
@SPlatten said in windeployqt, looks ok, but no files transferred:
still can't run the 32 bit version of windeployqt
Why not?
What happens? -
@SPlatten said in windeployqt, looks ok, but no files transferred:
SET VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0
SET QT5.9.2=C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\bin\C:\Users\simon\Documents\application>deploy
Qt Deployment
C:\Users\simon\Documents\application\deploy\trngServer.exe 32 bit, release executable [QML]This looks strange to me.
You are setting up a 64bit Qt Kit, but your binary is 32 bit... -
@KroMignon , the target executable is 32 bit, running a 32 bit executable on a 64 bit OS is not an issue, however when I try to access the 32 bit windeployqt application I get:
The environment variable from the batch file Qt5.9.2 is one used to reference windeployqt, but changing it to the 32 bit version doesn't work. -
@SPlatten said in windeployqt, looks ok, but no files transferred:
the target executable is 32 bit, running a 32 bit executable on a 64 bit OS is not an issue, however when I try to access the 32 bit windeployqt application I get:
That is not the point: you are using windeployqt.exe of 64 bit kit for a 32 bit application ==> this is bad
You should use the 32 bit kit:@echo off @echo Qt Deployment SET VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\ REM SET QT5.9.2=C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\bin\ SET QT5.9.2=C:\Qt\Qt5.9.2\5.9.2\msvc2015\bin\ %QT5.9.2%\windeployqt.exe --dir .\install .\deploy\trngServer.exe
-
@KroMignon said in windeployqt, looks ok, but no files transferred:
That is not the point: you are using windeployqt.exe of 64 bit kit for a 32 bit application
We already clarified this.
@SPlatten tries to run 32bit windeployqt.exe but this fails with the error he posted. -
@SPlatten said in windeployqt, looks ok, but no files transferred:
I did exactly that and the result is that trying to run the 32bit version of windeployqt will not work, see the dialog image I posted which is a direct result of trying to run the 32bit version of windeployqt.
Very strange, I guess you have add Qt in the system/user PATH.
Have you tried this:@echo off @echo Qt Deployment SET VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\ SET QT5.9.2=C:\Qt\Qt5.9.2\5.9.2\msvc2015\bin\ call "%QT5.9.2%\qtenv2.bat" %QT5.9.2%\windeployqt.exe --dir .\install .\deploy\trngServer.exe
EDIT
or maybe this could be better:@echo off @echo Qt Deployment SET VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\ SET QT5.9.2=C:\Qt\Qt5.9.2\5.9.2\msvc2015\bin\ SET PATH=%QT5.9.2%;%PATH% %QT5.9.2%\windeployqt.exe --dir .\install .\deploy\trngServer.exe