Short: C= Installer 100% compatible replacement Author: jt18@irz.inf.tu-dresden.de (Jens Tröger) Uploader: htw10895@informatik.htw-dresden.de (Jens Langner) Version: 1.3 pre, Oct 08, 1999 Type: util/sys Distribution: Freeware InstallerNG is a 100% compatible replacement of the original C= Installer provided with the old OS 3.1 releases. InstallerNG is completly written from scratch with many new features and bugfixes where the old Installer is just a pitty. Additionally, it has a formal language definition, which is the reason for a stable compiler-kernel and the good interpreter. Also InstallerNG could be the new Installer in upcoming OS release (AmigaOS v3.6+) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! Please note that this is a PRERELEASE and not a final version !!! !!! It could have bugs where you adviced to report them to us. !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Please take a look at it and have fun... Your InstallerNG Team, Jens Tröger Jens Langner Some of the new features are: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Nice GUI The builtin-gui is based on a BOOPSI class-collection, which was also written by Jens Tröger; these classes allow easy font-adaption, resizing and support MagicWB. Additionally, you may "plug-in" other gui-systems (like MUI, BGui, ...) via a shared library named "installergui.library". Furthermore, the help window can stay open, while you install your packages; this is a builtin feature and should be provided by every GUI - More strict interpretation InstallerNG is more compatible to the C= documented Installer script language. The original C= Installer v43+ isn`t really strict in interpreting scripts and many error are just ignored and not mentioned to the user. - Flexible interpretation If an error raises while the interpretation process, InstallerNG provides to continue at the very next function. - Interuptable Interpretation The InstallerNG can be interupted everytime by sending the CTRL-F signal to its process. This option allows to break out of infinite loops. - No restrictions The original installer has some terrible restrictions: maximum string-length, maximum size of a string value. The InstallerNG makes none of these: a string (and the value of a string variable too) can be as long as it fits into your memory. - Comfortable WB-Start If you run the InstallerNG from WB and give it no script via tooltypes a requester pops up which asks you whether you want to load a script by a file-requester or if you want to app-iconify the installer. If you drop a script-file on the application icon the InstallerNG gets started. - Returncode The InstallerNG now returns RETURN_OK (0) if everything of the installation went fine, or, in case of an error, it returns RETURN_FAIL (20). This could be useful, if you call the InstallerNG from a script and the script wants to check whether the InstallerNG was successfull or not. - SOOP - Simple Object Oriented Programing With help of the new functions PUT-PROPERTY, GET-PROPERTY and REMOVE-PROPERTY the InstallerNG implements LISP-like property-lists for symbols. Imagine of a symbol as an object and the properties as the objects attributes. Furthermore, if you write PROCEDURE`s, which are able to operate on an object`s attributes, you just can produce simple OO code :) ...without a class hierarchy, but object oriented! - UNDO-REDO environments Using the function "SWING" you are able to build an environment, in which you can "swing" from one (topmost) function to the next. When reaching the last one, the installation may proceed. This looks/works much like the MS-Setup program :) With v44 of the C= installer, you are able to simulate such an environment by special TRACE/RETRACE/BACK functions (have a look at the C= installer documentation) - Full installation control If you want to, the InstallerNG asks for confirmation of every action, no mattter what the script-programmer codes in his installer script - AppWindow InstallerNG can now act as an socalled "AppWindow", i.e. you may drop files into the window and InstallerNG uses them. This only works, when the InstallerNG asks for a file or directory. ... and many more ... please see the .guide file Changes since the last v1.2 release: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1.3 pre-release (October 8, 1999) October 8, 1999 - fixed an enforcer-hit (caused by strtol of the amiga.lib) - fixed a silly COMPARE bug (Kai Hofmann) - small changes to the Install script October 6, 1999 - ASKCHOICE/ASKOPTIONS did throw an error, if there were no evaluated CHOICES - in case of an interpretation error: the InstallerNG executed the ONERROR functions before the requester, so in case of an ignore, the script worked with a cleaned-up environment - SYMBOLSET/SYMBOLVAL did not work case-insensitive, which could cause tricky errors (Carsten Scholling, Jens Langner) October 5, 1999 - updated the "Known Bugs" section October 4, 1999 - some changes to the builtin gui (Jens "Nervensäge" Langner) - added new builtin variable @PROCEED-BUTTON for customizing the text of the "Proceed with install"-button (Kai Hofmann) - REBOOT supports the SAFE parameter-function October 1, 1999 - REBOOT does not work in pretend mode (like C= Installer v44.7) September 30, 1999 - when the InstallerNG asks for a file or dir (ASKFILE/ASKDIR functions) you can now drop icons into its window to change the current directory September 29, 1999 - added new function to the GUI-API - if InstallerNG opens a custom window (see the EFFECT function), then the different console windows open on that screen too September 28, 1999 - added new cool example script - the InstallerNG should now create correct logfiles (but the content may differ from C= installer's logfiles!) September 26, 1999 - added the logging to a custom console window (should be useful for programming and debugging scripts) - WELCOME: selecting a log destination did modify the user-mode! September 23, 1999 - TOOLTYPE: if the destination icon did not contain any tooltypes, the InstallerNG throwed an enforcer hit September 21, 1999 - made heavy changes to the confirmation behaviour of several functions, such that CONFIRM can now have 0/1/2 as its arguments - the compiler should accept CONFIRM with no argument too - STARTUP now inserts the call to 's:user-startup' into the 's:startup-sequence', if the call does not appear (currently, only the builtin gui!) September 20, 1999 - CONFIRM evaluates to 2 (means expert), if the argument is illegal - when it prompted, ASKBOOL ignored the @user-level September 15, 1999 - my installergui.library now supports dis-/enabling of the windows, the BACK function and the HELP parameter function September 11, 1999 - EXECUTE/REXX/RUN built the arguments in a wrong way - GETASSIGN returned a NULL instead of an empty string, if it could not find the related assign/volume For more changes information, please read the .guide file attached in the archive.