A '''Starpack''' is a special version of a [Starkit]. A Starpack combines a Starkit with a [Tclkit] runtime into a single file. Some people want only to know "[How to create my first Starpack]". Starpacks are standalone executables which run out of the box, making them even easier to distribute and use than Starkits. This convenience does introduce a number of trade-offs: * Starpacks only work on the platform for which they have been built * Starpacks cannot modify themselves * Starpacks must be updated as a whole, and are (much) larger than most Starkits Note that Starpacks use the same packaging mechanism as Starkits, their content can be listed and extracted with the [SDX] utility. The main difference is that the "header" is a large executable file, and that the files stored inside include all the standard Tcl/Tk runtime support files. Instructions on how to create a starpack are at [http://www.equi4.com/208] ---- [AEC], 7/22/2002: I have a tcl/tk edit application which opens a file which may be passed in on the command line (i.e. app.exe somefile.tcl). The file is opened by the app and not sourced. When I create a starpack with my app, it tries to source the file on the command line and fails. Is there a way to change this behavior of the starpack? [LV] writes: AEC, at the Starkit page there is a pointer to a mailing list where starkit developers discuss issues - you might want to report your problem there. [AEC]: Thanks. I'll look into that. ''This bug should be gone in Tclkit 8.4.x, i.e. Sept 2002 or later.'' [Wojciech Kocjan] [qstarpack] is a small script that eases migrating from freewrap to starpacks. ---- Also, from the [Tcl chatroom]: [stevel]: To wrap a script into a Starkit .... sdx qwrap myscript.tcl this gives you myscript.kit - which can be run with Tclkit. To unwrap ... sdx unwrap myscript.kit this gives you a "virtual filesystem" directory structure unpacked into myscript.vfs. To wrap back into a Starpack (i.e. application + Tclkit) then use sdx wrap myscript.kit -runtime /path/to/tclkit where /path/to/tclkit is the Tclkit for your target plaform ...One caveat, the Tclkit can't be the one you are running sdx with - just make a copy ... but you can generate for platforms other than the one you are running on. Well, except for MacOS 9.0 and earlier - where the binary needs a resource fork for some reason, and that can't be generated except on a Mac... (On OS X this is no longer true, although resource forks remain available for backwards compatibility.) ---- [LV] from the [starkit] mailing list, [jcw] says: You're going to have to create starpacks on the Mac. [For OS 9] Reason: [MacOS] files have a "data fork" and a "resource fork". The .bin files are an exchange format which ties them together (along with a bit of "finder info"). Catenating anything a the end probably will simply be ignored on unpack - which is what happens once you take it to the mac and unpack through StuffIt Expander or some such (Mac browsers tend to do that automatically, right after download). If you do it on the Mac, while the forks are distinct, sdx will concatenate after the data fork. Then you can run it through StuffIt to create the transferable .bin version. Running SDX on the Mac takes some trickery, since SDX is command-line driven, and the Mac has only tclkit: 1. Launch tclkit 2. In its console, type: set argv [list wrap myapp -prefix mytclkit] source sdx.kit 3. The sdx starkit will perform its work (and exit, I think) Some time later, [CL] notes the availability of "How to Build Tcl/Tk Application Bundles: the Mac Way" [http://tk-components.sourceforge.net/tk-bundle-tutorial/index.html]. ---- Note that not all the useful info on [starkit]s, starpacks, etc. is here on this web site. For instance, an article titled ''Custom icons for win32 starpacks'' can be found here [http://www.equi4.com/267] . ---- [Custom Icons For Win32 Starpacks - The Real Story] The info given in the Equi4.com article mentioned above is DODGY! I can't correct that page itself, because it's not on the Wiki, and not editable. So click [Custom Icons For Win32 Starpacks - The Real Story], if you want a method of customising the icons in a Starpack that:- * Actually works, * Works with ANY RUNTIME (whether or not it's got a tclkit.ico in the tclkit's topdir), and; * Allows you to ADD any icons you want to the runtime - and DELETE any that you don't want - to get exactly the set of (zero or more) icons you want. ''It would be nice if you (no name given) could please explain what does and does not work for you in http://www.equi4.com/267 - I'm also more than happy to explain how tclkit.ico can be used in any runtime (it's quite simple) if that's what you're after -[jcw]'' ---- Thanks [jcw]. My name's Peter Newman. The runtimes I want to use are BIKIT.EXE or DQKIT.EXE - cause I need BLT. Neither of those runtimes have that six icon tclkit.ico your method requires in the $starkit::topdir. So your method, as you've described it, won't work with these. But if there's a modified method that will, let me know. Also, I couldn't get your method to work with TCLKIT-WIN32.UPX.EXE - a recent version which I downloaded a few weeks ago (early February 2004). But that might be my fault. I didn't try very hard - since it's BIKIT.EXE and DQKIT.EXE I want the icons for. ''I've added some more details about how this is all supposed to work in SDX at [http://www.equi4.com/267]. -[jcw]'' ---- Could someone post some clues on how to automate the creation of starpacks/starkits through the use of a Makefile? Currently I use mktclapp which is okay, but getting dated. Discussion moved to [Building Starkits and Starpacks using a Makefile]. ---- [sbron] 17 Aug 2005: Code can tell if it's running out of a starpack by checking the variable '''::starkit::mode'''. In a starpack it's set to ''starpack'' and in a starkit it's set to (surprise!) ''starkit''. ---- [[ [Category Application] | [Category Deployment] ]]