iScreensaver : Managed Installation (Legacy version: for macOS up to and including 10.13 Ventura)
This is an old document.
For the more recent version, please view Managed Installation (New)
For the more recent version, please view Managed Installation (New)
This document is for people deploying screensavers on macOS version up to and including macOS 13 (Ventura). For macOS Sonoma and later, please see Managed Installation (New)
Last Update: Friday, 05-Jul-2024 07:43:24 PDT
Background & Summary
iScreensaver Version 6 greatly simplifies installation for computers under IT management. On Windows, the software is now delivered as a single-file EXE installer which can easily be converted to a single-file SCR and installed with a few registry keys. On macOS the screensaver is delivered as an .App installer which can be easily converted to a standard .saver ScreenSaver bundle which can be installed with a few commands.IMPORTANT
Please follow these instructions exactly. Even a small variation (such as changing the name of the screensaver file) can cause problems.In these instructions, it is assumed that there is an author who is creating the screensaver installer, and a client who is doing the installation.
iScreensaver Managed Installation on macOS versions (up to and including macOS 13 Ventura)
This is an old document.
For the more recent version, please view Managed Installation (New)
For the more recent version, please view Managed Installation (New)
To get started, you'll need
- iScreensaver Designer 6 - Big Business License (other license levels do not support managed installation).
- Some sort of multi-computer management system, such as JAMF, etc. Any vendor is OK as long as the management software can perform two functions:
- Copy the .saver screensaver bundle to the /Library/Screen Savers or ~/Library/Screen Savers folder
- Sets plist values using the '/usr/bin/defaults' command
Build
To be completed by the author- Build your screensaver installer application (.app) file using iScreensaver Designer 6, using the Big Business license.
- Send the following items to the client:
- The screensaver installer application (.app)
Prepare
To be completed by the client- On a test computer, run the Screensaver Installer.app file
Note: you will probably need to control-click or right-click the .app and choose "Open" to bypass the Gatekeeper warning (unless the author code-signed the .app, which is rare) - Use the Install menu to choose where to install the screensaver:
- "For Me" installs the .saver to ~/Library/Screen Savers/
e.g. /Users/[username]/Library/Screen Savers/ - "For All Users" installs the .saver to /Library/Screen Savers/
- "For Me" installs the .saver to ~/Library/Screen Savers/
- Save a copy of this .saver bundle
Deploy
To be completed by the clientUsing your management tool, create a managed installation script which does the following:
- Copies the .saver file to /Library/Screen Savers/ (for all users) or /Users/[username]/Library/Screen Savers/ (for a single user)
Optional (to choose which screensaver is used)
[If your deployment tool doesn't have the ability to select the screensaver, you can do it with the following commands.]
Note: This script must be run once for each user while logged in as that user.defaults -currentHost write com.apple.screensaver moduleDict -dict moduleName "MyScreensaver" path "/Library/Screen Savers/MyScreensaver.saver" type 0
JAMF user? Try following the instructions as described Here, but using this modified script:#!/bin/sh user=`ls -l /dev/console | awk {' print $3 '}` su $user -c '/usr/bin/defaults -currentHost write com.apple.screensaver moduleDict -dict moduleName "MyScreensaver" path "/Library/Screen Savers/MyScreensaver.saver" type 0' killall cfprefsd
- User-Selectable Options
[Note: these are not needed in normal deployment. Only special situations would require these]. End users can use the screensaver settings panel to change various options, such as whether the HUD (Heads Up Display) is in use, the keyboard behavior, etc. If you wish, these keys can be set during installation. Keys must be set for each user account individually.
Key Values Comments ---------- --------------- ------------------------- hudEnabled true | false enables or disables the HUD (Heads Up Display) keyboardEnterKeyExits true | false with HUD enabled, does the Enter key exit the screensaver or show the navigation menu keyboardSpaceBarPauses true | false with HUD enabled, does the SpaceBar exit or pause
Example:For macOS 10.11 through 10.14:defaults write /Users/[username]/Library/Preferences/com.iscreensaver.saver.XXXXXXXX hudEnabled false
For macOS 10.15 Catalina and later (macOS 11, 12, 13...) the plist location has changed. Note that the path is different for M1 vs. Intel versions of macOS, and we now recommend using the "plutil" tool rather than "defaults"
Intel macOS:plutil -replace hudEnabled -string "false" /Users/[username]/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Preferences/com.iscreensaver.saver.XXXXXXXX
M1 macOS:plutil -replace hudEnabled -string "false" /Users/[username]/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver-x86_64/Data/Library/Preferences/com.iscreensaver.saver.XXXXXXXX