Weitergabe von dlls - rechtliche Fragen



  • Tester2 schrieb:

    MFC-Dlls darf man schon ausliefern, aber nicht die Debug-DLLs.
    Wenn Du wirklich Release übersetzt hast, sollten die MFC-DLLs so max. 1 MB groß sein.

    Tester2

    Weiß nicht ob wir jetzt aneinander vorbei geredet haben. Es geht um die dlls der IDE, die die MFC kapseln. Ich meine nicht selbstgeschriebene MFC-dlls eines Programms.



  • Ich hab noch das hier gefunden: http://www.c-plusplus.net/forum/viewtopic-var-t-is-99127-and-start-is-0-and-postdays-is-0-and-postorder-is-asc-and-highlight-is-.html-and-printview-is-1-and-start-is-0.html

    Ich arbeite auch mit VS 7.0. Ich hatte aber trotzdem im Hinterkopf, dass man nicht alle dlls weitergeben darf. Und dann ist ja immer noch die Frage nach dem Sprachenversionskonflikt. Kann mir da jemand eine Auskunft geben?



  • Hallo,

    die Dateien "MFCXXX.DLL", sowie "MSVCRT.DLL" dürfen laut MSDN weitergegeben werden. Ich arbeite zwar noch mit Visual C++ 6, da heißt die entsprechende Datei "MFC42.DLL", aber ich kann mir kaum vorstellen das Microsoft in den neuen Versionen etwas daran geändert hat.

    Auszug aus meiner MSDN-Version:

    Weiterverteilbare Dateien

    Datei Beschreibung

    MFCx0.DLL MFC DLL (ANSI)
    MFCx0U.DLL MFC DLL (Unicode)
    MSVCRTx0.DLL C-Laufzeitbibliothek(en)
    OLEPRO32.DLL (oder OLEAUT32.DLL) Unterstützung von OLE-Eigenschaftenrahmen und Standardtypen. Bei Microsoft Windows NT 4.0 oder höher wird diese Datei durch OLEAUT32.DLL ersetzt.
    REGSVR32.EXE Dienstprogramm zum Registrieren von Steuerelementen

    In MSDN Online hab ich auf die schnelle jetzt leider nichts entsprechendes gefunden. Ansonsten gilt das was schon Tester2 geschrieben hat: Die Debug-Versionen dürfen nicht weitergegeben werden!

    LG, Sascha


  • Mod

    Es dürfen nur bestimmte Visual C++-Dateien mit der Anwendung verteilt werden. Informationen darüber, welche Dateien mit der Anwendung verteilt werden dürfen, finden man im Endbenutzer-Lizenzvertrag (EULA) für Visual Studio und in der Datei Redist.txt. EULA.txt finden Sie im Verzeichnis \Setup auf der ersten Visual Studio CD/DVD. Redist.txt befindet sich im Verzeichnis Programme\Microsoft Visual Studio... CD/DVD (evtl. auch auf der zwieten CD).

    Bei mir auch auf dem Rechner ist die REDIST.TXT jeweils hier:
    C:\Programme\Microsoft Visual Studio 8\1031\redist.txt
    C:\Programme\Microsoft Visual Studio .NET 2003\redist.txt
    C:\Programme\Microsoft Visual Studio\REDIST.TXT



  • Zunächst erst mal danke Euch beiden. Hab die entsprechenden Stellen auch auf meinem Rechner gefunden. Allerdings hab ich da noch drei Fragen:

    1. Woran unterscheiden ich eine Release-dll und eine Debug-dll? (Denke sicher zuerst an die Dateigröße, aber wie ist das von Außen (z.B. am Dateinamen sichtbar?) So wie Tester2 sagte dürften die Release-Versionen nur ca. 1 MB groß sein, meine Dateien sind aber rund 2 MB groß.

    2. Was hat nun die Anleitung in der ReadMe.txt aus dem Projektverzeichnis zu sagen? Wenn man es so macht wie es da steht gehts ja komischerweise nicht.

    3. Das Problem mit der Sprache der Standarddialoge ist leider immer noch offen? Sieht schon komisch aus so zweisprachig. Wie bekomm ich das weg?

    Vorab schon mal vielen Dank.



  • 1. Debug DLLs weisen andere Eigenschaften als die Release DLLs auf (Memory Leak Erkennung, keine Optimierung auf Grösse/Geschwindigkeit, und weitere).

    2. kA

    3. Dialoge selber machen bzw. ich glaube aber die Beschriftungen kann man Parametriesieren und dadurchkannst du selber übersetzen für die Sprachen die du untertützen willst



  • DaRpH schrieb:

    1. Debug DLLs weisen andere Eigenschaften als die Release DLLs auf (Memory Leak Erkennung, keine Optimierung auf Grösse/Geschwindigkeit, und weitere).

    2. kA

    3. Dialoge selber machen bzw. ich glaube aber die Beschriftungen kann man Parametriesieren und dadurchkannst du selber übersetzen für die Sprachen die du untertützen willst

    Zunächst mal vielen Dank für Deine Antwort.

    zu 1.) Ich weiß schon was sich dahinter verbirgt, sind ja alle Debugtechniken integriert, die man im Release nicht mehr benötigt. Meine Frage bezog sich auf die Datei selbst. Erkenne ich anhand eines speziellen Dateinamens oder einem speziellen Verzeichnis das es sich um eine Release- oder Debug-Datei handelt? Das is für mich jetzt Neuland, damit hab ich mich noch nie befassen müssen.

    zu 3.) Was issn das für eine Logik? Die IDE stellt mir Standarddialoge zur Verfügung, die ich dann nicht verwenden soll und mir selber welche schreibe? Sorry, das geht jetzt nicht gegen Dich, nicht falsch verstehen. Ich kauf mir doch auch kein Auto um dann doch mit dem alten Drahtesel meiner Oma auf die Arbeit zu fahren.
    Ich will nur Deutsch unterstützen und in der Debug-Version gehts ja auch. Vielleicht hat Punkt 2 doch was mit der Bemerkung aus der ReadMe.txt zu tun nur ich bin zu doof das umzusetzen 😕



  • aber wie ist das von Außen (z.B. am Dateinamen sichtbar?)

    Die Debug-Versionen haben als letztes Zeichen ein "D" vor der Endung.

    Beispiel:

    Debug-Version: MFC42D.DLL
    Release-Version: MFC42.DLL

    Und zu den Sprachkonflikten kann ich Dir leider auch nichts sagen. Aber wenn die DLL's auf dem Zielrechner im gleichen Ordner wie die Anwendung installiert werden, dann werden normalerweise diese DLL's geladen. Somit müßte das Problem ja behoben sein!?


  • Mod

    AndyDD schrieb:

    zu 1.) Ich weiß schon was sich dahinter verbirgt, sind ja alle Debugtechniken integriert, die man im Release nicht mehr benötigt. Meine Frage bezog sich auf die Datei selbst. Erkenne ich anhand eines speziellen Dateinamens oder einem speziellen Verzeichnis das es sich um eine Release- oder Debug-Datei handelt? Das is für mich jetzt Neuland, damit hab ich mich noch nie befassen müssen.

    Das D am Ende kennzeichnet Debug DLLs. Diese dürfen nicht weitergegeben werden!
    Dies wäre ein klarer Verstoß gegen die EULA!

    AndyDD schrieb:

    zu 3.) Was issn das für eine Logik? Die IDE stellt mir Standarddialoge zur Verfügung, die ich dann nicht verwenden soll und mir selber welche schreibe? Sorry, das geht jetzt nicht gegen Dich, nicht falsch verstehen. Ich kauf mir doch auch kein Auto um dann doch mit dem alten Drahtesel meiner Oma auf die Arbeit zu fahren.
    Ich will nur Deutsch unterstützen und in der Debug-Version gehts ja auch. Vielleicht hat Punkt 2 doch was mit der Bemerkung aus der ReadMe.txt zu tun nur ich bin zu doof das umzusetzen 😕

    Es gibt auch für die MFC70xxx.DLL entsprechende Sprachdateien. Auch diese müssen mit installiert werden. Z.B. MFC70DEU.

    Ich bin nicht ganz sicher (weil ich VS.NET 2003 mit MFC 7.1 verwende):
    Ab MFC 7.0 wird automatisch beim Initialisieren der Anwednung in CWinApp::InitInstance die entsprechende Sprach DLL automatisch zugeladen, sofern vorhanden!

    Weiterhin muss Dir klar sein, dass DIaloge aus der COMDLG32.DLL immer in der Sprache des OS odeer der entsprechendden MUI Spracche angezeigt werden!



  • Martin Richter schrieb:

    Weiterhin muss Dir klar sein, dass DIaloge aus der COMDLG32.DLL immer in der Sprache des OS odeer der entsprechendden MUI Spracche angezeigt werden!

    Danke Martin. Bleibt aber immer noch eine Frage: Die COMDLG32.DLL ist sowohl auf meinem wie auch auf dem Zeilrechner mit der Sprachversion Deutsch (steht zumindest im Eigenschaftendialog). Warum ist im Debugmodus alles Deutsch, in der Release-Version aber z.B. die Fensterbezeichnung sowie die Buttons in der Druckvorschau Englisch? Kann es mit dem verschiedenen Linken oder der bedingten Kompilierung zu tun haben?



  • Hallo Martin,

    ich glaube ich hab des Rätsels Lösung. Du hattest Recht mit der Sprachdatei. Ich verwende ja auch VS.net 2003. Man muss auf dem Zielrechner die MFC71.dll und die MFC71DEU.dll installieren, dann sind die von mir beshriebenen Probleme weg. Das Programm läuft auch nur mit der MFC71.dll, aber dann sind gewisse Einträge eben Englisch.
    Also nochmal danke für den Tipp. Aber die Beschreibung in der ReadMe.txt ist echt irreführend. Außerdem verwendet meine IDE ja schon die MVC in der Version 7.1, somit sind die Dateibezeichnungen mit **71.** bindend.


Anmelden zum Antworten