Prerequisites – Installation of Java JRE 1.8.0_361 and JDK-17.0.2
Firstly, you need to download the relevant desktop applications (Data Integration, Report Designer, Schema Workbench) and the server application from:
(Note: download the .zip versions of each application)
Extract them to the desktop and copy them to a deployment share if you intend to deploy them over a network.
The desktop applications do not have an install .exe or .msi so I deployed them by using the Robocopy function to create a copy of them to the desired directory.
To ensure that users can run the applications from the desktop, I deployed the applications to a test PC, made a shortcut of the .bat file that starts the application and targeted it to run from the public desktop. I then copied the file to the deployment share so it could be deployed with the application.
I then tested the application deployment to check that all the files copied over correctly.
Once this process was completed I focused on the aspect of Environmental Variables. These need to be set in order to ensure that the applications could start using Java. Without specific variables being set the applications will not run.
You have to use the setx /m to create the system variables PENTAHO_JAVA_HOME, PENTAHO_JAVA and JAVA_HOME variables. This will direct specific parts of the .bat files used when starting the applications to the specific versions of Java installed on the host machine. If these are different on your machine you will need to alter the script to accommodate for the different version of Java Runtime Environment and Development Kit installed.
Finally, I set the permissions for Java in the firewall settings as users below an administrator cannot allow these so deploying them with the application fixes this issue. Please note that the protocols I have written rules for are the TCP and the UDP. These two rules sort all firewall issues out for using Java to run the Pentaho applications.
This is quite a complicated process to get right and may take some trial and error to get right. I have included below the script i created to allow the Pentaho applications to be copied over to the designated directory, set the Environmental Variables, set the Firewall Permissions, copy the Shortcuts to the public desktop then shutdown the PC.
Pentaho Deployment Script
SET DeployShare=Deployment_Share
@ECHO off
TITLE Install Pentaho Applications
CLS
ECHO.
ECHO Copying Pentaho Applications to Directory…..
Robocopy “\\%DeployShare%\Pentaho\pdi-ce-9.3.0.0-428” “C:\Pentaho” /E /njh /njs /ndl /nc /ns /nfl
Robocopy “\\%DeployShare%\Pentaho\Report_Designer\prd-ce-9.4.0.0-343” “C:\Pentaho” /E /njh /njs /ndl /nc /ns /nfl
Robocopy “\\%DeployShare%\Pentaho\Workbench\psw-ce-9.4.0.0-343” “C:\Pentaho” /E /njh /njs /ndl /nc /ns /nfl
setx /m PENTAHO_JAVA_HOME “C:\Program Files\Java\jre1.8.0_361”
setx /m PENTAHO_JAVA “C:\Program Files\Java\jre1.8.0_361\bin\java.exe”
setx /m JAVA_HOME “C:\Program Files\Java\jdk-17.0.2”
REM // Permissions for Pentaho.exe…….
netsh advfirewall firewall add rule name=”Java(TM) Platform SE binary” description=”Java(TM) Platform SE binary” dir=in action=allow program=”C:\program files\java\jre1.8.0_361\bin\javaw.exe” enable=yes protocol=tcp profile=domain,private
netsh advfirewall firewall add rule name=”Java(TM) Platform SE binary” description=”Java(TM) Platform SE binary” dir=in action=allow program=”C:\program files\java\jre1.8.0_361\bin\javaw.exe” enable=yes protocol=udp profile=domain,private
timeout 2
copy “C:\Pentaho\data-integration\Pentaho PDI.lnk” “C:\Users\Public\Desktop”
copy “C:\Pentaho\report-designer\Pentaho Report Designer.lnk” “C:\Users\Public\Desktop”
copy “C:\Pentaho\schema-workbench\Pentaho Workbench.lnk” “C:\Users\Public\Desktop”
timeout 2
Shutdown -s -t 2
If the Pentaho Applications have been deployed correctly each application should open from the Desktop. During the testing phase of deployment you can add a Pause command instead of Shutdown. This will show any errors during the installation process.
