═══ 1. Copyright ═══ (c) Copyright Janosch R. Kowalczyk, 1996. myNstall is the universal small PM installation program for OS/2 from Janosch R. Kowalczyk. All rights reserved. This program is Freeware. You can use this program for your own private purposes, but you cannot change any of the contents with following exceptions: 1. Contents of the file INSTALL.DAT. 2. You can use your own help file, but you MUST enclose following chapters from the existing INSTALL.HLP:  Author  Author's thanks  Copyright (this chapter)  Disclaimer  Introduction Please send all bug reports and improvement suggestions to the author. ═══ 2. Introduction ═══ The myNstall ([maj:]Nstall) is the universal small installation PM-program. It uses control words to arrange the installation process and gives you the interface to your own Rexx routines, so that you can design the installation process with more flexibility as you are now able to. Of course you can omit all these controls and work with the default values as delivered. If you want to work without the control words, you can use this routine as is. It copies almost all files (with exception of hidden and system files) from the home directory into the selected destination directory. myNstall revision history ═══ 2.1. myNstall revision history ═══ These are the new features that were added for the version 1.01 Beta of myNstall. Following keywords for the control file INSTALL.DAT were added: 1. WPS_ONLY_IF_EXIST= to hide/show the check box "Create WPS object only". 2. WELCOME_BUTTON=OKCANCEL | OK to show in the Welcome message of your installation the buttons OK and Cancel or OK only. 3. WELCOME_TITLE= to set the Title for this message. 4. WELCOME= to set the message text. You can use this keyword multiple times. 5. START_REXX_BY_OPEN_WINDOW= to start your own Rexx routine at the start of the installation process (Exit 1). 6. START_REXX_BY_START_INSTALL= to call your own Rexx routine after you pressed the Install-Button but before the installation has started (Exit 2). 7. START_REXX_BY_SUCCESSFUL= to start your own Rexx routine after the successful installation (Exit 3). 8. START_REXX_IF_FAILURE= to start your own Rexx routine if the installation has failed (Exit 4). 9. START_REXX_BY_CLOSE_WINDOW= to start your own Rexx routine before you exit the installation process (Exit 5). 10. DELETE_FILE= to delete a file from the destination directory before you start the installation process. You can use this keyword multiple times. It is useful for the update installation. 11. REMOVE_DIR= to delete a subdirectory from the destination directory before you start the installation process. You can use this keyword multiple times. It is useful for the update installation. These are the new features that were added for the version 1.02 Beta of myNstall. 1. DELETE_FILE_AFTER_INSTALLATION= to delete a file from the destination directory after successfully installing your product. 2. REMOVE_DIR_AFTER_INSTALLATION= to delete a subdirectory from the destination directory after successful installation. ═══ 3. System requirements ═══ myNstall requires approximately 200 kB (additional INSTALL.DAT) of disk space. To use myNstall to install products, the following must be on the computer:  OS/2 version 2.x or higher,  Rexx support. ═══ 4. How to install? ═══ To install a product:  Use the program INSTALL.EXE to start installation - an installation window will be displayed.  Select the drive letter in the Box named Drive.  Select the directory in the Box named Directory: Single click with the mouse button 1 selects the directory, Double click with the mouse button 1 opens the subdirectory list.  The path to the last selected directory is showing in the entry field named Path.  If you wish to install the product into a new directory, you should write its name into the entry field named Path.  Select the push button Install to start the installation.  If the destination directory not yet exists, you will be prompted for confirmation.  Select Yes to install or No to cancel the installation. ═══ 5. How does the myNstaller work? ═══ To use the myNstall copy following files into your products source (installation) directory:  INSTALL.EXE  INSTALL.HLP  [INSTALL.DAT] INSTALL.DAT is the control file with the keywords to control your installation process. You don't need this file, if you don't want to use its features. The myNstall unpacks almost all files (with exception of files with attributes H (hidden) and S (system) from the home (source) directory into the current destination directory. See OS/2 UNPACK command for more info. Note: If the current destination directory does not exist, it will be created. You will be prompted for the confirmation. The description of the WPS objects is situated in the file INSTALL.DAT. The description records must be enclosed in parenthesis ( ). If you want to create a folder for other objects, it must be placed at the beginning of the listing. For the syntax see the parameter list of the REXX function SysCreateObject. Note: You can only use one (1) line for one (1) description record. i.e.: /*------(start WPS objects)-----*/ ("WPFolder", title, location, associations, "r") ("WPProgram", title, location, associations, "r") other descriptions record other descriptions record /*------(end WPS objects)-----*/ See chapter Control words (keywords) in this file for more information. ═══ 6. Control words summary ═══ The following are keywords to control the installation process: 1. DESTINATION=destination_directory_path 2. WPS_ONLY_IF_EXIST=file_name 3. WELCOME=welcome_message 4. WELCOME_TITLE=message_title 5. WELCOME_BUTTON={OK | OKCANCEL} 6. START_REXX_BY_OPEN_WINDOW=rexxcall 7. START_REXX_BY_START_INSTALL=rexxcall 8. START_REXX_BY_SUCCESSFUL=rexxcall 9. START_REXX_BY_FAILURE=rexxcall 10. START_REXX_BY_CLOSE_WINDOW=rexxcall 11. DEST_PATH (used by SysCreateObject and your own Rexx) 12. HOMEDIR (to be used by your own Rexx) 13. DELETE_FILE 14. REMOVE_DIR 15. DELETE_FILE_AFTER_INSTALLATION 16. REMOVE_DIR_AFTER_INSTALLATION See chapter Control words (keywords) for more details. ═══ 7. Control words (keywords) ═══ Note: You can write the keywords into the file INSTALL.DAT in any order! In the follwing chapters are described keywords which you can use in the control file INSTALL.DAT. Remember: you can omit all these controls and work with default values only. ═══ 7.1. Destination path ═══ DESTINATION=destination_directory_path This keyword identifies the record from file INSTALL.DAT which sets the name of the standard destination directory. If you omit this name, the root directory of the drive C: will be used. You should omit the leading and ending backslashes and the drive character. Default value: root directory of the drive C: (drive C: is always the default drive. Everybody has drive C: - don't they?). Example: DESTINATION=TOOLS\INSTALL ═══ 7.2. Create WPS object only ═══ WPS_ONLY_IF_EXIST=file_name The Installer is able to recreate the damaged WPS-Objects for your installation. It does this if the Check Box Create WPS objects only is selected. But it is not necessary to show this box if the user is doing his first installation. You can hide this Check Box for the installation window if you use this keyword. This box will be showed if the file file_name is present in the destination directory. Default value: no - the check box will be showed Example: WPS_ONLY_IF_EXIST=GREED.EXE ═══ 7.3. Welcome keywords ═══ These keywords help you to personify the start of the install procedure. There are 3 WELCOME-keywords: 1. WELCOME=welcome_message This keyword allows you to show the text of welcome_message before your installation starts. You can use multiple WELCOME= keywords for one message. Each WELCOME= message gives you a new line in the message box. Additionally you can use '\n' (like C) in the message line for Line Feed. Note: You must have used at least one WELCOME= message before you can use the WELCOME_TITLE and WELCOME_BUTTON keywords. Default value: No - no message box. Example: WELCOME=Welcome to the Installation of "GREED"\nVersion 2.0 Beta.\n\n WELCOME=Click OK to continue or CANCEL to exit\n\n 2. WELCOME_TITLE=message_title You can use this keyword to change the title in the message box Default value: Welcome Example: WELCOME_TITLE=Hallo folks! 3. WELCOME_BUTTON={OK | OKCANCEL} The message box, in which you show your info, can have either an OK button or both OK and CANCEL buttons. You can decide which form you will use. Default value: OKCANCEL Example: WELCOME_BUTTON=OK Note: Set message text without apostrophes. ═══ 7.4. Keywords for call of Rexx procedures ═══ myNstall supplies the possibility of calling your own Rexx procedures at 5 different points of installation processing: 1. START_REXX_BY_OPEN_WINDOW=rexxcall - before the start of the installation (pre-processing exit 1). Default value: No - no Rexx will be called. Example: START_REXX_BY_OPEN_WINDOW=my1rexx 'Janosch' 2. START_REXX_BY_START_INSTALL=rexxcall - after pressing the Push Button "Install" (pre-installing exit 2). Default value: No - no Rexx will be called. Example: START_REXX_BY_START_INSTALL=my2rexx 3. START_REXX_BY_SUCCESSFUL=rexxcall - after successful installation (post-installing-successful exit 3). Default value: No - no Rexx will be called. Example: START_REXX_BY_SUCCESSFUL=my3rexx 'A:' 4. START_REXX_BY_FAILURE=rexxcall - after unsuccessful installation (post-installing-failure exit 4). Default value: No - no Rexx will be called. Example: START_REXX_BY_FAILURE=my4rexx 5. START_REXX_BY_CLOSE_WINDOW=rexxcall - after the pressing of the Push Button "Exit" (post-processing exit 5). Default value: No - no Rexx will be called. Example: START_REXX_BY_CLOSE_WINDOW=my5rexx dest_path Note: Your REXX programs, if used, must exist in the installation (source) directory. You can only use constant values as calling parameters or the following keywords:  dest_path (for the destination directory)  homeDir (for the installation (source) directory) It is not necessary to enter the File Extention (.CMD). Please do not use the output to / input from the Stdio - it is suppressed anyway! Example: Call for MYREXX.CMD with the parameter 'A:' after successful installation: START_REXX_BY_SUCCESSFUL=MYREXX 'A:' ═══ 7.5. Keywords for creation of the WPS-objects ═══ Please use these keywords as is! They are used for the parameter list of the function SysCreateObject in the RexxUtil functions packaging. For example see the file INSTALL.DAT. The line must start and end with a parenthesis ( ). The keyword dest_path is the variable name for the destination directory without the ending backslash (i.e.: C:\TOOLS\INSTALL) Note: Use only one (1) line for one (1) object. DEST_PATH is a keyword for the destination directory - please use it as is. For syntax of those lines see RexxUtil function SysCreateObject. ═══ 7.6. Keywords for the Update ═══ The following are the keywords that you can use to update an existing installation: 1. DELETE_FILE=delete_file_name Here you can enter the names of files to delete if you use this procedure for updating a previous installation. It is useful to delete files you do not need any more for the new release. You can use this keyword as frequently as you need. The delete_file_name will be searched-for in the destination directory. Default value: No - no file will be deleted. Example: DELETE_FILE=MYAPPL16.EXE DELETE_FILE=SUBDIR\MYSEC16.EXE 2. REMOVE_DIR=remove_dir_name Here are the entries for the Directories to be deleted before installing the new instance of a previously installed application. These are directories that you no longer require (or want) to appear in the new installation, in an existing directory. You can use this keyword as oft as you want. Only empty (with no files) directories will be removed, a tree of empty subdirectories will also be removed if present. Note: ALL subdirectories must be empty for this function to work. Default value: No - no directory will be removed. Example: REMOVE_DIR=SUBDIR1 REMOVE_DIR=SUBDIR3\SUBSUB2 ═══ 7.7. Post-installation processing ═══ The following are the keywords, that you can use after a successful installation:  DELETE_FILE_AFTER_INSTALLATION=file_name  REMOVE_DIR_AFTER_INSTALLATION=directory_name After successful installation you can delete files and directories, which you do not need after the installation such as Log files, Rexx-exits or backup directory. You can use thes keywords as frequently as you need. Note: Only empty directories will be deleted. Refer to the Keywords for the Update Installation for more information and the examples. ═══ 8. Authors thanks ═══ Thanks to David L. White and Peter MacCarthy-Morrogh for help in testing this product, new ideas and improvement suggestions and correction of this text. Thanks to Uwe Aust for the help by testing of this product, new ideas and improvement suggestions. ═══ 9. Author ═══ Janosch R. Kowalczyk Oberwaldstr. 42 63538 Grosskrotzenburg Germany Tel: +49-6186/201676 Fax: +49-6186/470 Compuserve: 101572,2160 ═══ 10. Disclaimer ═══ This package is provided as is, without any guarantees or warrantees whatsoever. The author is not liable or responsible for any loss or damage of any kind whatsoever, including, but not limited to, losses of a financial, physical, emotional, marital, social or mental nature that may result from the use or the purported use of anything in this package, for any purpose whatsoever. Thanks to Michael Schillingford for this wording.