Version 18 of Freewrap

Updated 2005-08-31 08:08:23

by Dennis LaBelle

homepage at http://freewrap.sourceforge.net/ The freewrap program turns TCL/TK scripts into single-file binary executable programs.

There are various forms of this application - from wrapping pure-tcl scripts to wrapping tk and I believe even tk + certain extensions. The pure Tcl version--freewrapTCLSH--generates an executable that's typically just over a quarter of a megabyte.


Alex [Vizantinos?] provides a recipe [L1 ] for reverse engineering a Freewrap-ped application. Dennis follows that up with a simple counter-recipe for use of a private encryption key.


Latest version (5.6) gives up source code encryption [L2 ].


MG notes on May 12th, 2005 that a v6.0 seems to be available, since the start of the year, according to the download's page. It uses Tcl 8.4.8.


See also tbcload and Freedelivery


In a world with Starpacks, mktclapp, and so on, what's the point of freeWrap? One benefit is that freeWrap builds in BLT.

MG I've been using Freewrap since before I knew Starkits existed (and possibly since before they did exist?). I've read a lot of very long pages on how to use a Starkit to make an executable of a Tcl script, which several files and utilities to download.. and then I just drag-and-drop my Tcl script onto Freewrap and my executable is made. That's why I've kept using it. Though, lately (I think since I downloaded freeWrap 6), I've found that if I edit the icons or version info of my freeWrap'd executable with Resource Hacker, as I've always done, it no longer works, which is a downside that would make me consider switching to Starkits now.'

EKB I have had the same experience! As far as I can tell (from looking at the Freewrap web page and from the Makefile), here is what is happening: The most recent version of Freewrap uses UPX to compress the executable. However, UPX doesn´t work when the executable calls itself, as Freewrap must (to use the zip vfs). So, only a core part of the Freewrap executable is UPX-compressed. As a result, if you run upx -d on Freewrap, it will run, but render it unusable.

The solution is simple: a non-UPX version of Freewrap. This would require a minor change in the Makefile, as far as I can tell. I have e-mailed Freewrap support to ask for this change (twice), but have received no reply. Regretfully, even though the fix would be very easy, I may switch to Starkits, since the Freewrap developers have not responded and I have to get my package out the door.


Category Application