iScreensaver : Managed Installation (Obsolete Document)
This is an obsolete document.
For the more recent version, please view Managed Installation (New)
For the more recent version, please view Managed Installation (New)
Background | iScreensaver Installations in Windows | iScreensaver Installations in macOS |
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 Windows
Note: These instructions require iScreensaver 6.0.3 or later.
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 Active Directory, GPO, SCCM, JAMF, etc. Any vendor is OK as long as the management software can perform two functions:
- Copy the screensaver file to the C:\WINDOWS folder
- Set registry keys in HKLM or HKCU
To install an iScreensaver version 6 on Windows, please follow these steps:
Build
To be completed by the author- Build your screensaver installer EXE file using iScreensaver Designer 6, using the Big Business license.
- When you build, view the build details and look for the Installation Key which will look like this
------------------------------------------------------------ Installation Key (Windows) = XXXXXXXX ------------------------------------------------------------
Save a copy of this code. - Send the following items to the client:
- The screensaver installer EXE
- The installationKey (see above)
- The long screensaver name - this is set inside iScreensaver Designer / Share / Win / FileName / Screensaver
Important: if you are distributing multiple screensavers, be sure to set unique names for each one. - The short screensaver name - this is set inside iScreensaver Designer / Share / Win / FileName / Short Name
Prepare
To be completed by the clientIMPORTANT:: In the following instructions, do not change any filenames. If you need different filenames, contact the author and have them re-build the screensaver with new names.
- On a test computer, run the EXE file to install the screensaver on that computer
- The SCR file (named sCr) will be put in C:\WINDOWS
- Save a copy of this file.
Deploy
To be completed by the clientUsing your management tool, create a managed installation script which does the following:
- Copies the sCr file to C:\WINDOWS (or equivalent)
- Sets the following Registry Keys:
Required (to enable the screensaver)HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveActive REG_DWORD value = 1
Required (to choose which screensaver is used)HKEY_CURRENT_USER\Control Panel\Desktop\SCRNSAVE.EXE This should be a REG_SZ (StringValue) with value of the path to the SHORT screensaver name (the 8.3 format filename) for example: C:\WINDOWS\MYSAVR.sCr
Required (to license the screensaver)
To install for all users, set this key
(Note: this will require admin permission, but is the recommended approach.)HKEY_LOCAL_MACHINE\Software\WOW6432Node\iScreensaver\[screensaverName]\installationKey
(Note: on a 32 bit OS use the alternate location):HKEY_LOCAL_MACHINE\Software\iScreensaver\[screensaverName]\installationKey
To install for a single user, set this key:HKEY_CURRENT_USER\Software\iScreensaver\[screensaverName]\installationKey
The value should be:REG_SZ with value XXXXXXXX
Note: The value should be the Installation Key from step 2 above, as a string.
Note: [screensaverName] must match the long screensaver name set by the author during the Build. See above.
Optional (to change the delay before the screensaver activates)HKEY_CURRENT_USER\Control Panel\Desktop\ScreenSaveTimeOut REG_SZ with value 600
- 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. These keys can be set during installation. All keys are located in:
HKEY_CURRENT_USER\Software\iScreensaver\[screensaverName]\
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
- Registry Keys set during operation
During operation, the sCr file will set a few Registry keys - these keys ensure the correct rendering engine is chosen with full GPU hardware acceleration. If your IT system does not allow these keys to be set by the sCr file, you will need to set them manually during deployment:
Required (enables the latest IE11 HTML rendering engine)HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION This should be a REG_DWORD. The name is the SHORT (8.3) name of your sCr file: MYSAVR.sCr The value should be set to 0x00002AF8 (hex) or 11000 (decimal)
Required (enables hardware GPU video acceleration)HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_GPU_RENDERING This should be a REG_DWORD. The name is the SHORT (8.3) name of your sCr file: MYSAVR.sCr The value should be set to 0x00000001 (hex) or 1 (decimal)
Important Notes
Windows is very finicky about screensaver names and locations. Please always do the following:- The author must enable the "Use Short Name" option during build so you have 8.3 filename
- the extension of the filename must be ".sCr" not ".SCR". The reason is an obscure graphics driver bug in some systems where GPU hardware acceleration is disabled if the filename ends in ".SCR".
- Put the file in C:\WINDOWS Although you can put the file elsewhere, the Windows Screen Saver Control Panel only looks for Screensaver SCR files located in C:\WINDOWS. If the file is elsewhere, if the user were to switch away to a different screensaver, your custom screensaver would not be found again.
- Do not change any filenames during deployment. If you need different filenames, contact the author and have them re-build the screensaver with new names.
iScreensaver Managed Installation on macOS
Note: These instructions require iScreensaver 6.0.3 or later.
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.
- When you build, view the build details and look for the Installation Key which will look like this
------------------------------------------------------------ Installation Key (Mac) = XXXXXXXX ------------------------------------------------------------
Save a copy of this code - Send the following items to the client:
- The screensaver installer application (.app)
- The installationKey (see above)
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)
- Sets a plist as follows:
For all users: (Note: this will require admin permission, but is the recommended approach.)sudo defaults write /Library/Preferences/com.iscreensaver.saver.XXXXXXXX installationKey 'XXXXXXXX'
For a single user:defaults write com.iscreensaver.saver.XXXXXXXX installationKey 'XXXXXXXX'
(Alternatively, if you know the username, you can use this equivalent command)defaults write /Users/[username]/Library/Preferences/com.iscreensaver.saver.XXXXXXXX installationKey 'XXXXXXXX'
Notes:- the two XXXXXXXX strings in the above command must be set to the Installation Key from the build.
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:defaults write /Users/[username]/Library/Preferences/com.iscreensaver.saver.XXXXXXXX hudEnabled false