Since this information seemed generally useful, I added it to the Swiki, under "FAQ: Squeak Executables", along with some info about using SystemDictionary>>majorShrink. See http://minnow.cc.gatech.edu/squeak/778 . - Doug Way dway@mat.net On Sun, 9 Jan 2000, Scott Wallace wrote: > At 3:13 PM -0200 1/9/00, andregarzia@openlink.com.br wrote: > >I created a little game using smalltalk and i want to distribute it > >to the end user, but i do not want the user to damage the > >app by "clicking around" and "draging and droping" in the > >browser. > > > >Is there some way to compile the code or assemble a image that > >does not contain the development enviroment in it? > > > >Tanx In Advance > >Andre Garzia - Almost Conductors - BRAZIL > > > Andre, > > If your application is in morphic and if it does not involve any > text-bearing SystemWindows, you may find that you can directly use a > bulletproofing facility already present in the system. (If you're > not in morphic, or if you're in morphic but do need text-bearing > system windows to be present in your application, you may need to > make some further simple modifications to get the complete effect.) > > Note that the process described here does not strip out the > development environment -- it simply makes it inaccessible. > > Here's what to do: > > a. Put the expression "Preferences disableProgrammerFacilities" into your > "do..." menu. > b. Set everything about the image exactly as you want it to appear when > your target user fires it up. Make certain there are no windows left on > the display. (To make it possible for the user to exit from > the resulting > image to be, put some sort of "exit" control somewhere on the screen.) > c. Snapshot your system (just for safety). > d. Choose that "Preferences disableProgrammerFacilities" from the "do..." menu > e. When asked to confirm that you really want to do this, say yes. > > All the bulletproofing steps will then be undertaken at once, and the > system will be snapshotted in that bulletproofed state. This will be > a "save as" operation, so you'll be asked to provide a new name for > the image. > > (If subsequently you want to make any changes, fire up the earlier, > prebulletproofing snapshot you saved in step c, and resume the > sequence starting with step b.) > > The resulting image will be bulletproof -- no hooks into the > development environment, no ability to snapshot, no way to see code, > no way to get a menu, no way to evaluate an expression, no cmd-period > (alt-period) interruptability, no "missing sources" warnings, no > cmd-key shortcuts, etc. All the user can do in the resulting image > is use the ui afforded by what's on the screen at the moment of > bulletproofing. > > If this approach is useful to you, and if you need more details or > clarifications on anything, drop me a line. > > Hope this helps. > > -- Scott > >