[plt-scheme] Stand-alone PLT web-app

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sun May 27 17:21:37 EDT 2007

At Sun, 27 May 2007 17:19:14 +0100, "Matt Jadud" wrote:
> I want to bundle a servlet for stand-alone application. Specifically,
> I'd like to deploy a zipfile/disk image containing a double-clickable
> app (on Windows/Mac) that, when launched, brings up the webserver and
> loads one or more included servlets.
> 
> Is this something anyone has already done? If not, any non-obvious
> pointers? I think the obvious solution is to simply have the user
> download a MzScheme bundle, install it, and then run a script based on
> 'instaweb' or similar. However, I'd like something that is a bit more
> straight-forward from the user's point of view---more of a
> 'drag-n-drop-install-and-double-click-to-run' solution. It isn't
> obvious to me, right now, how to achieve that. Perhaps someone here
> has some ideas...

It sounds like you need a combination of

 * `create-embedding-executable'
 * `assemble-distribution'
 * `bundle-directory'

from various libraries in the "compiler" collection.

For Windows, the result would be a .zip containing a double-clickable
executable (along with support files in a folder). For Mac OS X, the
result would be a .dmg containing a double-clickable executable. For
Unix variants, you get a .tgz that can be unpacked anywhere to get a
"bin" directory that contains an executable.

This is the same sort of package that DrScheme generates via its
"Create Executable" menu item, but the Scheme API and the separate
pieces give you more control over extra files that go into the bundle.

Matthew



Posted on the users mailing list.