[LOG FACILITY DEFINITIONS] ; --- LOG FACILITY DEFINITIONS --- Debug.GenTraceLevel=INFO Debug.LogFile.TxtPath=..\Logs\MgrLog.txt Debug.LogFile.DebugView=0 Debug.LogFile.DecoratingPolicy=SizeCyclicRollover Debug.LogFile.BytesSize=500000 Debug.LogFile.MaxLogFiles=50 Debug.LogFile.SynchronousLogging=true ; --- GPO Settings --- ; GPO settings are applied directly to the configuration file every ; time the streaming service starts. If you would like that not ; to happen (great for testing), uncomment this line. ;IGNORE_GPO_SETTINGS=true ; --- VDI OPTIMIZATIONS --- ;XPF_FAST_INSTALL=true ;XPF_FAST_INSTALL_STREAMED_DIRS=true ; --- PERFORMANCE OPTIONS --- AppMgrService.GeneralThreadPool.MinimumPoolThreads = 4 AppMgrService.GeneralThreadPool.ShrinkPoolInterval = 300 ; --- NETWORKING DEFINITIONS --- ; List of IPs that the AppStream Application Manager ; will ignore when resolving a hostname to an IP ; address. Useful to block wildcard DNS entries. ; IP_BLOCK_LIST = 64.70.19.33 ; Wildcard for .ws ; If a message to send to the server is greater than ; this threshold (in bytes), the message will be ; compressed first. Specifying -1 will disable ; compression. COMPRESS_MESSAGE_THRESHOLD=1024 ; If AppMgr's communication thread is held long past the length ; of the expected timeout for a connectivity check, AppMgr assumes ; that a firewall has frozen the thread waiting for approval to allow ; the connection. How should AppMgr notifiy the user in this situation? ; NEVER = Do not notify the user ; SESSION_ONCE = Only notify the user one time during the AppMgr's lifetime ; SYSTEM_ONCE = Only notify the user one time ever ; ALWAYS = Always notify the user FIREWALL_NOTIFICATION = SESSION_ONCE ; --- VIRTUAL INSTALLATION OPTIONS --- ; List of executables that treat their arguments as ; one filename to concatenate together, or executables ; that do not support quotes around their arguments. VINSTALL_DONT_QUOTE_ME = msohtmed.exe ; List of wildcards that the client will not treat as ; streamable installable files. Instead, all content will ; be delivered before the installation completes. ; Note that the system32 directory is already implicitly ; included in this list and can only be disabled at a ; package level. EXTERNAL_STREAMED_FILES_EXCLUSIONS = $commonprogramfilesdir$\System\*;$commonprogramfilesdir$\InstallShield\*;$commonprogramfilesdir$\ODBC\* ; Allow packages to declare dependencies. If turned on, ; a user must be provisioned for all of the required package ; dependencies or the installing package will fail to ; install. PROCESS_SERVER_PACKAGE_DEPENDENCIES=true ; When the layer is streamed, should the (installation) dependency ; information received from the server overwrite the (activation) ; dependency information in the package? ADD_DEPENDENCIES_TO_LAYER_PROPERTIES=true ; --- RECOVERY OPTIONS --- ; If RECOVERY_KEEP_DIRTY_CACHE is set to true, AppMgr ; will not delete applications from the cache that were ; marked as in use when it performs recovery from a ; previous abnormal termination. RECOVERY_KEEP_DIRTY_CACHE = true ; If RECOVERY_KEEP_OFFLINE_CACHE is set to true, AppMgr ; will not delete applications from the cache that were ; marked as ready for offline and all blocks for the ; package have been delivered, even if the application ; was in use during a previous abnormal termination. RECOVERY_KEEP_OFFLINE_CACHE = true ; If RECOVERY_SKIP_SET_CRASHCONTROL is set to true, ; AppMgr will not change the system recovery parameters. RECOVERY_SKIP_SET_CRASHCONTROL = true ; This value can be set to "DISABLED", "COMPLETE", ; "KERNEL", or "SMALL" (without the quotes). If the ; value is set to anything else or doesn't exist, ; "KERNEL" will be assumed. This is the system ; dump level configuration. RECOVERY_CRASHCONTROL_DUMPLEVEL = KERNEL ; --- MISCELLANEOUS DEFINITIONS --- ; Should AppMgr actively watch the profiles subdirectories ; (i.e. "C:\Documents And Settings" or "C:\WINNT\Profiles") ; for new shortcuts. If this is enabled AppMgr will read ; a shortcut any time it is written and determine if it ; needs to be added to the list of shortcuts to remove when ; a package is removed. If this is disabled, shortcuts ; are only scanned after an (MSI) application is installed ; and the shortcut was modified after the install started. USE_SHORTCUT_WATCHER=false ; The amount of time in milliseconds that AppMgr should ; delay before closing a Session. Useful if you want to ; let some external Application have a chance to properly ; clean up handles inside the cache if it knows that the ; Session processes have closed. ;DELAY_SESSION_CLOSE = 0 ; List of file extensions that when specified as a target ; to open via shortcut should use the short file name. ; Extensions should include the dot (.) and are separated ; by semi-colons (comparison is case-insensitive). EXTENSIONS_OPEN_WITH_SHORT_FILE_NAME=.cpl ; In earlier versions, the AppStream client did not add quotes ; to any parameters supplied to execution scripts. This ; can cause issues with existing packages that do not expect ; the AppStreamCache to be in a path with spaces. The quoting ; of the script parameters can be controlled using the following ; configuration setting. ALWAYS = always quote the $scriptresult$ ; parameter. NEVER = never add quotes. IF_SPACES = add quotes ; only if there are spaces in the path in the $scriptresult$. ; Note this also applies to the script executable path. SCRIPT_QUOTING = IF_SPACES ; Should the client notify the server about implicit training? NOTIFY_IMPLICIT_TRAINING_STOP = true ; --- CLIENT-SIDE TIMEOUTS --- ; Number of keep alive messages that can be missed before ; AppMgr suspends all sessions from a server. NUM_KEEPALIVE_INTERVALS = 3 ; How long in milliseconds AppMgr will wait for progress ; during the preload stage (initial block) before timing ; out. A 4 kilobyte block must be sent within this ; timeout. PRELOAD_CHECK_INTERVAL_MSEC = 60000 ; The amount of time in milliseconds between checks if at ; least one 4K block was sent by server. INSTALLED_FILES_CHECK_INTERVAL_MSEC = 60000 ; The number of retries in case there are ; missing blocks of installed files INSTALLED_FILES_MAX_RETRIES = 3 ; How long after determining a server's status that the status ; is assumed to be valid (preventing many connectivity checks ; in a short duration). CONNECTIVITY_CHECK_INTERVAL = 30 ; --- GUI OPTIONS --- ; GUI mode - how should the GUI present itself when launching ; sessions. ; This value can be set to "NORMAL", "MESSAGES_ONLY", or "NONE" ; (without the quotes). If the value is set to anything else ; or doesn't exist, "NORMAL" will be assumed. GUI_DISPLAY_ON_LAUNCH = NORMAL ; Should the tray icon be displayed? GUI_DISPLAY_TRAY_ICON=true ; How should the progress bar be displayed during a virtual ; installation session? The following values are allowed: ; 0 - the progress bar will appear normally (default) ; 1 - the progress bar will start minimized ; 2 - no progress bar will be displayed PB_DISPLAY_ON_INSTALL = 0 ; How should the progress bar be displayed during the launch ; of an already installed package? The following values are ; allowed: ; 0 - the progress bar will appear normally ; 1 - the progress bar will start minimized ; 2 - no progress bar will be displayed (default) PB_DISPLAY_ON_LAUNCH = 2 ; Should we combine all progress bars into one dialog? PB_USE_SINGLE_PROGRESS_DIALOG = true ; How many seconds we are going to wait until not trying focusing ; And assuming that the window of session is open (default 45) SESSION_WINDOW_TIMEOUT=45 ; Are we going to close the download dialog ; In case that the session is running for longer than the timeout ; and we didn't discover window yet. ; 0 if not to close existing download dialog (default) ; 1 is to close this download dialog PB_CLOSE_ON_TIMEOUT=1 ; Should AppMgr progress bars appear on top of other windows. ; The default is to make the progress bar dialog stay on top ; of other windows. Uncomment this to stop that behavior. ;TOP_MOST_DIALOG = 0 ; Maybe you do like the progress bars, but don't want them ; blocking out everything? Make them partially transparent... GUI_DISPLAY_TRANSPARENCY_CONTROLS = false ; Should AppMgr minimize the windows of applications that ; are suspended (due to disconnection from the server). ; It is recommended that this value be set to 0 for ; Windows XP. MINIMIZE_ON_SUSPEND = 1 ; The amount of time (in seconds) after which the GUI will ; close itself when there are no more sessions running. If ; this is 0 (or negative) the GUI will never close unless ; directed to by the user. If the GUI is opened from the ; Start Menu and there are no sessions running and the gap ; is greater than zero, the GUI will not shutdown until at ; least one Session has been seen. GUI_GOODBYE_GRACE_GAP = 0 ; Should the GUI be configured to run at startup if the user ; has streamed packages? If this is set to RUN, then an entry ; will be added to the user's Run key to start the GUI. ; If this is set to anything else, an entry will not be added. ; If this value is missing, then RUN is assumed. GUI_START_AT_LOGIN = RUN ; 0 for not displaying the Remove button ; The default is 1 to display SHOW_REMOVE_BUTTON = 1 ; 1 for displaying the Remove All button ; The default is 0 to hide the Remove All button SHOW_REMOVE_ALL_BUTTON = 0 ; Notify the user when an application is ready for offline usage, ; default value is true NOTIFY_USER_ON_PACKAGE_OFFLINE_READY = true ; If a package cannot be upgraded immediately, prompt the user ; to reboot the system. SYNCPKG_REQUEST_REBOOT = false ; Allow the user to cancel or revert a package synchronization ; request. Allowing cancellation will allow the user to delay ; the upgrade to a later point in time, but the application can ; not be used until the synchronization is complete. Allowing ; restoration will allow the user to re-enable the package for ; immediate use, but this assumes the server will grant access ; to the old version again. SYNCPKG_ALLOW_RESTORATION = false SYNCPKG_ALLOW_CANCELLATION = true ; --- OFFLINE --- ; When this flag is true, the GUI will start anytime an ; offline session is started LAUNCH_GUI_ON_OFFLINE_SESSION = true ; the interval for sending the offline reports to the ; server. OFFLINE_REPORTS_SEND_INTERVAL_SEC = 43200 ; --- SHARING --- ; The amount of time (in seconds) AppMgr will wait for the ; authentication of an instant session to complete before ; terminating the process. INSTANT_AUTH_TIMEOUT = 45 ; The amount of time (in seconds) AppMgr will wait for the ; reauthentication of a session the server wanted to terminate ; before falling back to the termination behavior. REAUTH_WAIT_TIMEOUT = 45 ; Would the user like to know they just failed to ; authenticate an instant session and AppMgr was forced to ; terminate a process? INSTANT_NOTIFY_FAILED_AUTH = false ; How often (in seconds) should AppMgr query the file system ; for the existence of open file handles. When AppMgr finds ; zero open file handles, the data session is closed. ; Default is set to 5 minutes. CHECK_FOR_DATA_SESSION_CLOSE_INTERVAL = 300 ; How should AppMgr notify the user on data session errors? ; Valid values are (SILENT is the default if this value is ; missing or invalid): ; SILENT - AppMgr will never notify the user ; ALWAYS - AppMgr will always notify the user ; ONCE - AppMgr will notify the user the first time a ; specific error occurs per package ; PERIODIC - AppMgr will notify the user only one time ; during any given X second period about a specific ; error per package. (See next config value) DATA_SESSION_ERROR_NOTIFICATION = SILENT ; How long should AppMgr suppress the same data session error ; for a particular package? This is only used if ; DATA_SESSION_ERROR_NOTIFICATION is configured to PERIODIC. DATA_SESSION_ERROR_SUPPRESSION_LENGTH = 60 ; Should AppMgr display notifications for data sessions when ; the client loses connection from or reconnects to the server? ; Any combination of the following values separated by ; semi-colons are allowed: ; DISCONNECT; SUSPEND; RECONNECT; RESUME; OFFLINE ; DISCONNECT and SUSPEND are the same notification, as are ; RECONNECT and RESUME DATA_SESSION_CONNECTIVITY_NOTIFICATIONS= ; Is authorization required for running upgrades? The advantage ; is that the offline blocks for the package will be gathered ; in the first session run after the upgrade. However the user ; will have to go through an extra authentication step. AUTHORIZE_UPGRADE_SESSIONS=true ; --- PROCESS TRACKING --- ; The list of executable names (not paths, case-insensitive) ; that AppMgr should automatically assume should be added ; to a streaming session even though the executable is ; outside of the AppStream cache. Executable names must ; be separated by semi-colons. For example, AppMgr assumes ; the following executable names should always be added to ; the streaming session if a process creates them: ; winhlp32.exe;winhelp.exe;hh.exe;msohelp.exe ; (Note: These processes will only be added to the session ; if they are created by a process that belongs to a ; streaming session, or if created by the RPCSS subsystem ; if TRACK_RPC_PROCESSES is true.) TRACK_PROCESSES_ALWAYS= ; The list of executable names (not paths, case-insensitive) ; that AppMgr should treat as long-lived processes. These ; processes will be added to the list of hooked processes ; for the Session, but will not prevent the Session from ; closing if they are running and no other non-long-lived ; processes are running for the Session. Background services ; started by streamed applications are a good candidate to put ; on this list. TRACK_LONG_LIVED_PROCESSES= ; Should AppMgr treat any process created by the RPCSS ; (the (D)COM subsystem) process and whose executable is ; inside the cache automatically as a long lived process? TREAT_RPC_PROCESSES_IN_CACHE_AS_LONG_LIVED=false ; Note: The see-through process and the no-access process lists are ; now being completely handled by drivers. ; These lists have been transfered to the registry and can be found at ; 'HKLM\System\CurrentControlSet\Services\AppStream\Parameters' ; This is the list of process names that AppMgr can search ; for when looking for the user's shell (or some other ; user process that will always be open while the user ; is using AppStream). AppMgr uses the token from this ; process to act on behalf of the user. Process names ; are separated by semi-colons. ; For Citrix wfshell.exe is the user shell in windowed mode SHELL_PROCESS_SEARCH_LIST=explorer.exe;userinit.exe;wfshell.exe ; --- LICENSE ENFORCEMENT --- ; Maximum interval (in seconds) between rechecking if any of ; the package licenses have expired. Note that licenses are ; rechecked after any pre-population request, so setting this ; larger than PrePopulation.RequestInterval (or the associated ; value on the server) will be treated as PrePopulation.RequestInterval LICENSE_ENFORCE_MONITOR_INTERVAL_SEC=300 ; Should the shortcuts of an expired package remain on the machine ; so that the package can be relaunched and reinstalled without ; visiting the launch page? RETAIN_EXPIRED_PACKAGE_SHORTCUTS = true ; Should the user be notified when a package expires? LICENSE_NOTIFY_ON_EXPIRY = true ; --- SERVER MANAGEMENT --- ; ; Should we block all streaming via IP Addresses (EVEN IF THE HOST WOULD BE ; ALLOWED VIA A WHITELIST ENTRY). This is a way to make sure all streaming ; is done via hostnames and not by IP. ServerManagement.BlockAllIPAccess = false ; Allowed Lookup configuration values: ; TRUSTED, INTRANET, INTERNET, RESTRICTED, UNTRUSTED, CONFIG, or ANY ; RESTRICTED and UNTRUSTED are the same. TRUSTED, INTRANET, INTERNET, ; RESTRICTED, and UNTRUSTED refer to the zones found in Internet Options ; for the MACHINE (not user-specific assigned zones). CONFIG refers to ; the .Hostname and/or .IPRanges configuration values. ANY allows ; any address to match. ; You can assign more than one zone to the lookup, so if you add ; ServerManagement.Whitelist.Lookup=TRUSTED;INTRANET;CONFIG ; then if the server is in the TRUSTED zone, or in the INTRANET zone, ; or matches the explicit configuration hostname or IPRange, then the ; server will be allowed to be contacted. ; You can specify ANY on the Blacklist, but it is a really bad idea. ; By default, the streaming client will contact any server it is pointed ; at. If you would like to restrict the client to only contact certain ; servers, you can configure the Whitelist. The default lookup option for ; the Whitelist is ANY. ;ServerManagement.Whitelist.Lookup = TRUSTED;CONFIG ;ServerManagement.Whitelist.Hostnames = *.example.com ;ServerManagement.Whitelist.IPRanges = 10.127.0.0-10.127.255.255 ; Servers that should not be contacted by this client can be added to the ; Blacklist. The Blacklist overrides the Whitelist, so if you want to ; only allow streaming from the domain example.com, you would add ; "*.example.com" in the Whitelist. But if you then want to prevent ; deployed clients from contacting the testing server, you would add ; "testing.example.com" in the Blacklist. ;ServerManagement.Blacklist.Lookup = RESTRICTED;CONFIG ;ServerManagement.Blacklist.Hostnames = testing.example.com ;ServerManagement.Blacklist.IPRanges = 10.127.250.0-10.127.255.255 ; --- PREPOPULATION --- ; ; IconEnable and PackagesEnabled control icons and package pre- ; population, same as in the Configuration tab of the GUI. ; FailedPkgDelay is the number of hours to delay attempting ; to pre-populate the same package after it failed to install. ; AtUserLogon specifies whether to check for pre-pop items from ; the server at Windows user logon. ; RequestInterval is the number of seconds between pre-pop data ; requests to the server. The server can override this value. PrePopulation.IconEnable = true PrePopulation.FileAssociationsEnable = true PrePopulation.PackagesEnabled = true PrePopulation.FailedPkgDelay = 24 PrePopulation.AtUserLogon = true PrePopulation.RequestInterval = 86400 PrePopulation.DisplayPkgControl = true ;--- SWV related settings SHOW_SWV_RESET=1 SHOW_SWV_ACTIVATE_DEACTIVATE=1 SHOW_SWV_AUTOSTART=1 SHOW_SWV_DEACTIVATE_WARNING=1 ;Slam.Enable=true ;Slam.DeactivateAtLogoff=true ;--- Browserless authentication settings BrowserlessAuthentication.Enable=true BrowserlessAuthentication.EnableUpgrade=true BrowserlessAuthentication.ForceInternetExplorer=false ;--- VDI - Network Apps Setings ;To enable VDI ENABLE_VDI=true ;Repo location. Default value is empty string VDI_PKG_REPO=\\10.x.x.x\stream ;stream in multiple threads. Default value is true VDI_MULTI_THREADED_STREAM=true ;File contains list of packages in an order in which packages to be installed. ;This is for handling package dependencies VDI_PKG_INSTALL_CONF_FILE=InstallOrder.txt ;File contains list of packages for doing prepop icon. Default value is empty VDI_PREPOP_ICON_CONF_FILE=PrepopIcon.txt ;Remove unprovisioned applications. This will remove only unprovisioned vdi applications VDI_REMOVE_UNPROVISIONED_APPLICATIONS=true ;VDI provision refresh interval in minutes. ;Default value is 240. Set the value to 0 for refresh to occur during logon alone. VDI_REFRESH_INTERVAL=5 ;Location where the vhd files have to be created VDI_RW_VHD_LOCATION=C:\dts\Vhd ;Size of the Vhd file in MB. Default value is 0 in which vhd will not be created and used VDI_RW_VHD_SIZE=100 ;To detach the vhd on user logoff. Default value is true. Setting false will not detach the vhd from the system on user logoff VDI_DETACH_VHD_ONLOGOFF=true ; --- END OF PRE-DEFINED CFG FILE