[webkit-help] Windows port depends on Safari?

Adam Roben aroben at apple.com
Wed Feb 23 11:42:17 PST 2011


On Feb 23, 2011, at 1:01 PM, Nick Guenther wrote:

> 
> I'm trying to deploy a small app on top of WebKit on Windows 7. I've built it fine, and figured out that I need:
> WebKitBuild\Release\bin\WebKit2WebProcess.exe (I'm using WK2)
> WebKitBuild\Release\bin\JavaScriptCore.dll
> WebKitBuild\Release\bin\WebKit.dll
> And nothing screams if I leave out the other two DLLs that come with the build (InjectedBundle.dll and QTMovieWin.dll). It runs fine on my dev machine (which has Safari installed) but when I move it it complains "The application cannot start [this is actually a lie, it starts fine it just hits this when it tries to load DLL] because ___.dll is missing" where ___ is one of several things in C:\Program Files (x86)\Common Files\Apple\Apple Application Support.  
> 
> Okay, fine, so I copied all the DLLs it wanted in but then, then it says "WebKit.dll". What is going on, is there a circular dependency?
> 
> Is Windows webkit intimately tied to having Safari installed? I'd like to avoid having to install a whole application just to make a library work. How does WebKit even find these DLLs? http://www.nirsoft.net/utils/registered_dll_view.html doesn't list any of them as being known to Windows, is the Common Files\Apple\... path hardcoded somewhere?.

Apple's Windows port of WebKit depends on libraries like CoreGraphics and CFNetwork that are installed by Safari. WebKit doesn't contain any logic to find these libraries; it is installed right beside them in the path that you quoted. For developers, the scripts that run programs that use WebKit (e.g., run-webkit-tests, which runs DumpRenderTree, which uses WebKit) know how to set up the PATH correctly so that CoreGraphics, CFNetwork, etc. can be found.

-Adam



More information about the webkit-help mailing list