iScreensaver

iScreensaver : Managed Installation


Background | iScreensaver Installations in Windows | iScreensaver Installations in macOS |



Last Update: Friday, 24-May-2019 07:03:16 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


To install an iScreensaver version 6 on Windows, please follow these steps:

Build

To be completed by the author
  1. Build your screensaver installer EXE file using iScreensaver Designer 6, using the Big Business license.
  2. 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.
  3. Send the following items to the client:
    1. The screensaver installer EXE
    2. The installationKey (see above)
    3. 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.
    4. The short screensaver name - this is set inside iScreensaver Designer / Share / Win / FileName / Short Name

Prepare

To be completed by the client
IMPORTANT:: 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.
  1. On a test computer, run the EXE file to install the screensaver on that computer
  2. The SCR file (named sCr) will be put in C:\WINDOWS
  3. Save a copy of this file.

Deploy

To be completed by the client
Using your management tool, create a managed installation script which does the following:
  1. Copies the sCr file to C:\WINDOWS (or equivalent)
  2. 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
    	
  3. 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
    	
    	
  4. 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:




iScreensaver Managed Installation on macOS


Note: These instructions require iScreensaver 6.0.3 or later.


To get started, you'll need


Build

To be completed by the author
  1. Build your screensaver installer application (.app) file using iScreensaver Designer 6, using the Big Business license.
  2. 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
  3. Send the following items to the client:
    1. The screensaver installer application (.app)
    2. The installationKey (see above)

Prepare

To be completed by the client
  1. 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)
  2. 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/
  3. Save a copy of this .saver bundle

Deploy

To be completed by the client
Using your management tool, create a managed installation script which does the following:
  1. Copies the .saver file to /Library/Screen Savers/ (for all users) or /Users/[username]/Library/Screen Savers/ (for a single user)
  2. 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:
    1. 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	
    	
  3. 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