[ask]Deploy QtWebEngine on Windows?



  • Hi all,
    I tried to deploy quicknanobrowser which is example of QtWebEngine.
    First I run windeployqt.exe on bin folder of Qt installation folder to the exe file.
    C:\Qt\Qt5.4.1\5.4\msvc2013_64\bin>windeployqt.exe C:\Qt\Qt5.4.1\Examples\Qt-5.4
    webengine\build-quicknanobrowser-Desktop_Qt_5_4_1_MSVC2013_64bit-Release\release
    \quicknanobrowser.exe
    It copied .dll files and all necessary files to exe directory.

    I'm able to run it correctly in on my PC without using QtCreator, but when I copy all files in release folder to other computer, nothing happened.
    There is a running process, but it did not show anything, and then the process just gone.
    [img]http://s4.postimg.org/vrmi3j0cd/Untitled.png[/img]

    I already install Visual C++ Redistributable Packages on that PC and using latest Qt5.4.1.
    Is there anyone know the solution?
    Thank you.


  • Moderators

    @fpermana said:

    I'm able to run it correctly in on my PC without using QtCreator, but when I copy all files in release folder to other computer, nothing happened.
    There is a running process, but it did not show anything, and then the process just gone.

    Hi, sounds like a missing plugin (Windeployqt might miss some plugins). Or, the other computer doesn't have the required graphics drivers.

    On your own PC, rename C:\Qt\ to C:\QtHidden. Then, try to launch the program without Qt Creator again. Does it still work?



  • @fpermana :
    Did you copy QtWebEngineProcess.exe along with all dependent .dll ? You can find QtWebEngineProcess.exe in bin folder itself.



  • @JKSH said:

    @fpermana said:

    I'm able to run it correctly in on my PC without using QtCreator, but when I copy all files in release folder to other computer, nothing happened.
    There is a running process, but it did not show anything, and then the process just gone.

    Hi, sounds like a missing plugin (Windeployqt might miss some plugins). Or, the other computer doesn't have the required graphics drivers.

    On your own PC, rename C:\Qt\ to C:\QtHidden. Then, try to launch the program without Qt Creator again. Does it still work?

    Hi JKSH, I manage to run the application on my target PC by add more copied folders.
    They are QtQuick, QtQuick.2, and QtWebEngine from C:\Qt\Qt5.4.1\5.4\msvc2013_64\qml.
    But when I run, it shows a "has stopped working dialog".
    http://s13.postimg.org/msyz583h3/Untitled2.png

    On my development PC, I tried your suggestion to rename C:\Qt to C:\QtHidden and run again quicknanobrowser.exe from my release folder.
    It also shows same dialog, "has stopped working dialog".
    I also found that quicknanobrowser.exe automatically create folder C:\Qt and complete path C:\Qt\Qt5.4.1\5.4\msvc2013_64.
    So I copied some files from C:\QtHidden\Qt5.4.1\5.4\msvc2013_64 to C:\Qt\Qt5.4.1\5.4\msvc2013_64.
    They are .dat, icudtl.dat, and qtwebengine_resources.pak.
    Finally it run without error.
    It looks like quicknanobrowser.exe, did not read that three files on the same folder, but keep on reading to Qt installation folder.

    Currently I only test in on development PC, but I'll try on my target PC.
    Hope I can get a good result.
    Thank you.

    @yogeshpatel23 said:

    @fpermana :
    Did you copy QtWebEngineProcess.exe along with all dependent .dll ? You can find QtWebEngineProcess.exe in bin folder itself.

    Hi yogeshpatel23, yes I did copied all dll and QtWebEngineProcess.exe.



  • I've tried the same thing on the target PC (copy icudtl.dat, and qtwebengine_resources.pak to C:\Qt\Qt5.4.1\5.4\msvc2013_64), and quicknanobrowser.exe run without problem.

    My next question, is this kind of bug on Qt and could it be solved on next Qt release?
    or I should do same thing to every application that use QtWebEngine module?
    thank you.



  • @fpermana :
    I am not very much sure about the logic behind icudtl.dat file...the path of icudtl.dat dependency should be configurable from .pro or something else...I am also trying to figure out same..



  • I had a similar problem.
    You can try to fix in this way:

    • do enable console loggin' adding CONFIG += console into the .pro file
    • rebuild and launch again the application: now every qDebug() message and other errors appear in a terminal
    • now you can follow what QT is saying that is missing (in my case libEGL.dll libGLESv2.dll and opengl32sw.dll)

    Hope this can help.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.