As one prepares to install code into its final execution location, one has to determine in what file format the application should be shipped. Hopefully people will add to the following discussion, spin off new pages, etc. Some of the most popular alternatives in the Tcl arena are: Formats that need to be extracted by the user : * '''tar''' file format * '''zip''' archive file format (as implemented by winzip, unix's zip/unzip, etc.) * rpm file format (http://www.rpm.org/) * openpkg style (a varient of rpm) (see http://www.openpkg.org/) Formats that need only to be placed by the user in the appropriate directory : * [starkit] file format * [starpack] file format * single file (if you are so lucky...) * one of the ''compressed but still executable' formats for a single file, such as provided by windows zip command, upx, etc. ---- ''[escargo] 1 Jul 2003'' - Any idea of ''which'' '''zip''' format(s) are of interest here? For example, if you are on a system with GNU tar, you can untar and unzip at the same time (tar xvzf ....). On systems without GNU tar, you might need a separate unzip program and tar (or untar). ''anonymous - '' The process used by gnu tar is more typically called '''gzip''' (in honor of the program used...). gzip isn't really a deployment file format as it is a compression. [AM] The well-known zip-format is directly supported by Tcl, which makes it feasible to use it on a number of well-known platforms. ---- [LV] [Clif Flynt] asked, over on the [starkit] mailing list, a question that now is whirling around in my head. What would need to be developed so that one could, for compiled programs, create a single a.out executable? The above formats are all ''external'' so to speak. In other words, one creates one's programs, sets up one's files, creates a file structure, then ''wraps'' the results into a file that, in essence, gets unwrapped (in memory) at run time. But what about a different approach - changes to the Tcl (and Tk) code so that external files are not required? Of course, to use extensions, one would need to do additional work so they too no longer required external files. It seems like, to me, this would be a third Tcl/Tk implementation (the first being the current [C] version, the second being the [Java] implementation known as [TclJava] (and perhaps others?) ). It would seem to me that it would be useful for embedded system developers as well as application developers. Has anyone researched the effort this would take? Also wondering about the terms [stardll]/[starlib]. ---- [Category Deployment]