How to: Install the ByteBlower Tcl/Python API in unattended, quiet or non-interactive mode.
Posted by Tim De Backer, Last modified by Pieter Vandercammen on 26 May 2020 02:12 PM

Introduction

By default, the ByteBlower Tcl/Python API is installed interactively. When starting the installer, an installation wizard is presented to the user. By going through this wizard, settings such as the installation directory can be configured.

When a graphical environment is present on the system (e.g. Windows or a desktop version of a Linux distribution), an installer window is shown. In a non-graphical environment, the same questions are asked in the console, where the user can specify custom values.

To easily deploy the Tcl API/Python API application automatically across multiple devices in a controlled environment, a unattended (or non-interactive or quiet) installer is available.

Note: for a similar article about the GUI installer, see here.

Unattended mode

To run the installer in unattended mode, simply run the installer executable as a command and add the unattended option.

Note the API can only be installed by a superuser (i.e. a system-wide install).

Linux TCL-API(e.g. 64 bit):

$ ./ByteBlower-API-Tcl-linux-x86_64-installer.run --mode unattended
(returns when finished, no output)

Linux Python-API(e.g. 64 bit):

$ ./ByteBlower-API-Python-linux-x86_64-installer.run --mode unattended
(returns when finished, no output)

Windows TCL-API

> ByteBlower-API-Tcl-windows-x86-installer.exe --mode unattended
(returns immediately, run in background, no output) 

Windows Python-API

> ByteBlower-API-Python-windows-x86-installer.exe --mode unattended
(returns immediately, run in background, no output)

MacOS TCL-API(from 10.6 Snow Leopard on):

$ open ./ByteBlower-API-Tcl-osx-installer.app --args --mode unattended
(returns when finished, no output)

MacOS Python-API(from 10.6 Snow Leopard on):

$ open ./ByteBlower-API-Python-osx-installer.app --args --mode unattended
(returns when finished, no output)

Mac OS X (pre 10.6 Snow Leopard):

$ ./Byteblower-API-Tcl-osx-installer.app/Content/MacOS/installbuilder.sh --mode unattended
(returns when finished, no output)

Running the unattended installation has the following effects:

  • default installation directory is used
    • Windows 32-bit: C:\Program Files\Excentis\ByteBlowerTcl
    • Windows 64-bit: C:\Program Files (x86)\Excentis\ByteBlowerTcl
    • Linux superuser (system-wide): /opt/Excentis/ByteBlowerTcl
    • Mac OS X: /Applications/Excentis/ByteBlowerTcl
  • default directory for the Tcl packages is used
  • all components are installed
  • only the API library for the native system is installed
  • if an existing installation is found at the default directory, it is silently uninstalled!

In exactly the same way, the application can be silently uninstalled. For example for a Linux user-wide installation:

$ /opt/Excentis/ByteBlowerTcl/uninstall --mode unattended
(returns when finished, no output)

Customization in unattended mode

Sometimes the default installer settings are not desirable. They can be overridden by providing additional command-line arguments to the installer.

The following arguments can be used:

  • --prefix (default the system-default): override the installation directory
  • --tcl_pkg_path (default searches the system for relevant Tcl path): the directory to install the tcl packages; this should be part of the Tcl path
  • --disable-components (default none): disable components by adding a comma-seperated list of the following values
    • runtimedocs: Runtime help for all ByteBlower API calls
    • byteblowerhl: A higher-layer Tcl API, to speed up the creation of complex testing scenarios
    • examples: Example scripts using the higher-layer Tcl API
  • --llInstallWin32 (default selected if matching system): enable or disable installation of the ByteBlower lower-layer API for Windows
  • --llInstallLinux32 (default selected if matching system): enable or disable installation of the ByteBlower lower-layer API for 32-bit Linux
  • --llInstallLinux64 (default selected if matching system): enable or disable installation of the ByteBlower lower-layer API for 64-bit Linux
  • --llInstallMacosx (default selected if matching system): enable or disable installation of the ByteBlower lower-layer API for Mac OS X

For example, on a Linux system:

$ ./ByteBlower-API-Tcl-linux-x86-installer.run --mode unattended --prefix /mnt/software/byteblower/tcl --disable-components examples --tcl_pkg_path /mnt/tcllib/packages
(returns when finished, no output)

Note you can show all command-line options using the --help option.

Troubleshooting

Tcl installation not found

Question: You encounter the following message
No valid TCL installation was found. Please provide the path to the Tcl executable.

Answer: Is Tcl installed on your system? If yes you will need to use the graphical mode on you systen, This mode will request the path to the Tcl executable with a pop-up.

No such file or directory

Question: What does this error mean?
./ByteBlower-API-Tcl-linux-x86-installer.run: No such file or directory

Answer: Use the 64bit installer on a 64bit Linux system. The 32bit can't run.

(0 vote(s))
Helpful
Not helpful

Comments (0)

We to help you!