Re: Install GTK on windows using no official installers

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

 



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@xxxxxxxxx> 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@xxxxxx> 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@xxxxxxxxx
>>>> 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@xxxxxxxxx
>>> 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@xxxxxxxxx
http://mail.gnome.org/mailman/listinfo/gtk-list

[Index of Archives]     [Touch Screen Library]     [GIMP Users]     [Gnome]     [KDE]     [Yosemite News]     [Steve's Art]

  Powered by Linux