Interactive COBOL Installation Notes Revision 4.89 15-Dec-2015 Please find the following sections on ICOBOL Installation: A) Installing ICOBOL for UNIX from a download B) Installing ICOBOL for Windows from a download C) Scripting Installations under Windows D) Client/Server Installations for ICOBOL Windows E) ThinClient Client Install for ICOBOL Windows Section A. Installing ICOBOL for UNIX from a download ------------------------------------------------------ There are two releases available for each UNIX. A single full release and a much smaller ThinClient-only release. The ThinClient-only has a tc after the revision. The full UNIX release of the ICOBOL product includes the Full ICOBOL product. This includes the ICOBOL runtime with utilities, ICOBOL development (with components link kit, user library, and cgiCOBOL), ICNETD daemon (with the ThinClient server (ICRUNRS), the I/O server (ICIOS), the remote logging server (ICLOGS), and the ISQL remote server (ICSQLS)), ICPERMIT license server, and cgiCOBOL Runtime. A full release requires between 10 - 20MB depending on the flavor. Loading the software creates a directory called "cobol" where xxx is the current revision. For 4.87, the directory is called cobol487. The appropriate release can be downloaded from the web site (www.icobol.com). The Linux download is a .tgz file. Change directory to where to load the Interactive COBOL release on the machine. (Usually /usr). As superuser issue the following: tar -xvzf 487.tgz (The v is optional) Add any appropriate directory specifier for the download location. For other releases, as superuser issue the following commands: mv 487.z 487.tar.Z (change to the appropriate name) uncompress 487.tar.Z Then change directory to where to load the Interactive COBOL release on the machine. (Usually /usr). Issue the following: tar xvf 487.tar (The v is optional) Add any appropriate directory specifier for the download location. The tar will load the "cobol487" directory into the current directory. (Being superuser allows date/time stamps to be set correctly.) Note: Under later versions of Linux, the compress utility is no longer installed by default but the gzip and gunzip utilities are installed and can handle the uncompress function as needed. After Loading the Software - INSTALL ------------------------------------ In most environments, shared objects are used to access common code. These shared objects are icrun.so. and icsys.so.. When used, these objects rev check themselves for integrity. These shared objects must be made available to the needed executables at program load time. This can be done in one of two ways: METHOD ONE (Recommended for production systems) ---------- Move a copy (or a symbolic link) of the needed shared objects into the default directory used by the system's dynamic linker. This is usually the /usr/lib directory. This can be done automatically by running the installic script available in the examples sub-directory. If this method is used, then the installic script will need to be run each time a new revision of ICOBOL is installed. The installic script is provided in the examples sub-directory. As superuser, and in the loaded ICOBOL directory, execute: examples/installic To load additional shared objects, the options icbltn, icuser, and icodbc are available to the installic script to install those needed objects. Installic will detect a ThinClient only release and only install the icsys shared library. The removeic script can be used to remove the shared objects. METHOD TWO (Only recommended for testing and debugging) ---------- Set the system environment variable that is used to find shared objects to include the new ICROOT directory where the shared objects are to be found. In most cases this is the LD_LIBRARY_PATH environment variable. Thus, to add the new ICROOT to the LD_LIBRARY_PATH you would do: if [ "$LD_LIBRARY_PATH" = "" ]; then LD_LIBRARY_PATH=$ICROOT export LD_LIBRARY_PATH else LD_LIBRARY_PATH=$ICROOT:$LD_LIBRARY_PATH fi This could be done in the script that sets up the PATH and ICROOT for your ICOBOL executables. If this was a separate script before then just add the above lines. If this was part of the users' startup in .profile then just add it there. This method should be used when you do not want to change the /usr/lib directory and/or you will be running several versions of ICOBOL for development and/or testing purposes. ERRORS: ------ If you get an error like: error while loading shared libraries: icsys.so.487: cannot open shared object or dynamic linker: icstat: icsys.so.487 is NEEDED but object does not exist. when running an ICOBOL executable, then the system cannot find the indicated shared object. Either METHOD ONE or TWO must be done to allow the file to be found. Section B. Installing ICOBOL for Windows from a download ------------------------------------------ ************************************************************** ** If an ICOBOL for Windows (2.3x or 2.4x) release is ** installed on the machine it should be uninstalled before ** installing a newer ICOBOL revision. ************************************************************** ************************************************************** ** If an IC ODBC Driver (pre-1.40) release is installed on ** the machine it should be uninstalled before installing ** a newer revision of ICOBOL. The IC ODBC Driver is ** installed with the ICOBOL installation. ************************************************************** Starting with the ICOBOL for Windows 2.50 release, the previous version of a revision no longer needs to be uninstalled in order to upgrade to a newer revision. The Installer with 2.50 and up will check for any problem and warn if an uninstall is needed, otherwise an in-place add or upgrade can be done. In addition, after the initial install, the installation program can be re-run to add additional components or to change the values for certain selections such as license file, configuration file, printer control file, etc. The ICOBOL product is available in a download format. The download format comes in several pieces. win487.exe A full release including all tools. doc487.exe Provides all the ICOBOL manuals. Manuals can be individually selected. Limited installers (No development components) ------------------ win487r.exe Only the runtime, licensing server, and ThinClient release win487c.exe A ThinClient Client only release The limited installers do NOT support server installs. The ThinClient-only release ONLY supports a ThinClient client install. Section E provides more information for using the ThinClient Client installer. A full release of the ICOBOL product includes the ICOBOL runtime (with sp2 and FormPrint runtimes), ICOBOL development (with components FormPrint development, sp2 development, link kit, user library, cgiCOBOL, and ICIDE), ICNETD daemon (which includes the i/o server (icios.exe), the ThinClient server (icrunrs.exe), the log server (iclogs.exe), and the ISQL remote server (ICSQLS)), ICODBC Driver, ICPERMIT, cgiCOBOL Runtime, the ThinClient client (icrunrc.exe), and the IC Web message utility (icwebmsg). All or portions can be selectively installed. By default, installation creates a directory called "icobol" in the "Program Files" directory. When using 64-bit Windows, the "Program Files" directory will really be "Program Files (x86)" as that is where 32-bit applications are installed when using 64-bit Windows. ******************************* * * Note that the "Program Files" and "Program Files (x86)" * directories are protected subsystems and should NOT be * used to store data. Later versions of Windows continue * to enhance their protection of these subsystems. * * Neither the working directory nor the location of the * .pq file should point to these protected directories or * their sub-directories. * * In addition the root drive, i.e. "C:\" should not be used * as a working directory or the location of the .pq file as * it tends to be a protected directory in later versions * of Windows. Use a subdirectory. * ******************************* A full server release with the ICIDE requires about 65MB. A full local ICOBOL release requires about 50MB while a runtime-only release is about 15MB. NOTE: The installation will use the directory pointed to by the environment variable TEMP. If this temporary directory cannot be accessed, an appropriate message will be issued. The syntax for the Installation program when using the single self-extracting .exe is shown below: win487.exe [/a [/r|/s] [/u] [/f1] [/f2] ] Where /a Required if any other switches are needed when using the self-extracting .exe. /r Record mode. Writes a script file (.iss) to be used later for an install with no prompting (silent). Cannot be used with the /s switch. If no /f1 switch is used, the file setup.iss is created in the Windows (or WinNT) directory on the boot drive. /s Silent mode. Reads a script file previously produced by a Record mode. Allows for unattended or batch type installs. During a silent install, no user requested prompts are made. Cannot be used with the /r switch. If no /f2 switch is used, the file setup.log is created where the .iss file is located. /f1 Specifies the script file name. Is generally used to read a previously recorded script. Must be a fully qualified name including the .iss extension. /f2 Specifies the log file name. Is generally used to specify a specific log file for a silent install. /u Update install. If a valid revision (2.50 or up) is already installed, Update will perform a silent/batch update using the exact same information that is currently installed. When updating a revision under Windows NT/2000, all services will be stopped, the update performed, and then the services will be re-started. Switches must be separated by spaces. The /f1 and /f2 switches cannot have a space separating the switch from the filename. To build a sample script, execute the install with the record option and take the appropriate selections. After the install is completed, the recorded script can be found in the \Windows directory (\WINNT under Windows NT) as setup.iss. To start in record mode, enter "/a /r" after the win487.exe argument on the command line. The space IS required. Thus you would enter: win487.exe /a /r To re-do an install with the exact same responses, a silent install can be done by entering "/a /s /f1" after the win487.exe on the command line. The spaces are required and pathname should be the path to the script file. When doing a silent install, a log file (SETUP.LOG) is written to the \Windows directory (\WINNT under Windows NT) that tells whether the install succeeded. Thus you would enter: win487.exe /a /s /f1c:\test\setup.iss When updating a revision under Windows 2000, all ICOBOL services will be stopped and re-started. By default, win487 unpacks the self-extracting .exe into the TEMP directory and then checks for a previous revision. If a previous revision that does not have its install information available is detected, the installation prompts you to CANCEL the install and remove the old revision. If the install information is available, (by reading a previous install.txt file) then that information is used to pre-load all the needed prompts in the installation. A runtime only version of the installation program is provided as win487r.exe. It only supports a runtime and/or ThinClient client installs (either local or client). The runtime installer cannot be used to update an install that has more than runtime or ThinClient client selections. When installing with Terminal Services installed, make sure that the install is done in Install mode. See the Windows Change command for more information. For downloaded releases ----------------------- A. Choose Run from the Start Menu. In the Open field of the Run dialog, type the complete path to WIN487.EXE. (The Interactive COBOL release is contained in a single self-extracting executable with the name WIN487.EXE. A Runtime only version is available as WIN487R.EXE.) B. Follow the on screen installation instructions. Section C. Scripted Installs under Windows --------------------------------------------- The install process for ICOBOL Revision 4.87 under Windows can be scripted such that batch installs can be performed. To build a sample script you must execute the install with the record option and take the appropriate selections. After the install is completed, the recorded script can be found in the \Windows directory (\WINNT under Windows NT/2000) as setup.iss. To start in record mode, enter "/a /r" after the win487.exe argument on the command line. The space IS required. Thus, you would enter: win487.exe /a /r To re-do an install with the exact same responses, a silent install can be done by entering "/a /s /f1" after the win487.exe on the command line. The spaces are required and pathname should be the path to the script file. When doing a silent install, a log file (SETUP.LOG) is written to the \Windows directory (\WINNT under Windows NT/2000) that tells whether the install succeeded. During a silent install, no user requested prompts are made. Below is a sample setup.iss file for a Windows server install. [InstallShield Silent] Version=v5.00.000 File=Response File [File Transfer] OverwriteReadOnly=NoToAll [DlgOrder] Dlg0=SdWelcome-0 Count=17 Dlg1=SdDisplayTopics-0 Dlg2=SdWelcome-1 Dlg3=SdDisplayTopics-1 Dlg4=AskOptions-0 Dlg5=SdAskDestPath-0 Dlg6=MessageBox-0 Dlg7=SdComponentDialog2-0 Dlg8=AskOptions-1 Dlg9=AskText-0 Dlg10=AskOptions-2 Dlg11=SdSelectFolder-0 Dlg12=AskPath-0 Dlg13=SdShowDlgEdit2-0 Dlg14=AskOptions-3 Dlg15=SdStartCopy-0 Dlg16=SdFinishReboot-0 [SdWelcome-0] Result=1 [SdDisplayTopics-0] Result=12 [SdWelcome-1] Result=1 [SdDisplayTopics-1] Result=1 [AskOptions-0] Result=1 Sel-0=0 Sel-1=0 Sel-2=1 [SdAskDestPath-0] szDir=C:\Program Files\ICOBOL Result=1 [MessageBox-0] Result=1 [SdComponentDialog2-0] Runtime-type=string Runtime-count=2 Runtime-0=Runtime\Required Runtime-1=Runtime\Local Development\spII-type=string Development\spII-count=4 Development\spII-0=Development\spII\Card Development\spII-1=Development\spII\CRT Development\spII-2=Development\spII\Required Development\spII-3=Development\spII\Local Development-type=string Development-count=5 Development-0=Development\LinkKit Development-1=Development\UserLibrary Development-2=Development\Required Development-3=Development\Local Development-4=Development\spII ODBC-type=string ODBC-count=6 ODBC-0=ODBC\Windows System Files ODBC-1=ODBC\Core-Desktop DB Files ODBC-2=ODBC\Core ODBC-3=ODBC\Uninstall Files ODBC-4=ODBC\Required ODBC-5=ODBC\Local Network-type=string Network-count=2 Network-0=Network\Required Network-1=Network\Local License-type=string License-count=2 License-0=License\Required License-1=License\Local Component-type=string Component-count=6 Component-0=Runtime Component-1=Development Component-2=ODBC Component-3=Network Component-4=License Component-5=Server Result=1 [AskOptions-1] Result=1 Sel-0=1 Sel-1=0 Sel-2=0 [AskText-0] szText=C:\icobol\system.lic Result=1 [AskOptions-2] Result=1 Sel-0=1 Sel-1=1 [SdSelectFolder-0] szFolder=Interactive COBOL Result=1 [AskPath-0] szPath=C:\icobol\ Result=1 [SdShowDlgEdit2-0] szEdit1=windows.cfi szEdit2=windows.pq Result=1 [AskOptions-3] Result=1 Sel-0=0 Sel-1=1 [SdStartCopy-0] Result=1 [Application] Name=Interactive Cobol Version=4.87.000 Company=Envyr Corporation Lang=0009 [SdFinishReboot-0] Result=1 BootOption=0 Below is a sample setup.log file [InstallShield Silent] Version=v5.00.000 File=Log File [Application] Name=Interactive Cobol Version=4.87.000 Company=Envyr Corporation Lang=0009 [ResponseResult] ResultCode=0 By using the recording mode and silent installation along with any needed changes to the script file totally batch installs can be done. LOG File -------- The SETUP.LOG file contains three sections. The first section, [InstallShield Silent], identifies the version of InstallShield Silent used in the silent installation. It also identifies the file as a log file. The second section, [Application], identifies the installed application's name and version, and the company name. The third section, [ResponseResult], contains the result code indicating whether or not the silent installation succeeded. An integer value is assigned to the ResultCode keyname in the [ResponseResult] section. InstallShield places one of the following return values after the ResultCode keyname: 0 Success. -1 General error. -2 Invalid mode. -3 Required data not found in the SETUP.ISS file. -4 Not enough memory available. -5 File does not exist. -6 Cannot write to the response file. -7 Unable to write to the log file. -8 Invalid path to the .iss file -9 Not a valid list type (string or number). -10 Data type is invalid. -11 Unknown error during setup. -12 Dialogs are out of order. -51 Cannot create the specified folder. -52 Cannot access the specified file or folder. -53 Invalid option selected. SETUP.LOG is the default name for the silent installation log file, and its default location is the directory where the installation's .INS file resides. You can specify a different name and location for the SETUP.LOG using the /f2 switch. In addition, an Update switch is available that allows subsequent revisions of ICOBOL to update the installed revision using all the same information that was used before. The /U switch can be used at install time to perform this update. Section D. Client/Server Installs for ICOBOL (Windows) ------------------------------------------------------- Client/Server installs should only be done by experienced personnel who understand the network requirements. New users in general should use a local install. The Client/Server installation provides the mechanism to store most of the ICOBOL release files on a server and use the software from many clients. This is very helpful in managing software revisions and in controlling total disk usage. It does have a drawback in the server must be available to run the software and some network bandwidth is consumed by loading programs. On a server install, all files on the release are copied into the release directory and a client install directory is provided. Only the pieces selected in the server install are actually setup on the server machine. On a client install, only a small subset of files are copied onto the local machine. The software is setup to access the release directory on the server machine. This is usually done via a UNC name like "\\myserver\c\Program Files\Icobol". Client installs can be performed using the normal Windows installers and selecting the Client install option or the setup.exe file can be executed from the client subdirectory in the server release directory. **************************************************************** In particular ThinClient client installs using the Client (Network) install will provide a VERY small footprint on the client machine and provide for automatic updates whenever the server is updated. **************************************************************** One note to make is that when doing a client install for Windows NT clients, any ICOBOL service must be installed in a fashion that allows the network to be available before the ICOBOL service can be started since the executables are being used from a network server. This is done automatically at installation time by using the "+NetworkProvider" Dependency. You are prompted for a Username/Password that allows the client machine to access files on the server. The username that is specified must have the following user rights (privileges) on the client: a) Act as Part of the operating system, b) Debug programs, c) Log on as a service, and d) Replace a process level token. On the server, the specified username must have the "Access the computer from the network" user right (privilege). Usually this particular user would not be given "Log on locally" user right. This ICOBOL user profile can not be Administrator or localsystem. Local usernames should be entered as ".\user". Domain usernames should be entered as "domain\user". Section E. ThinClient Client Installs for ICOBOL (Windows) ------------------------------------------------------------ A thinclient only installer is provided as winxxxc.exe. For 4.87 this is win487c.exe. This installer will ONLY install the ThinClient Client. It cannot be used to update an install that has other ICOBOL settings. The ThinClient Client installer has a subset of the standard full Windows installer screens. Upon executing the ThinClient Client installer the default Interactive COBOL splash screen along with a Setup windows informing you that the installer is unpacking itself. Then the Interactive COBOL ThinClient Setup splash screen with the revision will be shown along with the Welcome window. The Choose Destination selection is next followed by the Additional Options for Shortcuts window. Next shown is the Select Program Folder followed by the Select Working directory. The working directory is where any download files will be placed by default. Next is the actual ThinClient Setup window. Here you enter the remote machine and any client or server parameters. The client and server paramters are there to allow any special switches, options to be passed. The Desktop Shortcut window is next and finally you will see the Start Copying Files window that allows you to review all your selections. You can rerun the Installer to update many of the entries especially the ThinClient Setup entries. End of Readinst