- a tcl/tk extension installer
- an application installer, eg for tcl/tk itself or any other application, tcl based or not
- a web-based update agent
installer::fetch uri -- fetch a file from a remote url installer::tmpdir -- locate a temporary directory installer::text_progress token total current -- display progress of something installer::unzip zipfile dir -- unzip a zipfile to a target directory installer::install_extension uri ?dir? -- install a tcl extension from a uri installer::disk_free dir -- how much free space is left in dir? installer::locate_package_dir -- find a place on auto_path to install a package installer::bootstrap ?site? -- download enough code to be able to run install_extensionMy code makes use of the http extension from the core and [mkZiplib] by Michael Kraus [3] that provides a nice thin wrapper around zlib. I've provided alternate implementations of unzip that use zvfs (from freewrap) or an external unzip program if one can be found. If none is present then the bootstrap proc could be used to download and install one for the platform.Another aspect of this is the shape of installable extension packages and of an online repository. For some initial work on this see Cantcl.Other components of the installer library would include procedures to move files into different locations and to display a gui installer dialogue that is familiar to windows users. Please add your suggestions here...
Among the installers developers use for Tcl applications are
- INNO [4]
- VISE [5] (available for MacOS and Windows)
- Microsoft Installer (MSI) - not really an installer, but a system for installing software from a .msi file created by an installer such as InstallShield
- Jeff Hobbs's ActiveTcl installers (executable .zip)
- InstallShield [6]
- Nullsoft NSIS installer [7] (PT uses this)
- setup2go (recommended by Kroc) - the home page at [8] has gone, but the software is still available from download sites such as Tucows [9]
- WISE, taken over by Altiris, which was then taken over by Symantec. May still be available from Symantec. [10]
- cabwiz ("which comes with the freely downloadable eMbedded Visual C++ package")
- Installer/GD [11]
- ... [many others] ...
If you want to roll your own install scripts, you might want to reboot a (Windows) machine in the process. Here's utilities for that:
- 95/98/ME: http://www.winguides.com/registry/display.php/900/
- NT/2K/XP: http://www.sysinternals.com/ntw2k/freeware/psshutdown.shtml
[Explain TEKI.]
For a simple stand alone application installer see: http://www.superant.com/cgi-bin/countessmod.pl?Tkinstall_Program
InstallJammerhttp://www.installjammer.com/"InstallJammer is the renamed, re-designed InstallBase project and has been in work for over two years for this release." (the alpha release 1.0a1, dated 2005-11-14)
InstallBaseInstallBase is a multi-platform GUI installer written in Tcl/Tk and designed to work on Windows, Mac and virtually any flavor of UNIX / Linux.Current release is 1.0a5, released on March 21, 2003.It features:
- A full-featured install builder.
- Installs are packaged in single binary executables for each platform making web distribution easy.
- Features specific to Tcl/Tk software and programs.
- Support for multiple install themes.
- Default install themes that resemble popular, commercial installers.
- A high level of configurability. Install panes can actually be modified right down to the Tcl/Tk code.
- Built-in support for Windows install conventions.
- Automatic creation of an uninstaller.
- Currently supported platforms are Windows, FreeBSD, Linux and Solaris.
About the Company: Software AG one:The installation tool is called Graphical Installation for Unix (short: Ginfix) and is an extended Tcl/Tk interpreter. It is a statically build single executable, not unlike a Starpack but doesn't use that technique.The installer supports installing, configuring, updating, and removing a Software AG product on Unix Systems. It has a wizard like front end and supports two interactive modes (gui and console) and a batch mode without interaction. A steps file is needed as input, which is a specially formated Tcl-Script and describes the necessary steps for the installer to e.g. install a Software AG product.