# SWT, Windows 2000, GDI+ und Microsoft Redistributable



## peterfolta (23. Dez 2008)

Hallo,

SWT benötigt unter Windows für einige Grafikoperationen (org.eclipse.swt.graphics.GC) die GDI+-Bibliothek. Ab Windows XP ist die bereits im Betriebssystem integriert, für Windows 2000 muss sie jedoch nachgerüstet werden.

Das meint die Eclipse FAQ dazu:



> Support for advanced graphics operations such as path for curvers and lines, alpha blending, antialiasing, patterns and transformations was added to SWT 3.1. On Windows, GDI+ is required. On X Windows platforms (i.e. GTK and Motif), Cairo 0.4.0 is required. If your Windows platform does not have GDI+ by default then you can download a redistributable package from Microsoft.



(Quelle: http://www.eclipse.org/swt/faq.php#nographicslibrary)

Der Link auf die Downloadseite von Microsoft (http://www.microsoft.com/downloads/...9c-df12-4d41-933c-be590feaa05a&DisplayLang=en) verweist auf das *Platform SDK Redistributable: GDI+*. Im wesentlichen befindet sich in der .exe-Datei, die man dort herunterladen kann, die Datei *gdiplus.dll* (1,7 MB). Um die Grafikfunktionalität in Windows 2000 nachzurüsten, reicht es, diese Datei in das System32-Verzeichnis zu kopieren und die betreffende Java-Applikation neu zu starten. Allerdings ist das Archiv nicht gerade benutzerfreundlich, seht es Euch doch am Besten selbst mal an.

*Meine Frage:*
Ich meine gehört zu haben, dass die Redistributable-Packages von Microsoft dazu gedacht sind, Softwareentwicklern die Möglichkeit zu geben, die Laufzeitumgebung, die für ihre Software nötig ist, nachzurüsten. Dabei soll es gestattet sein, diese Dateien mit dem eigenen Programmsetup beispielsweise auszuliefen. Stimmt das?
Wenn ja, kann ich dann einen eigenen "Patch" für meine Software schreiben (einfach eine .exe-Datei), die diese gdiplus.dll enthält und in das System32-Verzeichnis kopiert? Diesen Patch würde ich dann selbst zum Download anbieten und auf ihn verweisen, falls die entsprechende Bibliothek, die für SWT nötig ist, fehlt.

Der Grund, warum ich das bisher noch nicht getan habe, ist 1. die erforderliche Windows-Verifizierung, die zum Download bei Microsoft nötig ist und bei meinem eigenen Patch natürlich wegfallen würde und 2. meine rechtliche Unsicherheit, ob das mit diesem Redistributable-Package gilt und ich die Datei von Microsoft einfach selbst weitergeben darf.

Wisst Ihr was darüber?

Liebe Grüße,
Peter


----------



## peterfolta (24. Dez 2008)

Ich habe etwas herausgefunden:

Lädt man die Datei hier herunter: http://www.zdnet.de/activex_tools_f...stributable_gdi_download-39002345-70904-2.htm findet sich in dem Archiv neben der gdiplus.dll und der license.txt auch noch eine Datei namens redist.txt.

Deren Inhalt ist der Folgende:



> ===========
> Gdiplus.dll
> ===========
> 
> ...



Offenbar kann man die Datei also weitergeben, so wie ich das vermutet habe, allerdings weiß ich noch nicht, ob ich einen entsprechenden Patch entwickeln kann.

Liebe Grüße,
Peter


----------



## peterfolta (24. Dez 2008)

Offenbar muss ich gar keinen Patch erstellen: Es genügt, die *gdiplus.dll* im Stammverzeichnis der Software mitzuliefern: Keine Installation / kein Kopieren ins Systemverzeichnis ist erforderlich.

Diese Weitergabe ist auch gestattet, wie im Zitat in obigem Beitrag von mir zu lesen ist.

Dazu gelten folgende Redistribution Conditions:



> * Redistributable Code.  Portions of the SOFTWARE PRODUCT are designated as "Redistributable Code."  The text file,
> \LICENSE\REDIST.TXT, lists the Redistributable code and describes distribution rights associated with the Redistributable
> Code, subject further to the Distribution Terms specified below.
> * Distribution Terms.  You may reproduce and distribute an unlimited number of copies of the Sample Code and/or
> ...



Einzig unklar bleiben hier für mich nur noch die Bedingungen (c) und (f):

zu (c): Was heißt das konkret für mich bzgl. der Lizenz meiner Software?

zu (f): Ist mit der "valid copyright notice" ein Copyright-Hinweis auf Microsoft gemeint? Wenn ja, wie sollte der aussehen? Außerdem entwickele ich meine Software auch noch für Linux und Mac OS, und da kann dieser Copyright-Hinweis natürlich nicht auftreten.

Muss ich auch noch eine EULA oder ähnliches von Microsoft mitliefern? Und muss diese oder ein Hinweis auf Microsoft z. B. bei der Installation der Software erfolgen? Oder reicht lediglich in einem About-Dialog der Software der Hinweis, dass Komponenten (konkret: Die GDI+-Bibliothek) von Microsoft verwendet wird? Ist vielleicht mit "valid copyright notice" etwas anderes gemeint, also kein Hinweis auf Microsoft, sondern vielleicht auf mich, als Softwareentwickler?

Die anderen Bedingungen scheinen soweit klar zu sein und erstmal habe ich auch nichts gegen sie einzuwenden, bis eben auf (c) und (f) was noch geklärt werden muss.

Liebe Grüße,
Peter


----------



## hagbard23 (16. Jun 2009)

Also so weit ich das weis, darfst du genau das eben nicht tun. Du musst die redis in deinem installer installieren, microsoft verbietet das ausliefern und reinbügeln von dll's explizit!


----------

