Tcl applications can be wrapped into a single-file executable with all dependencies included. I have used these for several applications. You can produce single-file executables for Linux, Windows and OSX.
From http://www.equi4.com/starkit/ :
A Starkit is a wrapping mechanism for
delivering an application in a
self-contained, installation-free, and
highly portable way. The name comes
from being based on a StandAlone
Runtime, called Tclkit.
A Starkit creates the illusion of a
"file system in a file" - on the
outside, it's a single file, yet the
application code continues to see a
complete directory of scripts,
extensions, packages, images, and
whatever other files it needs.
Starkits can be multi-platform. And
they can be written to, due to the
underlying Metakit database.