Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using OpenWebKitSharp from as referenced dll from SubFolder #143

Open
GoogleCodeExporter opened this issue Apr 15, 2015 · 1 comment
Open

Comments

@GoogleCodeExporter
Copy link

following environment:

bin/mainapp.exe -> loads bin/mywebkitsharpcaller.dll -> references 
bin/MyOpenWebKitSharpFolder/OpenWebKitSharp.dll

bin/mainapp.exe.config contains a probing-path to find the webkit-dlls in 
subfolder:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <probing privatePath="MyOpenWebKitSharpFolder"/>
</assemblyBinding>

mywebkitsharpcaller.dll sets WebKit.GlobalPreferences.WebKitPath before the 
WebKitBrowser-Instance is created.
WebKit.GlobalPreferences.WebKitPath += @"\" + m_sWebKitSubFolder;

when the webkitbrowser-instance is creating, im geetting this error message:

Die COM-Klassenfactory für die Komponente mit CLSID 
{D6BCA079-F61C-4E1E-B453-32A0477D02E3} konnte aufgrund des folgenden Fehlers 
nicht abgerufen werden: 8007007e Das angegebene Modul wurde nicht gefunden. 
(Ausnahme von HRESULT: 0x8007007E).

its german and means "the specified module could not be found". i got a lot of 
hits to this CLSID on google. but its allways just about the vc++ 
redistributables. when i copy all the webkit-files to my bin-folder, its 
working fine. so i guess the problem is not based on some runtime-issues.

i've tried it with 2.8 and 2.9 release

is there a recommended environment to run openwebkitsharp from a subfolder of 
the mainapp?


Original issue reported on code.google.com by [email protected] on 8 Oct 2012 at 8:00

@GoogleCodeExporter
Copy link
Author

I am betting you are on Windows XP.

I am having the same problem with Windows XP, while on Windows 7 everything 
works out of box.
I've tried setting up dependantAssembly as following:
<dependentAssembly>
  <assemblyIdentity name="WebKit.Interop" publicKeyToken="b967213f6d29a3be" />
  <publisherPolicy apply="yes" />
  <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="533.0.0.0" />
  <codeBase version="533.0.0.0" href="WebKit\WebKit.Interop.dll" />
</dependentAssembly>
<dependentAssembly>
  <assemblyIdentity name="WebKitBrowser" publicKeyToken="b967213f6d29a3be" />
  <publisherPolicy apply="yes" />
  <bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="0.5.0.0" />
  <codeBase version="0.5.0.0" href="WebKit\WebKitBrowser.dll" />
</dependentAssembly>

this doesn't work, as on Windows XP App looks for webkit.dll in App Folder, 
even if all assemblies are loaded from WebKit subfolder.

Also tried:
- forced loading of assemblies (preloading with Assembly.LoadFrom(...)):
  (XP) doesn't work, assembly is loaded again after with incorrect paths
  (W7) not tested, but I guess it doesn't work.

- forced loading of webkit.dll (calling function in webkit.dll forces loading 
of dll):
   (XP) webkit.dll and its dependecies are loaded properly, but again when referencing assembly is loaded webkit.dll is loaded from incorrect location
   (W7) not tested.

- SetDllDirectory() force location for webkit.dll and its files:
   (XP) can force loading of assembly but webkit.dll loading fails.
   (W7) not tested 

- Setting in Environment Path WebKit as member of path variable:
   (XP) can force loading of assembly but webkit.dll loading fails.
   (W7) not tested 

NOTE @MS: I thought DLL's are kept in memory, and not reloaded over and over 
again?

Original comment by [email protected] on 15 Oct 2013 at 12:15

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant