Posted on 05-31-2018 12:39 PM
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.
Solved! Go to Solution.
Posted on 05-31-2018 01:00 PM
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.
Posted on 06-01-2018 09:49 AM
Nevermind, I had to use the legacy Java @hcodfrie mentioned and this fixed it
Thanks!
Posted on 05-31-2018 01:00 PM
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.
Posted on 05-31-2018 01:12 PM
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?
Posted on 05-31-2018 01:34 PM
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).
Posted on 05-31-2018 01:46 PM
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
Posted on 05-31-2018 01:53 PM
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.
Posted on 05-31-2018 02:50 PM
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
Posted on 05-31-2018 03:38 PM
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.
Posted on 06-01-2018 09:14 AM
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?
Posted on 06-01-2018 09:49 AM
Nevermind, I had to use the legacy Java @hcodfrie mentioned and this fixed it
Thanks!
Posted on 06-01-2018 10:05 AM
Weird you had to use legacy, I've had no issues using JDK 8 Update 171. In any event, glad it worked!