QPR UI Windows Installer

From QPR ProcessAnalyzer Wiki
Jump to: navigation, search

Windows installer for QPR UI can be downloaded from the downloads page. If there is an earlier version already installed in the computer, the QPR UI installer will make an upgrade to the old version. When an upgrade is done, the installer doesn't show any settings, and all the settings in the previous version are preserved. Note: upgrade installation is not available when upgrading between QPR UI 2019.4 and QPR UI 2019.5 (reason is that the GlassFish web server version has been updated) - you need to uninstall the previous version before installing new.

Usually upgrading QPR UI also requires changes to the QPR UI database (database upgrade). The changes are made automatically, when the new version of QPR UI first time starts (GlassFish is started) and detects an old database version. Note that when the database upgrade has been made, it's not possible to use the database with an older version of QPR UI any more. The database cannot be downgraded back an older version.

Before Running Installation Wizard

Before running the installation wizard, check the following:

Install Microsoft OLE DB Driver 18 for SQL Server

Microsoft OLE DB Driver 18 for SQL Server can be downloaded from https://www.microsoft.com/en-us/download/details.aspx?id=56730.

Install .Net 3.5 from Windows Features

  • Go to Turn Windows Features on or off in the Windows Control Panel.
  • Check that .Net Framework 3.5 (includes .Net 2.0 and 3.0) > Windows Communication Foundation HTTP Activation and .Net Framework 3.5 (includes .Net 2.0 and 3.0) > Windows Communication Foundation Non-HTTP Activation are installed. If they are not, check them, and click OK.

QPR Web Service Accessibility

Depending on which QPR products you want to use as the data source for QPR UI, check that either:

Server TCP Ports

Check whether there are other (server) applications listening on ports 4848, 8080 and 8181. QPR UI uses these ports by default because they are default ports for the GlassFish web server. Ports 8080 (http) and 8181 (https) can be changed in the QPR UI installation wizard, but port 4848 (GlassFish Admin Console) cannot be changed. If you try to use ports that are used by other applications during the installation, the installation will not work, but the ports can be changed to free ones under the network-listeners section in the <Path to QPR UI Installation>\Glassfish\glassfish\domains\domain1\config\domain.xml file, e.g. C:\Program Files\QPR Software Plc\QPR UI\Glassfish\glassfish\domains\domain1\config\domain.xml. Note that the QPR UI service needs to be (re)started after changing the port configuration.

It's possible to change the port 4848 in the GlassFish Admin Console, but it is doable only after the installation. This issue can be worked around by shutting down the other application during QPR UI installation as follows:

  1. Shutdown the other application using port 4848.
  2. Run QPR UI installation wizard as described in Running installation wizard.
  3. Change the GlassFish port from GlassFish Administration Console.
  4. Start the other application.

Running installation wizard

To start QPR UI installation wizard, double click the QPR_UI.exe file and go through the steps described below.

1. Welcome Page
This is the starting point of the QPR UI installation wizard.

Click Next to continue.

Pic installation welcome.png
2. License Agreement
Here you can see the End User Software License terms for the software that is about to be installed. You will need to accept these terms before continuing the installation. Select I accept the terms in the license agreement and click Next to continue in the case you accept the license terms. Otherwise you'll need to cancel the installation. Pic installation licenseagreement.png
3. Destination Folder
In this page you can see the folder where QPR UI is will be installed. If you want to install to a different folder, click on the Change button and define a new target folder. Pic installation destinationfolder.png
4. Database Server
In this page you need to supply information to connect to Microsoft SQL Server where the QPR UI database is located. The Database server drop-down list contains found SQL Servers. If the desired SQL Server is not found, input the SQL Server hostname (DNS name) and the possible instance name in the form HOSTNAME\INSTANCENAME. For named instances, the TCP port is not defined, because it is queried from the SQL Server Browser. If you are using a default instance with other than the default port number 1433, define the port in the following form: HOSTNAME:PORTNUMBER.

For connecting to the SQL Server, you can use either:

  • Windows authentication (Windows domain account defined below) or
  • SQL Server authentication (SQL Server login defined below)

After inputting Login ID (username) and password, click on Validate to verify that the account can be used for connecting to the defined database server. The Next button is enabled only after a successful validation of credentials. The validation only checks that the account can be used to login to the SQL Server - it doesn't check that the account has enough rights to operate the database.

Note for Windows authentication:

  • The account supplied here will be used for database connection when QPR UI is running in the Glassfish. Also the user account running this installation wizard needs to have access to the database to create the necessary tables there during the installation.

Name of database field defines QPR UI database name (that must already exist). If the database contains information from a previous version, the database is converted to the current version automatically when the GlassFish server starts up.

Pic installation dbconfig.png
5. Server Locations
Define where the QPR Suite and QPR ProcessAnalyzer Web Services can be accessed. For QPR Suite Web Service, the endpoint is given in the format: http://<your host>/<your IIS application>/Portal/QPR.Isapi.dll/wsforward/MainService.svc/webHttp/.
The suggested url for QPR Suite Web Services points to QPR 2017.1 instance in the same server computer. localhost can be used if QPR Suite and QPR UI are on the same server computer.

If you have QPR ProcessAnalyzer available, define its endpoint URL to the corresponding field. NOTE: If your QPR UI installation is running in a clustered environment, set UseXForwardedForAsClientIp to true in the web.config of the QPR ProcessAnalyzer instance that is used.

Also note that when using SSL, both QPR Suite and QPR ProcessAnalyzer should be set to ignore client certificates in their IIS configuration. if you use SSL in QPR ProcessAnalyzer replace 'webHttp' to 'secureWebHttp' in url.

Click Next to continue.

Pic installation serverlocations.png
6. GlassFish Configuration
Define the HTTP and HTTPS port numbers of the GlassFish application server used to host QPR UI.


Make sure that the ports are not in use by other applications. To see see if a port is in use, you can use for example the following Netstat command executed in an elevated Command Prompt:
netstat -an | find ":port_number_here"

Click Next to continue.

Pic installation glassfish ports.png
7. QPR Suite and QPR ProcessAnalyzer System User
Here you need to define the user credentials of an administrator user that's found in QPR Suite and QPR ProcessAnalyzer services. The user account defined here is used to synchronize user information from QPR Suite and QPR ProcessAnalyzer to QPR UI.

Click Next to continue.

Pic installation suite credentials.png
8. Common QPR Authentication Setup
If you have other QPR Suite products in use, with these settings you can configure Common QPR Authentication to work between the products.

To add a URL:

  1. select the Service type (e.g. "QPR Portal")
  2. define the Service URL (e.g. http://<service_hostname>/QPR2017-1/Portal/QPR.Isapi.dll/)
  3. click Add

If you need to change an existing definition, you can either remove the latest definition by clicking Remove last or remove all the definitions by clicking Clear, and then start adding again.

Note that with the settings defined here, you can define the Common QPR Authentication to work when linking to QPR UI. If you need to link from QPR UI to some other QPR Suite product, you need to do define the settings in the other product.

Click Next to continue.

Pic installation sso.png
9. Federated Authentication Configuration
This page allows configuring login to QPR UI using federated authentication, i.e. external identity provide (IdP). If there is no federated identity provider in your organization or you wish to configure it later, this page can be left blank. See the federated authentication page for more information how these settings are configured.

Click Next to continue.

Pic installation federated authentication.png
10. Ready to Install
The installer is now ready to start. If you need to change any settings, click Back and make the necessary changes.

Once you are satisfied with the settings, click Install to start the installation.
Pic installation readytoinstall.png
11. Complete
The installation is now complete.

Check the Launch QPR UI checkbox to open the QPR UI login page. If you choose not to launch the login page straight away, you can access it later on at: http(s)://<your_server_dns_name>:8080/ui.

Click Finish to close the installer.

Pic installation completed.png

Installation Troubleshooting

Q: Windows service for QPR UI does not start.
A: If this happened just after installing or updating QPR UI, restarting the server machine helps. In that case, the issue appears in a way that in the Windows Task Manager the java.exe process doesn't start at all.

Q: Opening QPR UI login page gives an Internal Server Error message, and the following error message appears in GlassFish log: org.glassfish.deployment.common.DeploymentException: Error in linking security policy for EnticeServices -- Inconsistent Module State.
A: Solution is to delete GlassFish cache as follows: Stop the QPR UI Windows Service, delete contents of folder C:\Program Files\QPR Software Plc\QPR UI\Glassfish\glassfish\domains\domain1\generated\ (but not the generated folder itself), and start QPR UI Windows Service again. (Technical description for the error is that the EnticeServices application deployment failed in GlassFish due to outdated information in cache.)

Q: Error message java.lang.OutOfMemoryError: Java heap space or java.lang.OutOfMemoryError: GC overhead limit exceeded appears as a popup message in QPR UI or the error message appears in QPR UI GlassFish server log.
A: There is not enough memory allocated to Java virtual machine to run GlassFish server (heap memory in this case). Memory limits can be set in file C:\Program Files\QPR Software Plc\QPR UI\Glassfish\glassfish\domains\domain1\config\domain.xml. Find section domain > configs > config (the one where name="server-config) > java-config > jvm-options. There are several jvm-options nodes - find a one starting with -Xmx. See here how to change the maximum heap memory: https://stackoverflow.com/questions/14763079/what-are-the-xms-and-xmx-parameters-when-starting-jvms. Note also that there needs to be enough physical memory in the server computer.

Q: The Validate button in the Database Server page does not validate my database credentials even though they are correct.
A: Even though the validation should work in the majority of scenarios, you can supply a SKIPDBVALIDATION=1 parameter to the installation from the command line (QPRUI.exe /v"SKIPDBVALIDATION=1"). However, when skipping the validation you need to pay some extra attention to the correctness of the credentials as all parts of the software cannot be deployed to Glassfish if the database credentials are incorrect.

Q: I have QPR Suite and/or QPR ProcessAnalyzer running with SSL enabled and my QPR UI installation is SSL-enabled too. Now QPR Suite and/or QPR ProcessAnalyzer is not available as a data source.
A: In the QPR Suite/QPR ProcessAnalyzer, check in the Microsoft IIS web server that the application (e.g. QPR2017-1 or QPRPA) is set to ignore client certificates in its SSL settings. In addition, if your QPR ProcessAnalyzer installation is older than QPR ProcessAnalyzer 2016.3, change the secureWebHttpBindingConfiguration binding in bindings_https.config to contain

<security mode="Transport">
    <transport clientCredentialType="None"/>
</security>

instead of

<security mode="None" />

Q: I have QPR Suite and/or QPR ProcessAnalyzer running with SSL enabled and I can access them both using a web browser, but when trying to log in to QPR UI I get "Verify that server locations configurations are correct, the target machines are reachable, and QPR services are running" error.
A: Check the Glassfish log for error about "Already connected". If such an error is found, it's highly likely that Glassfish doesn't accept the SSL certificate in use by QPR Suite and/or QPR ProcessAnalyzer. In this case, import the SSL certificate to Glassfish.