[Qt-qml] How to deploy a QML app with WebView on a machine without a Qt installation?

Johan Paul johan.paul at gmail.com
Wed Jun 29 14:46:54 CEST 2011


Hi all,

I am trying to deploy a QML app (meaning c++ and QML) that uses
WebView and hence QtWebKit on a Windows machine that does not have Qt
installed on it. I have managed to load all other plugins and .dlls
that I need, but qmlwebkitplugin.dll is not being loaded.

I have placed the file like this in a package with my application and
libs: <appdir>\imports\QtWebKit\qmlwebkitplugin.dll. This follows the
pattern where it is installed in Qt
(C:\src\qt\qt\imports\QtWebKit\qmlwebkitplugin.dll). On my machine
that has Qt installed I can run the app successfully from an arbitrary
dir that has the dir structure, but in a machine that does not have Qt
installed it seems this plugin is never loaded from the app's root
dir.

I also added specified the path with qmlwebkitplugin.dll with
QDeclarativeEngine::addPluginPath() for the engine but again on my
machine with Qt I can see that qmlwebkitplugin.dll is being loaded
from the explicitly specified path, but it is not loaded on the
machine without Qt.


With Dependency Walker for Windows (http://www.dependencywalker.com/)
I can see that on my machine where it works, the qmlwebkitplugin.dll
gets loaded like so:
GetProcAddress(0x629C0000
[c:\src\qt\qt\imports\qtwebkit\QMLWEBKITPLUGIN.DLL],
"qt_plugin_instance") called from "d:\deploytest\QTCORE4.DLL" at
address 0x6A2A9071 and returned 0x629C4088.

On the machine that does not have Qt I just get an error that it could
not create the QDeclarativeComponent.

So has anyone been successful in deploying a QML app with WebView on a
machine without a Qt installation? What am I missing?


Cheers,

Johan


More information about the Qt-qml mailing list