2009-05-25 5 views
7

Meine Anwendung auf OpenSSL-Bibliotheken abhängt (durch Qt-Networking-Module, man kann es in Qt statisch nicht kompiliert werden kann, weil der Rechtsfragen)Installation und Registrierung von win32 OpenSSL-Bibliotheken

Es gibt dieses Projekt - Win32 OpenSSL

Alles was ich brauche ist, die zwei DLLs in System32 zu kopieren und sie zu registrieren.

copy ssleay32.dll %WINDIR%\System32\ssleay32.dll 
copy libeay32.dll %WINDIR%\System32\libeay32.dll 
regsvr32.exe /s %WINDIR%\System32\ssleay32.dll 
regsvr32.exe /s %WINDIR%\System32\libeay32.dll 

Und in der Tat, die auf ein paar Maschinen im Büro (mein app zu arbeiten begann richtig mit https nach der Operation) gearbeitet hat. Die haben viel Zeug auf ihnen installiert, so dass es stören kann.

Noch funktioniert es nicht auf einer sauberen virtuellen Maschine unter VMWare.

Obwohl wenn ich Tortoise SVN darunter installiere (die auch mit OpenSSL geliefert wird), wird alles gut. Was ist der richtige Weg, um openssl ins System zu installieren?

Hinweis: Das Qt-Netzwerkmodul verfügt über eine eigene Liste der Zertifizierungsstellen.

+0

Andere Pakete verwenden ebenfalls OpenSSL-Bibliotheken. Daher sollten Sie in Betracht ziehen, Ihre spezifische Version lokal mit den Binärdateien der Anwendung zu platzieren. Sie werden einige seltsame Fehler bekommen, wenn die Versionen nicht übereinstimmen. –

Antwort

2

Vielleicht gibt es weitere Abhängigkeiten, die diese zwei DLLs haben, dass SVN für Sie installiert hat ...

Der Versuch, hängt mit zu sehen, welche DLLs die OpenSSL DLLs verwenden, und stellen Sie sicher, die auf Ihrem sauberen VMware installiert sind.

+0

In der Tat, Sie hatten Recht - ssleay.dll hängt von msvcr90.dll, die einige Microsoft-Laufzeitbibliothek, Teil von MS Redistributables ist. – Maleev

+0

Das Problem ist jetzt, dass ich nicht weiß, wie man diese Bibliothek richtig installiert. Der Versuch, es mit regsvr32.exe zu registrieren, erzeugt einen Fehler (R6034 - smth über Manifest). Aber das ist eine ganz andere Frage ... – Maleev

+0

Sie können von MS das Redistributable-Paket für VC9 herunterladen ... –

0

Sie sind wahrscheinlich von libsasl.dll abhängig, die mit Tortoise-Svn ausgeliefert wird!

3

Legen Sie die DLLs einfach in den Installationsordner Ihrer App. Es gibt nichts zu registrieren (und Sie können regsvr32 sowieso nicht verwenden, da OpenSSL keine ActiveX/COM-Server implementiert, wofür regsvr32 gedacht ist).

0

Mit Dependency Walker können Sie überprüfen, welche Abhängigkeit Ihre Anwendung hat und welche nicht.

http://www.dependencywalker.com/

Ziehen Sie einfach Ihre Anwendung Dependency Walker und auf der linken Seite finden Sie alle DLLs sehen, dass es ausgeführt werden muss.

Verwandte Themen