SWT, Windows 2000, GDI+ und Microsoft Redistributable

Status
Nicht offen für weitere Antworten.

peterfolta

Mitglied
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
 
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
===========

For Windows XP use the system-supplied gdiplus.dll. Do not install a new gdiplus.dll over the system-supplied version (it will fail due to Windows File Protection).

For Windows 2000, Windows Millennium Edition, Windows NT 4.0 and Windows 98, install gdiplus.dll into the private directory of the application not into the system directory.

In addition to the rights granted in Section 1 of the Agreement ("Agreement"), with respect to gdiplus.dll for Windows 2000, Windows Millennium Edition, Windows NT 4.0 and Windows 98, you have the following non-exclusive, royalty free rights subject to the Distribution Requirements detailed in Section 1 of the Agreement:

(1) You may distribute gdiplus.dll solely for use with Windows 2000, Windows Millennium Edition, Windows NT 4.0 and Windows 98.

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
 
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
Redistributable Code (collectively "Redistributable Components") as described above in object code form, provided that (a)
you distribute the Redistributable Components only in conjunction with and as a part of your Application solely for use with a
Microsoft Operating System Product; (b) your Application adds significant and primary functionality to the Redistributable
Components; (c) you distribute your Application containing the Redistributable Components pursuant to an End-User License
Agreement (which may be "break-the-seal", "click-wrap" or signed), with terms no less protective than those contained herein;
(d) you do not permit further redistribution of the Redistributable Components by your end-user customers; (e) you do not use
Microsoft's name, logo, or trademarks to market your Application; (f) you include a valid copyright notice on your
Application; and (g) you agree to indemnify, hold harmless, and defend Microsoft from and against any claims or lawsuits,
including attorneys' fees, that arise or result from the use or distribution of your Application. Contact Microsoft for the
applicable licensing terms for all other uses and/or distribution of the Redistributable Components.

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
 
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!
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben