So, today I tried SPSS 21, with the silent installer and a network license type. It works, with the following caveats:
- It seems to ignore INSTALLER_UI and always sets it to 'gui'. I forced silent mode by adding '-i silent' to the command invocation
- I followed Arjen's example for the USER_INSTALL_DIR, but it seemed to not finish its install when I had quotes in this path. I discovered this by finding a directory called "/ inside the /tmp/install.dir.PID folder its installer created, which contained Applications/SPSS and so-on.
- It does not seem to work at the loginwindow, only when a user is logged in - as before there's a java GUI process spawned, 'com.zerog.lax.LAX'
Traceback:
Invocation of this Java Application has caused an InvocationTargetException. This application will now exit. (LAX)
Stack Trace:
java.lang.UnsatisfiedLinkError: apple.awt.CToolkit.init()V
at apple.awt.CToolkit.init(Native Method)
at apple.awt.CToolkit.<init>(CToolkit.java:134)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:357)
at java.lang.Class.newInstance(Class.java:310)
at java.awt.Toolkit$2.run(Toolkit.java:859)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:826)
at com.apple.eio.FileManager.<clinit>(FileManager.java:39)
at com.apple.mrj.MRJPriv.findFolder(MRJPriv.java:208)
at com.apple.mrj.MRJFileUtils.findFolder(MRJFileUtils.java:171)
at ZeroGth.a(DashoA10*..)
at com.zerog.ia.installer.util.magicfolders.SystemMF.a(DashoA10*..)
at com.zerog.ia.installer.util.magicfolders.SystemMF.d(DashoA10*..)
at com.zerog.ia.installer.util.magicfolders.MagicFolder.initializeAllMagicFolderPaths(DashoA10*..)
at com.zerog.ia.installer.LifeCycleManager.o(DashoA10*..)
at com.zerog.ia.installer.LifeCycleManager.g(DashoA10*..)
at com.zerog.ia.installer.LifeCycleManager.b(DashoA10*..)
at com.zerog.ia.installer.LifeCycleManager.a(DashoA10*..)
at com.zerog.ia.installer.Main.main(DashoA10*..)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.zerog.lax.LAX.launch(DashoA10*..)
at com.zerog.lax.LAX.main(DashoA10*..)
This Application has Unexpectedly Quit: Invocation of this Java Application has caused an InvocationTargetException. This application will now exit. (LAX)
You can enable the debug mode by setting LAX_DEBUG=1, and actual useful debug output will be displayed (this was how I determined it was not taking the 'silent' install UI mode from the properties file.)
So, if the installer .bin and properties file are in /var, the following triggers a successful install with debug output, provided there's a user logged in:
cd /var
export LAX_DEBUG=1
./SPSS_Statistics_Installer.bin -i silent
I dropped the "-f install.properties" because it will by default look for this file in the same directory as the installer, and use it if it finds it.
Maybe there are some display-related prefs that could put LAX into a mode that will make it not expect a window server. But even if a user's logged in, the debug output reports "X display" as being not set, so I don't know if that's actually an issue.
You can also run strings against the installer .bin file, and be bored to tears by the 2500 lines of shell bootstrap code it uses before actually spawning the LAX installer.
I tried the usual launchctl bsexec trick, and also adding the following two parameters to the installer to no avail:
-Djava.awt.headless=true -Dis.headless=true
Tried some ideas here:
http://holistictendencies.wordpress.com/2011/10/13/truly-headless-awt-operation-on-macos-x
..also to no avail.
Hope this is useful for someone!
-Tim