Discussion:
[Interest] How to deploy qtwebengine_resources_100p.pak on Windows
Glenn Ramsey
2015-12-16 22:53:32 UTC
Permalink
Hi,

I am attempting to create a PyInstaller build for a PyQt application that uses
QtWebEngine on Windows. I have this mostly working but scroll bars in the
QtWebEngine window are red. This is apparently caused by the lack of the files
qtwebengine_resources_100p.pak and qtwebengine_resources_200p.pak.

As far as I can tell from this patch
https://codereview.qt-project.org/#/c/121432/ these should be deployed in the
application directory. I have put them there but they are not being found. The
error message (below) indicates that they are being looked for in the directory
that was passed as -prefix when configuring the qt build.

[1217/110543:ERROR:resource_bundle.cc(691)] Failed to load C:\Users\glenn\Docume
nts\rp\thirdparty\qt551\qtbase\qtwebengine_resources_200p.pak
Some features may not be available.

In this application the main executable, QtWebEngineProcess.exe, and its support
files (icudtl.dat, qtwebengine_resources.pak, etc) are in the same directory.

If not in the application directory then where should these files
qtwebengine_resources_100p.pak and qtwebengine_resources_200p.pak be deployed?

Glenn
Glenn Ramsey
2015-12-17 22:35:41 UTC
Permalink
Post by Glenn Ramsey
Hi,
I am attempting to create a PyInstaller build for a PyQt application that uses
QtWebEngine on Windows. I have this mostly working but scroll bars in the
QtWebEngine window are red. This is apparently caused by the lack of the files
qtwebengine_resources_100p.pak and qtwebengine_resources_200p.pak.
As far as I can tell from this patch
https://codereview.qt-project.org/#/c/121432/ these should be deployed in the
application directory. I have put them there but they are not being found. The
error message (below) indicates that they are being looked for in the directory
that was passed as -prefix when configuring the qt build.
[1217/110543:ERROR:resource_bundle.cc(691)] Failed to load C:\Users\glenn\Docume
nts\rp\thirdparty\qt551\qtbase\qtwebengine_resources_200p.pak
Some features may not be available.
In this application the main executable, QtWebEngineProcess.exe, and its support
files (icudtl.dat, qtwebengine_resources.pak, etc) are in the same directory.
If not in the application directory then where should these files
qtwebengine_resources_100p.pak and qtwebengine_resources_200p.pak be deployed?
The solution to this issue is to create a qt.conf file in the app dir with the
contents:

[Paths]
Prefix=.


Thanks to Herbert Danzinger for directing me to this forum post:

https://forum.qt.io/topic/52666/error-resource_bundle-cc-639-failed-to-load-qtwebengine_resources-pak/2

Glenn
Allan Sandfeld Jensen
2015-12-17 23:09:35 UTC
Permalink
Post by Glenn Ramsey
Post by Glenn Ramsey
Hi,
I am attempting to create a PyInstaller build for a PyQt application that
uses QtWebEngine on Windows. I have this mostly working but scroll bars
in the QtWebEngine window are red. This is apparently caused by the lack
of the files qtwebengine_resources_100p.pak and
qtwebengine_resources_200p.pak.
As far as I can tell from this patch
https://codereview.qt-project.org/#/c/121432/ these should be deployed in
the application directory. I have put them there but they are not being
found. The error message (below) indicates that they are being looked
for in the directory that was passed as -prefix when configuring the qt
build.
[1217/110543:ERROR:resource_bundle.cc(691)] Failed to load
C:\Users\glenn\Docume
nts\rp\thirdparty\qt551\qtbase\qtwebengine_resources_200p.pak
Some features may not be available.
In this application the main executable, QtWebEngineProcess.exe, and its
support files (icudtl.dat, qtwebengine_resources.pak, etc) are in the
same directory.
If not in the application directory then where should these files
qtwebengine_resources_100p.pak and qtwebengine_resources_200p.pak be deployed?
The solution to this issue is to create a qt.conf file in the app dir with
[Paths]
Prefix=.
https://forum.qt.io/topic/52666/error-resource_bundle-cc-639-failed-to-load
-qtwebengine_resources-pak/2
There are more ways. It should be searching multiple paths already. You can
check web_engline_libraray_info.cpp for how it finds it. It should check
QLibraryInfo::DataPath first and then QCoreApplication::applicationDirPath().
Unfortunately it seems to currently only check for the existence of the
directory not of the data. So if the first exists then the pak files needs to
be there.

Regards
`Allan

Loading...