SnapinPacks
Under construction.
Contents
SnapinPacks Brief Overview
SnapinPacks are a new feature specific to FOG 1.3.0 and the new FOG Client (version 0.11.3+). The key ability that SnapinPacks allow is to deploy many files to hosts, and execute one of those files with any needed arguments.
For example, you may deploy driver files to a host with a single SnapinPack. With those files, you can include a script which would run and place the drivers where they need to be. Another example would be bundling a dozen different MSI files, and include a script that runs each MSI with it's individual needed arguments if any. Another example would be larger silent installations such as Adobe Creative Cloud or Microsoft Office; both of these have silent installations with many files and would be well suited for SnapinPacks.
Snapins Are Silent
SnapinPacks must be silent, this requirement has not changed. What is a silent snapin? A silent snapin requires zero interaction to run. If at any point the snapin asks for input from a user, it will simply wait for input that will never come, and timeout eventually.
Snapins Run as SYSTEM or root
All Snapins including SnapinPacks run as the SYSTEM or root user's security context. If a snapin or SnapinPack runs successfully by manual execution but not via the FOG Client - this is typically related to the security context. For example, say you have a shared directory that is granted read access for all Domain Users. Well, an individual host's local SYSTEM or root account is not a member of Domain Users. Therefore, unless alternative credentials are supplied to access the share, any script executed that tries to read this share will not work. There are a few solutions to this. Granting the share read access for anonymous users is the most simple. Specifying credentials within scripts, or as arguments are viable options.
Creating a SnapinPack
Create New SnapinPack in FOG
- 1. Place all needed files in a folder. Right click the folder, choose to compress it. There are different menus for compressing depending on the OS you're using. Linux, Windows, and OSX SnapinPacks must use the .zip format.
- 2. Access your FOG server's web interface via x.x.x.x/fog/management and log in.
- 3. Click the Snapin Management icon on the FOG Ribbon, it's at the top, here:
- 4. On the left of the Snapin Management page, click "Create New Snapin."
- 5. Give the SnapinPack a name, Choose the correct Snapin Storage Group, and then click the arrow for Snapin Type and select Snapin Pack.
- 6. Choose the appropriate SnapinPack template. There are several templates available. For example, if the SnapinPack only runs an EXE, choose EXE. If it only runs an MSI, choose MSI. If it only runs a BASH script, choose Bash Script. If it only runs a batch file (.bat), choose Batch Script. SnapinPacks are not limited to the templates available, but the available templates are listed below.
- MSI
- MSI + MST
- Batch Script
- Bash Script
- VB Script
- PowerShell Script
- EXE
- Mono
- 7. Edit the Snapin Pack Arguments as appropriate. If your .zip file has within it a folder, you would need to include the folder's name between "[FOG_SNAPIN_PATH]" and the path to the executable. For example, let's say the .zip file contains a folder called "test-pack", and within this folder we desire to execute a Batch Script called "install-common-things.bat" We would make our Snapin Pack Arguments as follows:
- "[FOG_SNAPIN_PATH]/test-pack/install-common-things.bat"
- 8. Choose the .zip file you prepared in step 1. by clicking the "Browse" button, and browsing to the .zip file and select it.
- 9. (optional) Check the "Snapin Arguments Hidden?" checkbox to hide the arguments of the Snapin. This is helpful if you send passwords to the Snapin via arguments. It's un-helpful when trying to troubleshoot.
- 10. (optional) Check or uncheck the "Replicate?" checkbox as you see appropriate. The default is checked, which means the SnapinPack will replicate to all storage nodes that are enabled members of the selected Snapin Storage Group from Step 5. Disabling this option means the SnapinPack may only be "downloaded" by hosts from the master of the selected Snapin Storage Group.
- 11. (optional) Select if you would want hosts that this SnapinPack is deployed to - to reboot after completion, or shutdown after completion. If a shutdown or reboot is required, you must use this option to reboot and shutdown instead of scripting it. Scripting a shutdown or reboot means the FOG Client cannot report success or failure of the SnapinPack's completion, the Snapin task will remain in queue, and the host will re-attempt to install the SnapinPack the next time it boots, resulting in a reboot loop.
- 12. Examine the "Snapin Command" at the bottom of the options. Does it look right? For troubleshooting, you may place the non-zipped SnapinPack on a host, and replace [FOG_SNAPIN_PATH] with the full path to the un-zipped SnapinPack files, and run the command with the OS's appropriate run dialog (run, terminal, powershell, etc).
- 13. Click the "ADD" button at the bottom when you are satisfied with your SnapinPack.