Re: Install GTK on windows using no official installers



That's not acceptable for  my situation. I'm using a Gtk+ binding
for PLT Scheme.

--Hans


David J. Andruczyk schreef:
statically link your program so that is doesn't need
any outside libs. (it'll likely be large in size and
won't respond to theme changes (may not matter to
you))

there are other caveats to that AFAIK.

--- Hans Oesterholt-Dijkema <hdnews gawab com> wrote:

What would be a good way to make a private Win32
GTK+ release
independent of others?

--Hans


David J. Andruczyk schreef:
Beware that doing so (incorporating a "private"
GTK+
release intro your installer) will mostly likely
BREAK
or screw up ANY OTHER GTK+ apps on the box..

I have this problem with my software (MegaTunix).
I
recommend my users to use the gladewin32.sf.net
GTK+
runtime as it has GTK+, glade, and gtkglext, all
in a
simple 5 click installer. Users report that if they had gaim installed,
this
breaks things horribly.  They can't run my SW with
gaim's GTK+ as it is missing gtkglext, and cairo
dll.s, and instlaling the sladewin32.sf.net
runtime
doesn't resolve it as gaim's "privatized" gtk+
screws
up the rest of the system except for itself.

So adding in your own privatized version is likely
to
affect other applications.

The best "all in one" runtime I have found for me
is
the gladewin32.sf.net as it keeps it's DLL's OUT
of
the window's dir (everything goes into C:\GTK)

It also includes bits that other GTK+ libs DO NOT
have,  like gtkglext (openGL extension),
glade/libglade, libxml2, cairo, etc.


--- Tor Lillqvist <tml iki fi> wrote:

Bleriot Trece writes:
 > is it possible to copy a set of GTK files
(DLLs
or whatever) and,
 > in this way, make GTK available WITHOUT using
an
official GTK
 > installer?

Of course. And anyway, the degree of officialness
of
the various GTK
installers out there isn't that clear.

 > what files should be copied, what environment
variables
 > modified... and so on?

I could try to list them, but you learn best by
doing, so I will tell you
how to do that:

Start by fetching from
http://ftp.gnome.org/pub/gnome/binaries/win32/
the latest run-time zipfiles (not the *-dev-*
ones)
for gtk+, pango,
atk, glib. From the depencensies subfolder get
the
latest cairo,
gettext, and libiconv run-time zipfiles. If you
know
that your app
will need the libpng pixbuf loader at run-time,
also
get libpng and
zlib.

Unzip all the above in some new empty folder. Add
the "bin" folder of
that to your PATH environment variable.

Then start removing stuff you think your app and
your customers won't
need. For instance, if you don't have any need
for
localised strings from
gtk+ etc, you can remove everything from
lib/locale
. If you want localised
strings, but not for some "exotic" languages,
remove
the corresponding
subfolders from lib/locale.

If you don't need pixbuf loaders for "exotic"
image
formats, remove
those dlls from lib/gtk-2.0/2.10.0/loaders .

If you don't need gtk+ input modules, drop
lib/gtk-2.0/2.10.0/immodules
. Also, then edit etc/gtk-2.0/gtk.immodules.

If you want the MS-Windows theme to be the
default,
create a file
etc/gtk-2.0/gtkrc with the line gtk-theme-name =
"MS-Windows" . Otherwise,
if you don't want the end-users to be able to
change
theme engine, drop
lib/gtk-2.0/2.10.0/engines and
share/themes/MS-Windows .

If you don't need the Freetype2 Pango backend
(and
you presumably
won't), remove bin/linpangoft2-1.0-0.dll.

Hmm, that should be about it. If I forgot
something
obvious that can
also be dropped, please follow-up...

Then you add what's left to your application's
installer.
Don't change the folder substructure. Keep the
DLLs
in the "bin"
subfolder for instance.

It's easiest to put your application's exe file
in
the same "bin" folder
and have your Start Menu etc shortcuts point to
that. Otherwise you will
have to make sure that the "bin" folder is
included
in PATH when the
end-user runs your app, either by having your
installer modifying the
environment variable, using the App Paths
Registry
method, using a tiny
wrapper executable that modifies PATH, or
something
else.

The recommended way (at least if I am doing the
recommentation) is indeed
to install a copy of GTK+ with each application
(or
set of applications
originating from the same maintainer / packager)
that uses it. This is
unlike Linux, I know. But attempts to use a
shared
GTK+ installation on
Windows between applications developed and
distributed by unrelated parties
have not really been successful.

--tml
_______________________________________________
gtk-list mailing list
gtk-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-list

-- David J. Andruczyk

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam
protection around
http://mail.yahoo.com _______________________________________________
gtk-list mailing list
gtk-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-list




-- David J. Andruczyk

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com





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