[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Makeing librsvg work (bizp2.dll missing)



> On Linux, the PATH is system-wide to include one GTK+ runtime. This is
> common practice. Why should there be any need to handle this different
> on Windows?

Because Windows is not Linux, and GTK+ is not provided by the operating system.

Here is an excerpt of a mail I sent just 9 days ago in a thread which
was (wrongly) in gtk-devel-list:

    > And what about the GTK+ apps bundled with their own gtk in their
    > own folders.

    That is the how it should be.

    > And wich gtk library does a certain application use when i start
    > it now.

    Unless some badly written application installer puts the GTK+
    stack DLLs in the system32 or system folder under the Windows
    folder, each application uses the GTK+ stack bundled with
    it. Either by having the GTK+ stack DLLs in the same folder as the
    application's exe file, or by using a Registry entry that makes
    the application's exe files use GTK+ from a specific location.

    As there is no centralized package management (as in a Linux
    machine running a specific distro), each application packager in
    effect is a different "distro" that distributes the version of
    GTK+ (and other 3rd-party libraries) that they know fits their
    application. GTK+ is from Windows's point of view a 3rd-party
    library.

    > From the view of a user this is realy confusing.

    Huh? A typical Windows user of a GTK-using application does not
    and should not need to know what GTK+ is, and that the application
    uses it, or that on a Linux box there is just one system-managed
    GTK+ installation.

    It's people with some experience of Linux that have the misguided
    conception that Open Source packages on Windows should somehow be
    installed like they are on Linux, i.e. system-wide, and thus find
    it confusing that there can in fact be several installations of
    some 3rd-party library, one per application that bundles it.

    > It would be really nice to have a standardized gtk installer.

    Why not start the discussion with something more basic, like zlib?
    How many copies of zlib code do you think exist on a Windows
    machine with a typical mix of freely available software installed?
    Firefox includes it, it's in OpenOffice.org, and surely in a bunch
    of other widely used software.

    (Presumably it is in some disguise also in Windows itself, even if
    the zlib API as such is not offered as a public documented API by
    Windows.)

    Ditto for libjpeg, libpng, expat perhaps, etc. Now, once you have
    convinced these projects to have a standardized installers for
    these libraries, let's get back to GTK+...

    > And if an application bundles it's gtk library with it's
    > installer, the installer should be able to check if there is
    > already a library installed and which version.

    Trust me, this just doesn't work. It is less pain if each
    application (or each person/company having control of their own
    installer(s)) bundles an own copy.

> If every application bundles its own copy of the GTK+ stack, the user
> will experience problems (beside of the waste of space): themes have to
> be configures for each GTK+ applications separately -- if they delivery
> themes at all.

Sure. Why is that a problem? Users (and I mean *real* end-users, not
"sophisticated" people who have used Linux) should not even need to be
aware that there is something called "GTK+" and that some app in
particular uses it. And the waste of space argument is so last
century.

I might well imagine that if various non-related GTK+-using apps
shared a GTK+ installation and theme setting, users would be very
confused why these, in their impression, totally unrelated
applications, are all affected by some mysterious "GTK+ theme setting"
thingie.

The situation is very much different on a GNOME desktop where it makes
sense to have theme settings shared between the desktop environment
and all apps using the same toolkit.

> This includes at least the uninstataller information. This is common
> usage on Windows and AFAIK required by the Winodws Programming Guidlines.

Yeah, but if there is no shared installation of just GTK+ as a
separate entity, there obviously is no need to uninstall it separately
either;)

--tml


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]