Deploy SPSS v25 to a lab bound to AD

jnraulst
New Contributor III

Hi guys!

I am researching the best way to deploy SPSS to a lab bound to AD. I found this post here that helps me some:

https://www.jamf.com/jamf-nation/discussions/20588/spss-24-deployment

How exactly does this work? Do I put the silent installer DMG into a policy? We have a license server for SPSS and any kind of advice is much appreciated.

2 ACCEPTED SOLUTIONS

poormatt
New Contributor III

In the silent installer DMG there is a SPSS_Statistics_Installer.bin and an installer.properties file. I edited the installer.properties file to include our authorization code (you'll skip this and instead edit the LSHOST section to specify your license file). I placed those files in a temp folder on my machine that I was building from and built a package using Composer using those two files along with including a post install script ( /private/tmp/SPSS/SPSS_Statistics_Installer.bin -f /private/tmp/SPSS/installer.properties as well as a line to remove the files the package dropped into the temp folder). That package drops the installer and properties file into the temp folder and runs the install using the properties defined in the installer.properties file.

Since we also have the firewall enabled I had to add firewall exceptions using a script. I created the script through the JAMF web console since it didn't work well through the package for me.

I then created a policy that included the package followed by the firewall script and used that to deploy through Self Service.

Since you're using the silent installer you'll need to have java installed on the target machines if you don't already.

View solution in original post

jnraulst
New Contributor III

Nevermind, I had to use the legacy Java @hcodfrie mentioned and this fixed it

Thanks!

View solution in original post

10 REPLIES 10

poormatt
New Contributor III

In the silent installer DMG there is a SPSS_Statistics_Installer.bin and an installer.properties file. I edited the installer.properties file to include our authorization code (you'll skip this and instead edit the LSHOST section to specify your license file). I placed those files in a temp folder on my machine that I was building from and built a package using Composer using those two files along with including a post install script ( /private/tmp/SPSS/SPSS_Statistics_Installer.bin -f /private/tmp/SPSS/installer.properties as well as a line to remove the files the package dropped into the temp folder). That package drops the installer and properties file into the temp folder and runs the install using the properties defined in the installer.properties file.

Since we also have the firewall enabled I had to add firewall exceptions using a script. I created the script through the JAMF web console since it didn't work well through the package for me.

I then created a policy that included the package followed by the firewall script and used that to deploy through Self Service.

Since you're using the silent installer you'll need to have java installed on the target machines if you don't already.

jnraulst
New Contributor III

Hi @poormatt

Thank you for posting. Is there a reason you placed those files in the temp folder on your machine? Why is a post install script needed to remove the temp files?

poormatt
New Contributor III

I guess I could have put them anywhere but it being in tmp was easy to keep track of and out of sight. It's also where we place files for other installers so it fit in with our procedures.

You could run it without a post install removal script but since it was fairly large I figured I'd have it removed and save the space on the drives. Also we have a site license instead of a server so removing them decreases the odds of someone taking the files and installing it on a machine they shouldn't (such as a personal machine).

jnraulst
New Contributor III

Sweet

So, as the post install script I have:

#!/bin/sh
## postinstall





/private/tmp/SPSS/SPSS_Statistics_Installer.bin -f /private/tmp/SPSS/installer.properties




rm -rf /tmp/SPSSStatistics 



exit 0      ## Success
exit 1      ## Failure

Is this correct, @poormatt

poormatt
New Contributor III

Depending on where you have the files when you build the package in composer you'll want to correct the path in the rm to be the same as where the files are being dropped.

The install line looks right as long as that's where the files are before you drop them into composer (if you're using composer). Without it the package just drops the files and does nothing.

hcodfrie
Contributor

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /Applications/IBM/SPSS/Statistics/24/SPSSStatistics.app
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /Applications/IBM/SPSS/Statistics/24/SPSSStatistics.app sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /Applications/IBM/SPSS/Statistics/25/SPSSStatistics.app/Contents/MacOS/spssLauncher
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /Applications/IBM/SPSS/Statistics/25/SPSSStatistics.app/Contents/MacOS/spssLauncher

poormatt
New Contributor III

You do need Java for the silent installer as indicated in the first reply, but it doesn't have to be legacy for 25. I installed the latest jdk and no problems.

There's only two lines needed to open the firewall up in our install. I mentioned it in my first reply but neglected to post it.

/usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /Applications/IBM/SPSS/Statistics/25/SPSSStatistics.app/Contents/MacOS/spssLauncher

/usr/libexec/ApplicationFirewall/socketfilterfw --add /Applications/IBM/SPSS/Statistics/25/SPSSStatistics.app/Contents/MacOS/spssLauncher

Since it's a script running from JAMF it doesn't need sudo.

They may be the similar to what you have @hcodfrie but I can't see the last bit of the lines.

jnraulst
New Contributor III

@poormatt

Thanks, I am getting closer. The installed fails to run, so I tried manually running the silent install and it keeps saying I need Java, even thought it is already installed..Ideas?

jnraulst
New Contributor III

Nevermind, I had to use the legacy Java @hcodfrie mentioned and this fixed it

Thanks!

poormatt
New Contributor III

Weird you had to use legacy, I've had no issues using JDK 8 Update 171. In any event, glad it worked!