FME Flow: 2024.2
Performing a Silent Installation (Windows)
To perform a silent installation of FME Flow, extract and run an installer from a Windows command line, and override any default installation properties to customize the installation.
To obtain the installer, see Obtain the Installer.
Extracting Installation Files
Installation files, which consist of a .msi file and .cab files, must be extracted before proceeding with installation. You can extract installation files in either of the following ways:
- Manual extraction. Following extraction, invoke the .msi file to perform a silent install.
- Invoke the installation .exe directly, and use the following parameters to control extraction and installation:
Flag | Description |
---|---|
-d<path> | Set the destination folder for unpacked files. |
-s, -s1, -s2 | Silent mode. Switch -s is a brief form of -s1. Both -s and -s1 hide the main dialog and extraction progress. -s2 hides the start dialog, but extraction progress is displayed. |
-sp<par> | Installer Flags to pass to the extracted .msi installer when it is run. |
Installer Flags
The following .msi-specific flags can be passed to the installer:
Flag | Description |
---|---|
/q[n|b] | Signifies a quiet installation. /qn means quiet with no user interface, and /qb means a quiet installation with a basic progress bar. |
/norestart | Do not restart the computer after installation. |
/l*v <logfile> | Enable logging to the <logfile> specified. |
Specifying FME Flow Components to Install
To select which components of FME Flow to install, as in a Distributed installation, use the ADDLOCAL property, and specify components in a comma-delimited list. If this property is not specified, all components are installed, as in an Express installation.
Feature | Value |
---|---|
FME Flow Core | FMEFlowCore |
Web Services | Services |
FME Engine |
FMEEngine |
FME Flow Database (on PostgreSQL) | FMEFlowDatabase |
Example
To install the FME Flow Core and FME Engine services:
ADDLOCAL=FMEFlowCore,FMEEngine
Installation Properties
The following table lists the installation properties that you can set in advance, and their default values if left unset. These properties correspond to properties that can be adjusted in the user dialogs of a standard installation.
Property | Default Value | Description |
---|---|---|
EXTRACTONLY | Extracts the .msi installation file, but does not run the installer. A C++ runtime package and MSSQL driver only are installed. | |
COREHOSTNAME | localhost if an Express installation; otherwise, the machine name on which the installer is running. | Host name of the machine that runs the FME Flow Core. |
INSTALLDIR | C:\Program Files\FMEFlow or C:\apps\FMEFlow |
The FME Flow install directory. If you change this value the path must end in "\". For example, INSTALLDIR=C:\apps\FMEFlow\ Do not specify a UNC path. Note You may require quotes to escape spaces in paths. From the Windows Command Prompt, use eight quotes. For example, """"""""C:\ProgramData\Safe Software\FME Flow"""""""". From Windows PowerShell, use sixteen quotes. For example, """"""""""""""""C:\Program Files\FMEFlow"""""""""""""""".
|
FMEFLOWUSER | local system account |
The Windows user account that will run the FME Flow System Services. This account must have:
|
FMEFLOWUSERPASSWORD | If FMEFLOWUSER is specified, the user account password. | |
FMEFLOWSHAREDDATA | C:\ProgramData\Safe Software\FMEFlow |
The path to the FME Flow System Share directory, where FME Flow stores Repositories and Resources files. Path names are case-sensitive. Note You may require quotes to escape spaces in paths. From the Windows Command Prompt, use eight quotes. For example, """"""""C:\ProgramData\Safe Software\FME Flow"""""""". From Windows PowerShell, use sixteen quotes. For example, """"""""""""""""C:\Program Files\FMEFlow"""""""""""""""".
|
NODENAME | The machine name on which the installer is running | If you are installing an FME Core or FME Engines, use this property to advertise a fully-qualified domain name (FQDN) for how other distributed components connect to this COREHOSTNAME. Specify a FQDN that resolves to the IP address of the machine via DNS. |
OVERRIDE_NETWORK_CHECK | If Yes, the installer does not ensure the path specified for FMEFLOWSHAREDDATA exists and is writable by the user account specified for FMEFLOWUSER. | |
DATABASETYPE | Default |
The database server type that will be used for the FME Flow Database. Possible values are Default, MSSQL, Oracle, PostGreSQL. Default assumes the PostgreSQL database server that is included with the FME Flow installer and located on the same machine. Note PostgreSQL is the recommended database server with FME Flow, offering enhanced performance and stability through targeted optimizations.
|
DATABASEHOST | [COREHOSTNAME] | The host that the database is on. Specify only if DATABASETYPE is not Default. |
DATABASEPORT |
MSSQL: 1433 PostGreSQL: 5432 Oracle: 1521 |
The port to connect to the database. Specify only if DATABASETYPE is not Default. |
INSTANCENAME | If DATABASETYPE is MSSQL, the SQL Server instance name to use for connecting to the database, instead of DATABASEPORT. | |
DATABASECONNECTIONSTRING | A connection string is generated based on the values of DATABASETYPE, DATABASEHOST, DATABASEPORT, and (if specified) INSTANCENAME. | The JDBC connection string for connecting to the database. |
ORACLESID | The SID for the Oracle database. Must be specified only if DATABASETYPE is Oracle. | |
JDBCDRIVER | If your database requires a JDBC driver that Safe does not provide, specify the full path to it here, and it will be copied to the appropriate place in the install directory. | |
DATABASEUSER | fmeflow |
The FME Flow Database user account name. This property applies regardless of the value specified by DATABASETYPE. Warning If DATABASETYPE is Default, do not specify postgres. This name corresponds to the PostgreSQL master user. If the corresponding passwords do not match, the database will not install.
|
DATABASEPASSWORD |
The password for the FME Flow Database user name. Note The password for the FME Flow Database user account is encrypted in FME Flow installation files.
|
|
PGDATA | C:\ProgramData\Safe Software\FMEFlow | If DATABASETYPE=Default, the directory to contain the data for the FME Flow PostgreSQL database. |
SERVLETTYPE | Default | The type of Application Server (servlet engine) you will use with FME Flow. Possible values are Default or Apache (Tomcat). Default installs the Apache Tomcat servlet provided with the FME Flow installer. |
EXTERNALHOSTNAME | [COREHOSTNAME] | The hostname on which the Web Application Server is installed, or the hostname of the load balancer serving the Web Application Server, if applicable. |
SERVLETPORT | 80 (if open) | The port that the Web Application Server host uses or that the built-in Apache Tomcat server uses. If not specified, the installer checks ports 80, 8080-8085 and uses the first one that is not in use. |
EXTERNALPORT | [SERVLETPORT] | If applicable, a load balancer port or port that is otherwise different from the SERVLETPORT on which the Web Application Server is listening. |
WEBAPPSDIR | [INSTALLDIR]\Utilities\tomcat\webapps | If an Apache Tomcat servlet is already installed on the machine, the path to the webapps directory for the servlet engine, for installing WAR files. This is a necessary property for distributed web applications. |
SHAREDTOMCATLIB | [INSTALLDIR]\Utilities\tomcat\lib | If an Apache Tomcat servlet is already installed on the machine, the path to the lib directory for the servlet engine, for installing JAR files. This is a necessary property for distributed web applications. |
NOLOGPREFIX | No | If Yes, FME Flow log file names are not prefixed with the server host name. |
FIRSTLOGINCHANGEPASSWORD | true | If true, the user will be prompted to update the admin password upon initial login to the FME Flow Web User Interface following installation. If false, updating the admin password will not be required upon initial login. |
Properties Required for a Distributed Installation
If you are performing any type of installation other than Express, in which FME Flow components are distributed across servers, refer to the table below to determine which installation properties (above) must be set when installing each component.
|
Required When Installing the... | |||
---|---|---|---|---|
Property | FME Flow Core | FME Flow Web Services | FME Engines | FME Flow Database |
INSTALLDIR | Yes, if other than the default value | Yes, if other than the default value | Yes, if other than the default value | Yes, if other than the default value |
FMEFLOWUSER | Yes, if other than the default value | Yes, if other than the default value | Yes, if other than the default value | Not applicable |
FMEFLOWUSERPASSWORD | Yes, if other than the default value | Yes, if other than the default value | Yes, if other than the default value | Not applicable |
FMEFLOWSHAREDDATA | Yes | Yes | Yes | Not applicable |
EXTERNALHOSTNAME | Yes, unless installing with the FME Flow Web Services | Yes, if other than the default value | Not applicable | Not applicable |
COREHOSTNAME | Not applicable | Yes, unless installing with the FME Flow Core | Yes, unless installing with the FME Flow Core | Not applicable |
NODENAME | Yes, if other than the default value | Not applicable | Yes, if other than the default value | Not applicable |
DATABASETYPE | Yes, if other than the default value | Yes, if other than the default value | Yes, if other than the default value | Not applicable |
DATABASEPORT | Yes, if other than the default value | Yes, if other than the default value | Yes, if other than the default value | Not applicable |
DATABASEHOST | Yes, unless installing with the FME Flow Database | Yes, unless installing with the FME Flow Database | Yes, unless installing with the FME Flow Database | Not applicable |
DATABASEUSER | Yes, if other than the default value | Yes, if other than the default value | Yes, if other than the default value | Yes, if other than the default value |
DATABASEPASSWORD | Yes | Yes | Yes | Yes |
PGDATA | Not applicable | Not applicable | Not applicable | Yes, if other than the default value |
SERVLETTYPE | Not applicable | Yes, if other than the default value | Not applicable | Not applicable |
SERVLETPORT | Not applicable | Yes, if other than the default value | Not applicable | Not applicable |
Post-Install Tasks
Distributed/Fault Tolerant Installations
If you performed a distributed or fault tolerant installation (specifying the ADDLOCAL property), the FME Flow system services do not start automatically. You must manually start them.
MSSQL Formats
If you plan to run workspaces that reference Microsoft SQL Server and Azure SQL Database (MSSQL_*) readers and writers, you must manually install the SQL Server Native Client and Microsoft System CLR Types for SQL Server on all machines that host FME Engines. To install, navigate to the [INSTALLDIR] and run the following:
msiexec /i sqlncli.msi /qb
msiexec /i SQLSysClrTypes.msi /qb
Examples
The following examples assume you are running a command line from a directory that contains an installer named fme-flow-win-x64.exe
to extract and install, or fme-flow.msi
to install following manual extraction.
Invoking the .exe Installer to Extract and Install
Extract installer to C:\FME\installer and install with all default options (similar to Express install)
fme-flow-win-x64.exe -d"C:\FME\installer" -s -sp"/qb /norestart"
In Windows PowerShell:
start-process -FilePath <downloadpath>\fme-flow-win-x64.exe -Argumentlist '-dC:\FME\installer','-s','-sp"/qb /norestart"'
Extract installer to C:\FME\installer and install core only with an FME Flow System Share directory on a share on another machine named "\\machine1\share"
fme-flow-win-x64.exe -d"C:\FME\installer" -s -sp"ADDLOCAL=FMEFlowCore FMEFLOWUSER=MYCOMPANY\user1 FMEFLOWUSERPASSWORD=password FMEFLOWSHAREDDATA=\\machine1\share /qb /norestart"
In Windows PowerShell:
start-process -FilePath <downloadpath>\fme-flow-win-x64.exe -Argumentlist '-dC:\FME\installer','-s','-sp"ADDLOCAL=FMEFlowCore FMEFLOWUSER=MYCOMPANY\user1 FMEFLOWUSERPASSWORD=password FMEFLOWSHAREDDATA=\\machine1\share /qb /norestart"'
Invoking the .msi File to Install, Following Manual Extraction
Install with all default options (similar to Express install), with logging enabled
msiexec /i fme-flow.msi /qb /norestart /l*v installFMEFlowLog.txt
Distributed install:
- host1: FME Flow Core and FME Engines
- host2: FME Flow Database and FME Flow Web Services
- host3: FME Flow System Share
host1 command:
msiexec /i fme-flow.msi ADDLOCAL=FMEFlowCore,FMEEngine FMEFLOWUSER=DOMAIN\user1 FMEFLOWUSERPASSWORD=password FMEFLOWSHAREDDATA="\\host3\share" EXTERNALHOSTNAME="host2" DATABASEHOST="host2" DATABASEPASSWORD=password /qb /norestart /l*v installFMEServerLog.txt
host2 command:
msiexec /i fme-flow.msi ADDLOCAL=Services,FMEFlowDatabase FMEFLOWUSER=DOMAIN\user1 FMEFLOWUSERPASSWORD=password FMEFLOWSHAREDDATA="\\host3\share" COREHOSTNAME="host1" DATABASEPASSWORD=password /qb /norestart /l*v installFMEServerLog.txt
Distributed install:
- host1: FME Flow Core, FME Flow Web Services, FME Flow System Share
- host2: FME Engines
- host3: FME Flow Database
host1 command:
msiexec /i fme-flow.msi ADDLOCAL=FMEFlowCore,Services FMEFLOWUSER=DOMAIN/user1 FMEFLOWUSERPASSWORD=password FMEFLOWSHAREDDATA="C:\FMEFlowShare" DATABASEHOST="host3" DATABASEPASSWORD=password /qb /norestart /l*v installFMEServerLog.txt
host2 command:
msiexec /i fme-flow.msi ADDLOCAL=FMEEngine FMEFLOWUSER=DOMAIN/user1 FMEFLOWUSERPASSWORD=password FMEFLOWSHAREDDATA=”\\host1\FMEFlowShare" COREHOSTNAME=”host1” DATABASEHOST="host3" DATABASEPASSWORD=password /qb /norestart /l*v installFMEServerLog.txt
host3 command:
msiexec /i fme-flow.msi ADDLOCAL=FMEFlowDatabase DATABASEPASSWORD=password /qb /norestart /l*v installFMEServerLog.txt
FME Engine-only install, with all other FME Flow components on another server named "\\machine1\FMEFlowSystemShare"
msiexec /i fme-flow.msi /l*v "install.log" /qb /norestart INSTALLDIR="C:\Program Files\FMEFlow\" FMEFLOWUSER=MYCOMPANY\user1 FMEFLOWUSERPASSWORD=password COREHOSTNAME="machine1" ADDLOCAL=FMEEngine FMEFLOWSHAREDDATA="\\machine1\FMEFlowSystemShare\" DATABASETYPE="PostGreSQL" DATABASEHOST="FMEFlowCore" DATABASEPORT="7082" SERVLETPORT="80"