windeployqt, looks ok, but no files transferred
-
@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
@KroMignon , this is now the content of the batch file:
@echo off @echo Qt Deployment SET CWD=%CD% SET VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\ REM NOTE: The 32bit version of windeployqt cannot be run on 64 bit Windows. SET QT5.9.2=C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\bin\ CALL "%QT5.9.2%\qtenv2.bat" CD %CWD% SET QTLIB=C:\Qt\Qt5.9.2\5.9.2\msvc2015\lib SET QTPLUGINS=C:\Qt\Qt5.9.2\5.9.2\msvc2015\plugins %QT5.9.2%\windeployqt.exe --libdir %QTLIB% --plugindir %QTPLUGINS% --dir install\ deploy\trngServer.exe
After running this the output is:
Qt Deployment Setting up environment for Qt usage... Remember to call vcvarsall.bat to complete environment setup! Creating install\... 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 install\\translations... 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 result is the install folder is created but only contains a subfolder called translations. There are no dll's or executable.
-
@KroMignon , this is now the content of the batch file:
@echo off @echo Qt Deployment SET CWD=%CD% SET VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\ REM NOTE: The 32bit version of windeployqt cannot be run on 64 bit Windows. SET QT5.9.2=C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\bin\ CALL "%QT5.9.2%\qtenv2.bat" CD %CWD% SET QTLIB=C:\Qt\Qt5.9.2\5.9.2\msvc2015\lib SET QTPLUGINS=C:\Qt\Qt5.9.2\5.9.2\msvc2015\plugins %QT5.9.2%\windeployqt.exe --libdir %QTLIB% --plugindir %QTPLUGINS% --dir install\ deploy\trngServer.exe
After running this the output is:
Qt Deployment Setting up environment for Qt usage... Remember to call vcvarsall.bat to complete environment setup! Creating install\... 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 install\\translations... 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 result is the install folder is created but only contains a subfolder called translations. There are no dll's or executable.
-
@KroMignon , this is now the content of the batch file:
@echo off @echo Qt Deployment SET CWD=%CD% SET VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 14.0\ REM NOTE: The 32bit version of windeployqt cannot be run on 64 bit Windows. SET QT5.9.2=C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\bin\ CALL "%QT5.9.2%\qtenv2.bat" CD %CWD% SET QTLIB=C:\Qt\Qt5.9.2\5.9.2\msvc2015\lib SET QTPLUGINS=C:\Qt\Qt5.9.2\5.9.2\msvc2015\plugins %QT5.9.2%\windeployqt.exe --libdir %QTLIB% --plugindir %QTPLUGINS% --dir install\ deploy\trngServer.exe
After running this the output is:
Qt Deployment Setting up environment for Qt usage... Remember to call vcvarsall.bat to complete environment setup! Creating install\... 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 install\\translations... 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 result is the install folder is created but only contains a subfolder called translations. There are no dll's or executable.
@SPlatten said in windeployqt, looks ok, but no files transferred:
The result is the install folder is created but only contains a subfolder called translations. There are no dll's or executable.
Okay, perhaps you should provide full path and not relative and add quotes to ensure it will work, event with spaces.
And please removelibdir
andplugindir
, this is to tell where the tool should write the used libraries/plugins (https://doc.qt.io/qt-5/windows-deployment.html)%QT5.9.2%\windeployqt.exe --dir "%CWD%\install\" "%CWD%\deploy\trngServer.exe"
-
@SPlatten I doubt this approach is going to work.
You should rather find out why the 32bit windwployqt.exe does not run.
Does qmake.exe from C:\Qt\Qt5.9.2\5.9.2\msvc2015 run?
Maybe try to disable anti virus software. -
@SPlatten I doubt this approach is going to work.
You should rather find out why the 32bit windwployqt.exe does not run.
Does qmake.exe from C:\Qt\Qt5.9.2\5.9.2\msvc2015 run?
Maybe try to disable anti virus software.@jsulm said in windeployqt, looks ok, but no files transferred:
You should rather find out why the 32bit windwployqt.exe does not run.
I guess the reason why the 32 bit version is not running is because Qt 64 bit libraries are in PATH.
By usingCALL "%QT5.9.2%\qtenv2.bat"
, the right libs are in path. -
@jsulm said in windeployqt, looks ok, but no files transferred:
You should rather find out why the 32bit windwployqt.exe does not run.
I guess the reason why the 32 bit version is not running is because Qt 64 bit libraries are in PATH.
By usingCALL "%QT5.9.2%\qtenv2.bat"
, the right libs are in path.@KroMignon , I tried:
%QT5.9.2%\windeployqt.exe --dir "%CWD%\install\" "%CWD%\deploy\trngServer.exe"
Result:
Qt Deployment Setting up environment for Qt usage... Remember to call vcvarsall.bat to complete environment setup! Please specify the binary or folder. Usage: C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\bin\\windeployqt.exe [options] [files] Qt Deploy Tool 5.9.2 The simplest way to use windeployqt is to add the bin directory of your Qt installation (e.g. <QT_DIR\bin>) to the PATH variable and then run: windeployqt <path-to-app-binary> If ICU, ANGLE, etc. are not in the bin directory, they need to be in the PATH variable. If your application uses Qt Quick, run: windeployqt --qmldir <path-to-app-qml-files> <path-to-app-binary> Options: -?, -h, --help Displays this help. -v, --version Displays version information. --dir <directory> Use directory instead of binary directory. --libdir <path> Copy libraries to path. --plugindir <path> Copy plugins to path. --debug Assume debug binaries. --release Assume release binaries. --pdb Deploy .pdb files (MSVC). --force Force updating files. --dry-run Simulation mode. Behave normally, but do not copy/update any files. --no-patchqt Do not patch the Qt5Core library. --no-plugins Skip plugin deployment. --no-libraries Skip library deployment. --qmldir <directory> Scan for QML-imports starting from directory. --no-quick-import Skip deployment of Qt Quick imports. --no-translations Skip deployment of translations. --no-system-d3d-compiler Skip deployment of the system D3D compiler. --compiler-runtime Deploy compiler runtime (Desktop only). --no-compiler-runtime Do not deploy compiler runtime (Desktop only). --webkit2 Deployment of WebKit2 (web process). --no-webkit2 Skip deployment of WebKit2. --json Print to stdout in JSON format. --angle Force deployment of ANGLE. --no-angle Disable deployment of ANGLE. --no-opengl-sw Do not deploy the software rasterizer library. --list <option> Print only the names of the files copied. Available options: source: absolute path of the source files target: absolute path of the target files relative: paths of the target files, relative to the target directory mapping: outputs the source and the relative target, suitable for use within an Appx mapping file --verbose <level> Verbose level. Qt libraries can be added by passing their name (-xml) or removed by passing the name prepended by --no- (--no-xml). Available libraries: bluetooth concurrent core declarative designer designercomponents enginio gamepad gui qthelp multimedia multimediawidgets multimediaquick network nfc opengl positioning printsupport qml qmltooling quick quickparticles quickwidgets script scripttools sensors serialport sql svg test webkit webkitwidgets websockets widgets winextras xml xmlpatterns webenginecore webengine webenginewidgets 3dcore 3drenderer 3dquick 3dquickrenderer 3dinput geoservices webchannel texttospeech serialbus Arguments: [files] Binaries or directory containing the binary.
-
@KroMignon , I tried:
%QT5.9.2%\windeployqt.exe --dir "%CWD%\install\" "%CWD%\deploy\trngServer.exe"
Result:
Qt Deployment Setting up environment for Qt usage... Remember to call vcvarsall.bat to complete environment setup! Please specify the binary or folder. Usage: C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\bin\\windeployqt.exe [options] [files] Qt Deploy Tool 5.9.2 The simplest way to use windeployqt is to add the bin directory of your Qt installation (e.g. <QT_DIR\bin>) to the PATH variable and then run: windeployqt <path-to-app-binary> If ICU, ANGLE, etc. are not in the bin directory, they need to be in the PATH variable. If your application uses Qt Quick, run: windeployqt --qmldir <path-to-app-qml-files> <path-to-app-binary> Options: -?, -h, --help Displays this help. -v, --version Displays version information. --dir <directory> Use directory instead of binary directory. --libdir <path> Copy libraries to path. --plugindir <path> Copy plugins to path. --debug Assume debug binaries. --release Assume release binaries. --pdb Deploy .pdb files (MSVC). --force Force updating files. --dry-run Simulation mode. Behave normally, but do not copy/update any files. --no-patchqt Do not patch the Qt5Core library. --no-plugins Skip plugin deployment. --no-libraries Skip library deployment. --qmldir <directory> Scan for QML-imports starting from directory. --no-quick-import Skip deployment of Qt Quick imports. --no-translations Skip deployment of translations. --no-system-d3d-compiler Skip deployment of the system D3D compiler. --compiler-runtime Deploy compiler runtime (Desktop only). --no-compiler-runtime Do not deploy compiler runtime (Desktop only). --webkit2 Deployment of WebKit2 (web process). --no-webkit2 Skip deployment of WebKit2. --json Print to stdout in JSON format. --angle Force deployment of ANGLE. --no-angle Disable deployment of ANGLE. --no-opengl-sw Do not deploy the software rasterizer library. --list <option> Print only the names of the files copied. Available options: source: absolute path of the source files target: absolute path of the target files relative: paths of the target files, relative to the target directory mapping: outputs the source and the relative target, suitable for use within an Appx mapping file --verbose <level> Verbose level. Qt libraries can be added by passing their name (-xml) or removed by passing the name prepended by --no- (--no-xml). Available libraries: bluetooth concurrent core declarative designer designercomponents enginio gamepad gui qthelp multimedia multimediawidgets multimediaquick network nfc opengl positioning printsupport qml qmltooling quick quickparticles quickwidgets script scripttools sensors serialport sql svg test webkit webkitwidgets websockets widgets winextras xml xmlpatterns webenginecore webengine webenginewidgets 3dcore 3drenderer 3dquick 3dquickrenderer 3dinput geoservices webchannel texttospeech serialbus Arguments: [files] Binaries or directory containing the binary.
@SPlatten said in windeployqt, looks ok, but no files transferred:
C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\bin\windeployqt.exe
Your are still using 64 bit version here. Why?
Can you try this:@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
EDIT: I am using 32 bit version of
windeployqt
on Win7 64 bit and Windows 10 64 bit without any problem. -
@SPlatten said in windeployqt, looks ok, but no files transferred:
C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\bin\windeployqt.exe
Your are still using 64 bit version here. Why?
Can you try this:@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
EDIT: I am using 32 bit version of
windeployqt
on Win7 64 bit and Windows 10 64 bit without any problem.@KroMignon, because as I've said numerous times, trying to run the 32bit version does not work.
-
@KroMignon, because as I've said numerous times, trying to run the 32bit version does not work.
-
@SPlatten said in windeployqt, looks ok, but no files transferred:
because as I've said numerous times, trying to run the 32bit version does not work.
Even when you add
SET PATH=%QT5.9.2%;%PATH%
in the batch script?@KroMignon yes, and even it I go directly to the location of the file and execute, the result is still a dialog saying it can't run.
-
@KroMignon, because as I've said numerous times, trying to run the 32bit version does not work.
-
@SPlatten And as I said: your current approach is also not going to work.
For Qt 32bit app you have to use 32bit windeploytool.exe.
Instead of trying to do some strange workarounds you should fix the actuall issue... -
@KroMignon yes, and even it I go directly to the location of the file and execute, the result is still a dialog saying it can't run.
@SPlatten said in windeployqt, looks ok, but no files transferred:
yes, and even it I go directly to the location of the file and execute, the result is still a dialog saying it can't run.
Then I would recommend you to restore/reinstall the Qt Kit.
You have to use the rightwindeployqt
to deploy your application, AFAIK there is no option to tell which are the libs use for the deploy. -
@jsulm , ok, but saying that doesn't make it work, how can I use the 32bit windeployqt.exe if it will not run?
@SPlatten Did you try to disable anti-virus software as I suggested before? Just to make sure it is not the cause of the issue.
Check Windows log to see whether there is something helpful.
Also, can you upgrade to a more recent Qt version? -
@SPlatten Did you try to disable anti-virus software as I suggested before? Just to make sure it is not the cause of the issue.
Check Windows log to see whether there is something helpful.
Also, can you upgrade to a more recent Qt version? -
@jsulm, I can't the laptop is locked down by the company that owns it's IT department, no I can't upgrade either, the version of Qt is old I know, thats what I have to use.
@SPlatten said in windeployqt, looks ok, but no files transferred:
the version of Qt is old I know, thats what I have to use.
can you use the 64 bit version of it?
-
@SPlatten said in windeployqt, looks ok, but no files transferred:
the version of Qt is old I know, thats what I have to use.
can you use the 64 bit version of it?
-
@J-Hilk , thats what I'm trying to do with the batch file and specifying the location of the 32bit dll's because the application is compiled for 32bit it needs the 32bit dll's.
-
@J-Hilk , thats what I'm trying to do with the batch file and specifying the location of the 32bit dll's because the application is compiled for 32bit it needs the 32bit dll's.
@SPlatten said in windeployqt, looks ok, but no files transferred:
thats what I'm trying to do with the batch file and specifying the location of the 32bit dll's because the application is compiled for 32bit it needs the 32bit dll's.
thats what I meant, can't you compile it for 64 bit?
let windeployqt do its job with that one -> verify it works as standalone -> Copy files manually for the 32 bit version, using the 64 bit folder as template
-
@SPlatten said in windeployqt, looks ok, but no files transferred:
thats what I'm trying to do with the batch file and specifying the location of the 32bit dll's because the application is compiled for 32bit it needs the 32bit dll's.
thats what I meant, can't you compile it for 64 bit?
let windeployqt do its job with that one -> verify it works as standalone -> Copy files manually for the 32 bit version, using the 64 bit folder as template