Win32 USB

From K-3D

Jump to: navigation, search

Building a compact and autonomous K-3D "install free" demo for Win32.

You may also be able to do this by installing K-3D into the same folder as the portable version of GIMP but this is untested.

You can get the size of an "on disk install" of K-3D from 43MB to 13MB by using UPX to compress the .exe and .dll files, but as yet I have not got stable results. The beta version has more options to investigate

Using pngcrush on the rasterized icons to reduce their size is worth testing too.

depends.exe can be used to determine exactly which GTK (counted 26) and other .dll and PYD file K-3D needs to run.

The end goal is a single dir tree with a compact form of K-3D and all of it dependencies, that will run off CD or USB without an install being required. A simple copy to HD should give a working application too.

Adding the ability to read .py .svg .slmeta and .k3d files that have .7z compression would help to maximise the numner of demo files we can include. e.g. MyFile.k3d.7z

This idea should be a great way to demo K-3D (Win32), and the whole thing, including Aqsis and other tools, should run off a 185MB mini CD. If we can keep things below 50MB then it can go on a Business Card style CD at $700 for 1000 units.

I have a 16MB .7z archive that expands to about 70MB, it contains a folder with such a self contained version of K-3D. K-3D runs fine on my system and depends.exe shows no sign of it using anything on the HD other than the Win32 .dlls everything is running out of a folder on a 128MB USB drive.

As yet there are no optimisations for size, i.e. the exe and dll files could be 20 to 30% smaller and there are a few other files that can be removed completely. i.e. the base K-3D system plus Aqsis should run on a 50MB Credit Card sized CD.

I am sure that K-3D + Aqsis + GIMP + utilities for video + Python + GTK etc. can all fit into (and run from) one 185MB mini CD.


To get K-3D to run out of a folder you need to add the GTK and Python dll files to the same folder.You also need to copy the \GTK\lib and \GTK\etc folders into the k3d dir on the USB drive.

The following list of dlls if copied to the top level folder (same place as K-3D ) should allow it to run without a GTK or Python install.

  • \gtk\bin\LIBPNG13.DLL
  • \gtk\bin\LIBSIGC-2.0-0.DLL
  • \gtk\bin\INTL.DLL
  • \gtk\bin\JPEG62.DLL
  • \gtk\bin\LIBATK-1.0-0.DLL
  • \gtk\bin\LIBATKMM-1.6-1.DLL
  • \gtk\bin\LIBFREETYPE-6.DLL
  • \gtk\bin\LIBGDK-WIN32-2.0-0.DLL
  • \gtk\bin\LIBGDK_PIXBUF-2.0-0.DLL
  • \gtk\bin\LIBGDKGLEXT-WIN32-1.0-0.DLL
  • \gtk\bin\LIBGDKMM-2.4-1.DLL
  • \gtk\bin\LIBGLIB-2.0-0.DLL
  • \gtk\bin\LIBGLIBMM-2.4-1.DLL
  • \gtk\bin\LIBGMODULE-2.0-0.DLL
  • \gtk\bin\LIBGOBJECT-2.0-0.DLL
  • \gtk\bin\LIBGTHREAD-2.0-0.DLL
  • \gtk\bin\LIBGTK-WIN32-2.0-0.DLL
  • \gtk\bin\LIBGTKGLEXT-WIN32-1.0-0.DLL
  • \gtk\bin\LIBGTKMM-2.4-1.DLL
  • \gtk\bin\LIBPANGO-1.0-0.DLL
  • \gtk\bin\LIBPANGOMM-1.4-1.DLL
  • \gtk\bin\LIBPANGOWIN32-1.0-0.DLL
  • \gtk\bin\LIBTIFF3.DLL
  • \gtk\bin\libxml2.dll
  • \gtk\bin\iconv.dll
  • \gtk\bin\zlib1.dll
  • \gtk\bin\libpng12.dll
  • \gtk\lib\gtk-2.0\2.4.0\loaders\LIBPIXBUFLOADER-PNG.DLL
  • \gtk\lib\gtk-2.0\2.4.0\loaders\LIBPIXBUFLOADER-XPM.DLL
  • \gtk\lib\pango\1.4.0\modules\PANGO-BASIC-WIN32.DLL
  • \python24\lib\site-packages\gtk-2.0\ATK.PYD
  • \python24\lib\site-packages\gtk-2.0\GOBJECT.PYD
  • \python24\lib\site-packages\gtk-2.0\gtk\_GTK.PYD
  • \python24\lib\site-packages\gtk-2.0\PANGO.PYD
  • \python24\python24.DLL