OmniLaunch

From Scriptel Wiki
Jump to navigation Jump to search

Overview

OmniLaunch exists to solve the problem of having a RDP server (or other multi-client Windows desktop system) run separate instantiations of OmniScript. OmniScript uses a configuration file to determine which of the server's global ports to use, but in a multiple client system each desktop requires its own set of ports so that only the client's signature pads are available to the desktop rather than all of the signature pads on all of the clients.

OmniLaunch is an ActiveX assembly that runs in either Internet Explorer or Edge (Chromium-based, "Edgium") running in IE mode. If you are interested in OmniLaunch, contact our support team at support@my.scriptel.com or 844-972-7478.

Documentation

OmniScript requires two or three ports. A discovery port allows OmniScript instances to "see" each other and share their devices within a LAN. This is exactly what is not desired in the multi-tenet Remote Desktop configuration, therefore each instance gets its own discovery port. OmniScript assigns an http port or an https port or both. But each instance of OmniLaunch assigns either the http or https port but not both. The web application connects to one of these ports. So each instance of OmniLaunch assigns exactly two ports, the discovery port can be ignored.

To assign the ports, OmniLaunch picks two unused ports at random from a range of ports defined in the registry. If the range is not found, OmniLaunch creates it. The default range is 51456-52991 (0xc900-0xceff). The location of the range is:

Computer\HKEY_CURRENT_USER\Software\Scriptel Corporation\OmniLaunch\portMin

Computer\HKEY_CURRENT_USER\Software\Scriptel Corporation\OmniLaunch\portMax

The default location of the Assembly is "C:\Program Files (x86)\Scriptel Corporation\OmniLaunch". Within the install folder is an example html file, omnilauchexample.html. Using the assembly is as easy as calling:

var myOmniLaunch = new ActiveXObject("AxControls.OmniLaunch");

var returnedPort = myOmniLaunch.LaunchNewInstance(true);

The parameter passed into LaunchNewInstance is either true or false to state whether an https port is desired. This port can then be passed to the application to connect to OmniScript. For example, if OmniLaunch returns 51456 using https, the URL to connect to OmniScript is:

https://localhost:51456/

If the port is returned is 0, OmniLaunch failed to start OmniScript. Properties of AxControls.OmniLaunch

  • httpPort, this is the port that was returned by the call to LaunchNewInstance. It is either http or https, depending on what was requested.
  • useHttps, the boolean value that was passed into LaunchNewInstance.
  • discoveryPort, is the discovery port of the instance. It is necessary for the operation of OmniScript, but has little value for a web application using OmniLaunch.
  • workingDirectory, is the full path where OmniScript is expected to be found.

'workingDirectory is established by one of three methods, in order of precedence, highest first:

  1. It is set using the workingDirectory property before the call to AxControls.LaunchNewInstance.
  2. The registry is checked for an entry at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\omniscript\Parameters\AppDirectory
  3. A hardcoded default is used: C:\Program Files (x86)\Scriptel Corporation\ScripTouch OmniScript