Skip to main content
Version: 7.9

Native Client Launchers

Inductive University

Using the Native Client Launchers

Watch the video

The Ignition Gateway contains downloadable native executables that can launch Clients directly without invoking Java Web Start. Using the native executables you can set up Clients in ways that are impossible to achieve with Java Web Start, such as being able to launch Clients automatically as part of a machine startup script.

The Native Client Launcher automatically searches the network for existing Ignition Gateways and lists existing projects. It is a more robust shortcut than the default desktop shortcuts created by Java.

note

The Native Client Launchers require Java to be installed on the Client machine.

New in 7.9.10
Native Client Launchers now have Java 9 embedded in them, so Java no longer needs to be installed on the Client machine.

Download and Installation

" "

Native client launchers for Windows, Linux, and Mac OSX are available on the Gateway Home page. Click on the Download link to download the native launcher that you need for your operating system. You can hide the native client launcher section on the Gateway Configure page by disabling the section under the Gateway Settings > Homepage Config tab.

" "

Move clientlauncher.exe to a convenient location after it has downloaded to your local machine. Double-click clientlauncher.exe to start.

Configuration

When the client launcher opens for the first time, you must select a Gateway on the Gateway Configuration screen. If your Gateways have multicast enabled, and multicast transmission is allowed on your network, you can see a list of Gateways under the Available Gateways tab. Select a Gateway from the list and click the Select Gateway button. The client launcher will attempt to connect to the Gateway that you selected.

If you do not see your Gateway, you can still manually enter Gateway address under the Manually Input Gateway tab. The format is host:port.

note

If you are using SSL, the Gatway address will need to specify both the Ignition Gateway port and the SSL port using the format host:port:port. See Gateway Port Reference for more information.

Examples
// The following will connect to a Gateway using an IP address
10.10.10.1:8088

// The following will connect to a Gateway running on the local machine
localhost:8088

// The following will connect to a Gateway using SSL
10.10.10.1:8088:8043

After you entered your address, click the Apply button. The client launcher will attempt to connect to the Gateway that you selected.

After you selected a Gateway, the client launcher will attempt to contact the Gateway and will update the Status field at the top of the screen. If there was an error while attempting to contact the Gateway, you can hold your mouse over the Status field to see what the error was. You can also check <user home folder>/.ignition/clientlauncher-data/clientlauncher.log for error information.

note

You cannot use a client launcher to connect to older Gateways.
The minimum Gateway versions that can be used by client launchers are 7.5.11 for the 7.5 Ignition platform and 7.6.4 for the 7.6 Ignition platform.
Any 7.7 or later Ignition platform can be used with the client launchers.

Temporary Configuration

The client launcher is typically used to open different projects residing on a single configured Gateway. However, you can also create temporary connections to other Gateways by checking the Temporary Connection checkbox on the Gateway Configuration screen. This prevents the selected Gateway from being saved in launch.xml, which may be helpful if you have already configured a default Gateway and you do not want to lose its connection settings. After the connection has been established and saved, the Projects screen will be shown for the temporary Gateway. You can then launch a project or the Designer as you normally would. If the Create desktop icon checkbox is checked for the launched project, the temporary Gateway network address is saved in the desktop shortcut.

Pre-configure for Remote Clients

The client launcher can be pre-configured locally and then deployed to remote client machines via a zip file. Using this capability allows a client launcher to immediately connect to a Gateway on the very first launch.

  1. Configure a client launcher on a local machine to point to a Gateway.
  2. Copy the <user home folder>/.ignition/clientlauncher-data folder next to the launcher executable.
  3. Zip everything together and distribute the zip to other machines.
    The launcher can use the clientlauncher-data/ folder that was placed next to the executable.

Redundancy

The client launcher can take advantage of a redundant Gateway setup. Whenever a connection is established with a Master Gateway, the Backup Gateway IP address is automatically stored in the client launcher configuration file. If the Master Gateway cannot be contacted the next time the client launcher is run, an attempt is made to contact the Backup Gateway. If the Backup cannot be contacted, the client launcher switches between contacting the Master Gateway and the Backup Gateway until one responds or the user closes the launcher.

Managing Multiple Gateways

It is possible to configure the client launcher to always start on the Gateway Configuration screen. This allows you to connect to any number of Gateways using the same launcher. To enable this configuration, open the launch.xml file (details on this file are in the Custom Launch Settings section below). Set the initconnect property to false and save the file.

Gateway Favorites

If you are managing multiple Gateways, it may be helpful to mark some Gateways as favorites. These Gateways are always listed first when accessing the Gateway Configuration screen. You can also filter out non-favorite Gateways by checking the Favorites Only checkbox on the Gateway Configuration screen. By setting the initconnect property to false (as documented above in the Managing Multiple Gateways section), you can force the client launcher to always display your favorite Gateways list any time you start the launcher.

Using the Native Client Launchers

  1. Go to the Home page on the Gateway webpage.

  2. Scroll to the bottom of the page to see the Native Client Launchers section.

  3. Click on the Download button to download the native launcher that you need for your operating system.

    • For Windows, you will see a clientlauncher.exe file.
    • For macOS, double-click clientlauncher.dmg, drag Client Launcher.app into the Applications folder.
    • For Linux, you will see a clientlauncher.sh file.
  4. Click on the .exe, .app, or .sh file (depending on your OS) to open the page that shows URLs for available Gateways.

  5. Choose the Gateway you want, click SELECT Gateway button, and click Save & Close.

    • On the window that is displayed you can launch your project.
    • If your Gateways have multicast enabled (Multicast Enable check box is selected on the Configure > Gateway Settings page), and multicast transmission is allowed on your network, you can see a list of Gateways under the Available Gateways tab.
  6. Select a Gatweay from the list and click the SELECT Gateway button.

    • The Client launcher will attempt to connect to the Gateway you selected.
  7. If you don't see your Gateway, you can manually enter the Gateway address under the Manually Input Gateway tab with the format host:port. After you have entered your address, click Apply.

    • The Client launcher will attempt to connect to the GAteway you selected.
    • After you selected a Gateway, the Client launcher will attempt to contact the Gateway and will update the Status field at the top of the screen. If there was an error while attempting to contact the Gateway, you can hold your mouse over the Status field to see what the error was.
    • You can also check <user home folder>/.ignition/Clientlauncher-data/Clientlauncher.log for error information.

    You can hide the Native Client Launcher section on the Gateway Configure page by disabling it in the Gateway Settings > Homepage Config tab.

Launching Projects

After the Gateway has been configured, you can launch a client project or the Designer from the Projects screen. After a project has been launched, a desktop shortcut is created. You can use the desktop shortcut to directly launch the project from the client launcher without needing to select the project again from the Projects screen. A client project will not be visible for launch unless all the conditions below are satisfied:

  • The project has at least one main window
  • The project is not disabled in the Gateway
  • The project is not hidden from launch via the project properties
  • The project's configured window launch mode matches the client launcher window mode. For example, if a project's default launch mode is Windowed mode and the "Full Screen" button is not enabled in the project's properties, this means that the project cannot be launched when the client launcher is running in fullscreen mode.

If a project is no longer available in the Gateway, launching the desktop shortcut for the old project will cause the client launcher to display the Projects screen along with an error message at the top of the screen.

Custom Launch Settings

Client launcher configuration settings, log files and temp files are stored by default in <user home folder>/.ignition/clientlauncher-data/. The following settings can be configured in launch.xml:

Setting NameSetting DescriptionExample Setting
gateway.addrThe gateway that you have configured which contains your launchable projects.10.20.7.122:8088
gateway.backup.addrAutomatically set by client launcher when using a redundant setup.10.20.7.122:8088
gateway.fallback.addrAllows a fallback Gateway to be specified if neither the master Gateway nor the backup Gateway cannot be reached after a specified number of attempts. This setting is particularly useful for the local client fallback scenario, where you can still launch a local client if remote Gateways cannot be reached. Note that you must still specify the fallback.project setting, and your retries setting must be 0 or greater.localhost:8088/main
fallback.projectThe project to launch if the native launcher is attempting to launch using the specified fallback Gateway.myproject
timeoutsecsThe maximum number of seconds allow for any gateway communication. Any communication that exceeds this amount will cause the client launcher to abort the communication and try again if configured.30
retriesHow many times to attempt to contact a gateway again if an error occurred during communication. The default setting of -1 cause the client launcher to try again forever until the client launcher is manually closed. A setting of 0 will cause the client launcher to abort communication after the first failure and display the Gateway Configuration screen. A setting of 1 or more will cause the client launcher to make X more attempts before aborting and showing the Gateway Configuration screen, or attempting to load the fallback project if configured for fallback.-1, 0, 1
windowmodeControls whether or not to launch the client launcher in fullscreen mode. The fullscreen setting will cause the client launcher to take over the entire screen. When launching a client that also has fullscreen mode configured, the fullscreen client will replace the fullscreen client launcher after launch. The default setting is "window", which launches the client launcher in windowed mode.window, fullscreen
screenThe screen index indicates which monitor to use when launching in fullscreen mode.0,1
show.closebuttonWhen this is set to false, all close buttons on the client launcher are hidden. Use this setting along with the fullscreen mode to set up a dedicated touch-screen terminal.true, false
multicast.addrThis setting must match the gateway's multicast address setting in order to see a list of available gateways on the Gateway Configurations screen.231.1.1.1
multicast.receive.portThis setting must match the gateway's multicast receive port in order to see a list of available gateways on the Gateway Configurations screen.4446
initconnectWhen this is set to false, the client launcher will not attempt to contact the configured Gateway, but instead will immediately open the Gateway Configuration screen. This allows you to choose different Gateways using a single client launcher.true, false
tempconnectionWhen this is set to true, the Temporary Connection checkbox on the Gateway Configuration screen will be checked when the client launcher is started. By setting this property to true and setting the initconnect property to false, you can use the client launcher to access any number of Gateways without saving the selected Gateway address in launch.xml.true, false
jvm-argsAllows JVM-specific settings to be set on the client that is launched, such as MaxPermSize memory allocation.
other-argsSee the "Setting client tags" section below.-XX:MaxPermSize=512m

Startup Parameters

The settings below can also be passed to a client launcher executable as startup parameters. Note that many of the settings overlap with the custom launch settings above, and if present, they will override the settings in launch.xml.

Setting NameSetting DescriptionExample Setting
gateway.addrThe gateway that you have configured which contains your launchable projects.10.20.7.122:8088
gateway.backup.addrAutomatically set by client launcher when using a redundant setup.10.20.7.122:8088
gateway.fallback.addrAllows a fallback Gateway to be specified if neither the master Gateway nor the backup Gateway cannot be reached after a specified number of attempts. This setting is particularly useful for the local client fallback scenario, where you can still launch a local client if remote Gateways cannot be reached. Note that you must still specify the fallback.project setting, and your retries setting must be 0 or greater.localhost:8088/main
fallback.projectThe project to launch if the native launcher is attempting to launch using the specified fallback Gateway.myproject
timeoutsecsThe maximum number of seconds allow for any gateway communication. Any communication that exceeds this amount will cause the client launcher to abort the communication and try again if configured.30
retriesHow many times to attempt to contact a gateway again if an error occurred during communication. The default setting of -1 cause the client launcher to try again forever until the client launcher is manually closed. A setting of 0 will cause the client launcher to abort communication after the first failure and display the Gateway Configuration screen. A setting of 1 or more will cause the client launcher to make X more attempts before aborting and showing the Gateway Configuration screen, or attempting to load the fallback project if configured for fallback.-1, 0, 1
windowmodeControls whether or not to launch the client launcher in fullscreen mode. The fullscreen setting will cause the client launcher to take over the entire screen. When launching a client that also has fullscreen mode configured, the fullscreen client will replace the fullscreen client launcher after launch. The default setting is "window", which launches the client launcher in windowed mode.window, fullscreen
screenThe screen index indicates which monitor to use when launching in fullscreen mode.0,1
show.closebuttonWhen this is set to false, all close buttons on the client launcher are hidden. Use this setting along with the fullscreen mode to set up a dedicated touch-screen terminal.true, false
scopeIndicates whether the project being launched is a client (scope C) or a Designer (scope D)C, D
projectThe project name. This field is required if the scope is set to C, indicating that a client is being launched.myproject
initconnectWhen this is set to false, the client launcher will not attempt to contact the configured Gateway, but instead will immediately open the Gateway Configuration screen. This allows you to choose different Gateways using a single client launcher.true, false
jvm-argsAllows JVM-specific settings to be set on the client that is launched, such as Xmx, which is the maximum size of the Client/Designer.-Xmx1024M
tempconnectionWhen this is set to true, the Temporary Connection checkbox on the Gateway Configuration screen will be checked when the client launcher is started. By setting this property to true and setting the initconnect property to false, you can use the client launcher to access any number of Gateways without saving the selected Gateway address in launch.xml.true, false

Client Startup Examples

Windows: 
"C:\ClientLauncher\clientlauncher.exe" scope=C project=myproject windowmode=window

Linux:
./clientlauncher.sh scope=C project=myterminal windowmode=fullscreen screen=0 show.closebutton=false
note

For another example of automatically launching clients with the Native Client Launcher, please see the following Knowledge Base Article: Launch Project to Multiple Monitors

Setting Client Tags

Client Tag values in Ignition clients can be set by the client launcher upon startup. There are two ways you can do this. The examples below assume that you have two client tags in the root folder of your project, called LaunchTag and LaunchTag2.

Using the launch.xml

The first way is to add the tag info to the other-args section in launch.xml, as shown below. These settings would take effect for all clients started from the client launcher.

<other-args>
<arg>-Djavaws.launchparams=LaunchTag;LaunchTag2</arg>
<arg>-Djavaws.launchparam.LaunchTag=AAA</arg>
<arg>-Djavaws.launchparam.LaunchTag2=ZZZ</arg>
</other-args>

Using the Command Line to Launch

The second way is run the client launcher from a command line or a desktop shortcut and add these lines to the end of the command:

-Djavaws.launchparams="LaunchTag;LaunchTag2" -Djavaws.launchparam.LaunchTag="AAA"-Djavaws.launchparam.LaunchTag2="ZZZ"

Starting the client launcher from a command line in this case would look like the example below (Linux example shown).

./clientlauncher.sh scope=C project=myterminal windowmode=window -Djavaws.launchparams="LaunchTag;LaunchTag2" -Djavaws.launchparam.LaunchTag="AAA" -Djavaws.launchparam.LaunchTag2="ZZZ"