Am 24.05.2012 06:38, schrieb Hermie:
> Kannst Du bitte noch erklären, was Du meinst mit...
>
>> Wer die WebKit-Browser-libs zusammen mit den RC4-
>> Basislibs einsetzt, muss eigentlich nur sicherstellen,
>> dass der optionale Ordner \WebKitCairo\ möglichst an die
>> selbe Stelle platziert wird, an der sich auch vbRichClient4.dll
>> (und die anderen 2 Basis-Dlls) befinden.
Also für reinen RC4-Betrieb (ohne WebKit), gehören die
3 Basis-Dlls immer zusammen (in einen Ordner auf der Dev-
Maschine - bzw. später auch in einem "Destination-Ordner"
den das Setup-Programm vorgibt ... oder halt (wenn
regfree benutzt) auch gemeinsam in den App.Path.
Diese 3 Dlls sind:
vbRichClient4.dll <--- nur die ist zu registrieren
vb_cairo_sqlite.dll
DirectCOM.dll
> Ich habe die vbRichClient4.dll und vbWidgets.dll in den
> App.Path-Ordner gemacht.
Ok (bzgl. der vbWidgets.dll, die ebenfalls registriert sein will)...
> Im App.Path-Ordner befindet sich dann der Ordner WebKitCairo.
> Die 2 dll's sind also eine Ebene "davor".
Auch das ist korrekt - die Webkit-libraries sind
ja optional - und "der Ordnung halber" (und um's
simpel zu halten) sitzen diese Zusatz-Dlls in ihrem
eigenen Folder, den man dann entweder dazutun kann
(neben die Basis-Dlls), oder halt komplett weglässt.
Also dieser WebKitCairo-Folder ist mehr oder weniger als
"Blob" gedacht - nix zu registrieren *innerhalb* dieses
Folders (Webkit.dll offeriert zwar COM-Klassen, die werden
aber aus RC4-cWebKit regfree geladen).
Und wenn ich schreibe "optional den WebKitCairo-Folder
neben vbRichClient4.dll platzieren"... dann meine
ich das genau so - und nicht etwa "den *Inhalt* dieses
Folders neben vbRichClient4.dll platzieren".
> Es sieht also ungefähr so aus:
>
> MeinProgramm\vbRichClient4.dll
> MeinProgramm\vbWidgets.dll
> MeinProgramm\WebKitCairo\
So isses gedacht (hinsichtlich WebKitCairo-Folder)...
Was fehlt (neben vbRichClient4.dll) sind die 2 anderen
BaseDlls (vb_cairo_sqlite.dll, DirectCOM.dll).
> Bisher gab es damit keine Probleme. War das Zufall und soll
> ich die 2 dlls besser in den WebKitCairo-Ordner machen?
Nein, so wie das da oben steht, sieht es eigentlich
"so aus, wie es soll".
Was vor allem auf (potentiell "ungepflegten") XP-Installationen
noch sein könnte ist, dass die WebKit-libraries sämtlich
noch von der MS-VC2008 (C/C++)-Runtime (Version 9) abhängen:
>
http://www.microsoft.com/downloads/de-de/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF
Diese VC-Runtime "mittleren Alters" kommt auf Vista und
Win7 bereits vorinstalliert, ist aber (glaube ich)
bei XP erst ab XP/SP3 mit im Boot - oder kommt mit neueren
IE8-für-XP-Installationen - oder auch im Setup neuerer
MS-Office-Versionen (nach 2008).
Also falls Deine "Problem-Maschinen" relativ jungfräuliche
XP-Installationen sind (möglicherweise mit einem XP/SP < 3),
dann die VC-Runtime aus obigem Link nachinstallieren.
Ansonsten (falls vb_cairo_sqlite.dll und DirectCOM.dll
*nicht* neben vbRichClient4.dll sitzen), könnte auch dies
das Problem sein - die WebKit.dll hat eine Abhängigkeit
zu SQLite (für das lokale, über JS aufrufbare WebSQL-Feature),
normalerweise ist das "statisch eingelinkt"... in meinem WebKit.dll-
Kompilat habe ich das jedoch über eine externe Dll-Referenz
auf vb_cairo_sqlite.dll sichergestellt, um die WebKit.dll
"leichter" zu machen für's Deployment.
In einem Inno-Setup (mit gesetzter LZMA-Compression-Option)
tragen die 3 RC4-BaseDlls nur mit ca. 1.5MB auf - und der
optionale WebkitCairo-Folder mit seinen WebKit-libs dann mit
nochmals zusätzlichen ca. 3.5MB (was für eine moderne, mit
der Anwendung distributierbare Browser-Engine heutzutage
relativ klein ist).
Olaf