Summary
The Yellowfin Silent Patch Installer allows you to upgrade your Yellowfin installation without a graphical interface, making it suitable for scripted or automated deployments. This article covers the most commonly used options for the Silent Installer, and includes a worked example for upgrading when your Yellowfin configuration database is a SQL Server instance using Windows Authentication.
If a silent installation update is unsuccessful, errors will be written to the upgrade log for review. This can be found in the Yellowfin root directory.
You can find more options for the silent installer/patcher over on our Wiki page, at this link.
Common Silent Installer Options
The Silent Installer is invoked using the -silent flag. The basic syntax for a full upgrade is:
java -jar yellowfin-<version>-update.jar -silent "C:\Yellowfin"
Where the quoted path is your Yellowfin installation directory. The following table covers the most relevant options you are likely to need.
| Option | Value | Description |
|---|---|---|
| option.upgrade | database / filesystem | Limits the upgrade to a specific component. Use database to update only the configuration database, or filesystem to update only Yellowfin files. If omitted, both are updated. |
| jdbcUser | String | The username used to connect to the Yellowfin configuration database. Not required when updating the filesystem only. |
| jdbcPassword | String | The password for the above user. This should not be encrypted. |
| jdbcURL | JDBC connection string | The full JDBC connection URL for the configuration database. Used for independent database upgrades where the file path is not specified. Additional parameters can be appended to this string — see below for an example. |
| jdbcDriver | Canonical class name | Specifies the JDBC driver class to use. Required if the jdbcURL is not automatically recognised by the updater, or if you are supplying your own driver jar. |
| option.updateTomcat | true / false | Whether the silent updater should update Tomcat in parallel. Defaults to false. |
| option.updateTomcat.force | true / false | Forces a Tomcat update even if the configuration check fails. Requires option.updateTomcat=true. If set to true while option.updateTomcat is false, the updater will raise an error and halt. |
| option.migrate9Configuration | true / false | Applies the Yellowfin 9 configuration-level defaults for chart and report colours, fonts, and styles. Defaults to false if omitted. |
| option.migrate9ChartDefaults | true / false | Applies the Yellowfin 9 chart builder defaults, including axes, legends, sorting, and padding. Defaults to false if omitted. |
Upgrading with SQL Server Windows Authentication
If your Yellowfin configuration database is a SQL Server instance using Windows Authentication rather than SQL Server Authentication, the standard upgrade command will fail without some additional configuration. In this scenario, you need to:
- Supply the Windows domain and domain user credentials via additional flags
- Append the relevant authentication parameters directly to the jdbcURL
- Point the JVM to the directory containing the mssql-jdbc_auth native library using -Djava.library.path
JDBC URL Parameters
The following parameters need to be appended to your SQL Server JDBC URL:
- authenticationScheme=NTLM - instructs the driver to use NTLM authentication
- integratedSecurity=true - enables Windows Integrated Security
- encrypt=false/true - disables or enables SSL encryption on the JDBC connection. This value is environment-specific. The example in this article uses encrypt=false as it was required in that particular environment, but this may not be appropriate for yours. Before using this parameter, check with your database administrator whether SSL encryption is required on connections to your SQL Server instance. Setting this incorrectly could either cause the connection to fail or reduce the security of your database connection.
Additional Flags
You will also need to pass the following options:
- option.db.sqlauthtype=windows - tells the installer to use Windows Authentication mode
- option.db.sqldomain - the Windows domain the user account belongs to
- -Djava.library.path - the path to the directory containing the native NTLM authentication library. This library is typically included in the Yellowfin upgrade package under the lib directory
Working Example
The following is a complete example of a silent database-only upgrade using SQL Server with Windows Authentication. Please review all parameters carefully before running this in your own environment, in particular the encrypt value in the JDBC URL, which will need to reflect your own security requirements.
java -Djava.library.path="C:\path\to\upgrade\lib" -jar yellowfin-<version>-update.jar -silent option.upgrade=database option.db.sqlauthtype=windows option.db.sqldomain=YourDomain jdbcUser=YourDomainUser jdbcPassword=YourDomainPassword jdbcURL=jdbc:sqlserver://DB_SERVER:DB_PORT;databaseName=DB_NAME;authenticationScheme=NTLM;integratedSecurity=true;encrypt=false
Replace the placeholders with your environment's values:
- C:\path\to\upgrade\lib - the path to the lib folder in your Yellowfin upgrade package
- YourDomain - your Windows domain name
- YourDomainUser / YourDomainPassword - the domain account credentials
- DB_SERVER / DB_PORT - your SQL Server host and port
- DB_NAME - the name of your Yellowfin configuration database
- encrypt=false - verify this is appropriate for your environment before running. See the note above.
If you are still encountering problems or have questions, contact Support with a new ticket or send us an email.