App-V Client Registry Values
The Microsoft Application Virtualization (App-V) client stores its configuration in the registry. You can gather some useful information about the client if you understand the format of data in the registry. You can also configure many client actions by changing registry entries. This article lists all the Application Virtualization (App-V) client registry keys and explains their uses.
Important
On a computer running a 64-bit operating system, the keys and values described in the following sections will be under HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\SoftGrid\4.5\Client
.
Configuration Key
The following sections provide information about the registry values associated with the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Client\Configuration
key.
ProductName
Type: String
Example data: Microsoft Application Virtualization Desktop Client
Don't modify.
Version
Type: String
Example data: 4.5.0.xxx
Don't modify.
Drivers
Type: String
Example data: Sftfs.sys
If this key value is present, it contains the name of the driver that caused a stop error the last time the core was starting. After you have fixed the stop error, you must delete this key value so that sftlist can start.
InstallPath
Type: String
Example data: Default=C:\Program Files\Microsoft Application Virtualization Client
The location where the client is installed. Don't modify.
LogFileName
Type: String
Example data: Default=CSIDL_COMMON_APPDATA\Microsoft\Application Virtualization Client\sftlog.txt
The path and name for the client log file.
Note
If you're running an earlier version than App-V 4.6, SP1 and you modify the log file name or location, you must restart the sftlist service for the change to take effect.
LogMinSeverity
Type: DWORD
Example data: Default=4, Informational
Value | Description |
---|---|
0x0 | None |
0x1 | Critical |
0x2 | Error |
0x3 | Warning |
0x4 | Information (Default) |
0x5 | Verbose |
The log level is configurable from the Application Virtualization (App-V) client console and from the command prompt. At a command prompt, the command sftlist.exe /verboselog
increases the log level to verbose.
LogRolloverCount
Type: DWORD
Example data: Default=4
Defines the number of backup copies of the log file that are kept when it's reset. The valid range is 0-9999. The default is 4. A value of 0 means no copies will be kept.
LogMaxSize
Type: DWORD
Example data: Default=256
Defines the maximum size in megabytes (MB) that the log file can grow before being reset. The default size is 256 MB. When this size is reached, a log reset will be forced on the next write attempt.
SystemEventLogLevel
Type: DWORD
Example data: Default=0x4 (App-V 4.5)
Indicates the logging level at which log messages are written to the NT event log. The value indicates a threshold of what's logged. That is, everything equal to or less than that value is logged. For example, a value of 0x3 (Warning) indicates that Warnings (0x3), Errors (0x2), and Critical Errors (0x1) are logged.
Value | Description |
---|---|
0x0 | None |
0x1 | Critical |
0x2 | Error |
0x3 | Warning |
0x4 | Information (Default) |
0x5 | Verbose |
AllowIndependentFileStreaming
Type: DWORD
Example data: Default=0
Indicates whether streaming from file will be enabled regardless of how the client has been configured with the APPLICATIONSOURCEROOT
parameter. If set to FALSE, the transport won't enable streaming from files even if the OSD HREF or the APPLICATIONSOURCEROOT
parameter contains a file path.
Value | Description |
---|---|
0x0 | False (default) |
0x1 | True |
ApplicationSourceRoot
Type: String
Example data:
rtsps://mainserver:322/prodapps
file://\uncserver\share\prodapps
file://\uncserver\share
Enables an administrator or electronic software distribution (ESD) system to ensure application loading is performed according to the topology management scheme. Use this key value to override the OSD CODEBASE for the HREF element (for example, the source location) for an application. Application Source Root supports URLs and Universal Naming Convention (UNC) path formats.
The correct format for the URL path is protocol://servername:[port][/path][/], where port and path are optional. If a port isn't specified, the default port for the protocol is used. Only the protocol://server:port portion of the OSD URL is replaced.
The correct format for the UNC path is \computername\sharefolder[folder][], where folder is optional. The computer name can be a fully qualified domain name (FQDN) or an IP address, and sharefolder can be a drive letter. Only the \computername\sharefolder or drive letter portion of the OSD path is replaced.
OSDSourceRoot
Type: String
Example data:
\computername\sharefolder\resource
\computername\content
C:\foldername
https://computername/productivity/
Specify a source location for OSD file retrieval for a sequenced application package during publication. Acceptable formats for the OSDSourceRoot include UNC paths and URLs.
IconSourceRoot
Type: String
\computername\sharefolder\resource
\computername\content
C:\foldername
https://computername/productivity/
Specify a source location for icon file retrieval for a sequenced application package during publication. Acceptable formats for the IconSourceRoot include UNC paths and URLs.
AutoLoadTriggers
Type: DWORD
Example data: 5
AutoLoad is a client runtime policy configuration parameter that enables the secondary feature block of a virtualized application to be streamed to the client automatically in the background. The AutoLoad triggers are flags to indicate events that initiate auto-loading of applications. AutoLoad implicitly uses background streaming to enable the application to be fully loaded into cache. The primary feature block is loaded first, and the remaining feature blocks are loaded in the background to enable foreground operations, such as user interaction with applications, to take place and provide optimal perceived performance.
Bit mask value | Name | Description |
---|---|---|
0 | Never | No bits are set (value is 0), no auto loading is performed, because there are no triggers set. |
1 | OnLaunch | Loading starts when a user starts an application. |
2 | OnRefresh | Loading starts when the application is published. This occurs whenever the package record is added or updated—for example, when a publishing refresh occurs. |
4 | OnLogin | Loading starts when a user logs in. |
5 | OnLaunch and OnLogin | Default. |
AutoLoadTarget
Type: DWORD
Example data: 1
Indicates what will be auto-loaded when any given AutoLoad triggers occur.
Bit mask value | Name | Description |
---|---|---|
0 | None | No auto-loading, regardless of what triggers may be set. |
1 | PreviouslyUsed (default) | If any AutoLoad trigger is enabled, load only the packages where at least one application in the package has been previously used—that is, started or precached. |
2 | All | If any AutoLoad trigger is enabled, all applications in the package (per package) or all packages (set for client) will be automatically loaded, whether or not they have ever been started. |
RequireAuthorizationIfCached
Type: DWORD
Example data: 1
Indicates that authorization is always required, whether or not an application is already in cache.
Possible values:
- 0=False: Always try to connect to the server. If a connection to the server can't be established, the client still allows the user to launch an application that has previously been loaded into cache.
- 1=True (default): Application always must be authorized at startup. For RTSP streamed applications, the user authorization token is sent to the server for authorization. For file-based applications, file ACLs control whether a user may access the application.
Restart the sftlist service for the change to take effect.
UserDataDirectory
Type: String
Example data: %APPDATA%
Location where the icon cache and user settings are stored.
GlobalDataDirectory
Type: String
Example data: C:\Users\Public\Documents
Directory to use for global App-V data, including caches for OSD files, icon files, shortcut information, and SystemGuard resources such as .ini files.
AllowCrashes
Type: DWORD
Example data: 0
Default=0: A value of 0 means that the client tries to catch internal program exceptions so that other user applications can recover and continue when a crash happens. A value of 1 means that the client allows the internal program exceptions to occur so that they can be captured in a debugger.
CoreInternalTimeout
Type: DWORD
Example data: 60
Time-out in seconds for internal IPC requests between core and front-end. Don't modify.
DefaultSuiteCombineTime
Type: DWORD
Example data: 10
This value is used to indicate how soon after being started that a program can shut down and not generate any error messages when another application in the same suite is running.
SerializedSuiteLaunchTimeout
Type: DWORD
Example value: 60000 (Default)
Defines how long in milliseconds the client waits as it tries to serialize program starts in the same suite. If the client times out, the program start continues but it will not be serialized.
ScriptTimeout
Type: DWORD
Example data: 300
Default time-out in seconds for scripts in OSD file if WAIT=TRUE. You can specify per-script time-outs with TIMEOUT instead of WAIT. A value of 0 means no wait, and 0xFFFFFFFF
means wait forever.
LaunchRecordLogPath
Type: String
If, under either HKLM or HKCU, this value contains a valid path to a log file, SFTTray will write to this log when programs start, shut down, fail to launch, and enter or exit disconnected mode.
LaunchRecordMask
Type: DWORD
Value | Decimal | Description |
---|---|---|
0x1A |
26 |
Log launch errors and disconnected mode entry and exit activity |
0x1F |
31 |
Logs everything |
0x0 |
0 |
Logs nothing |
Specifies which of the five events are logged (bitmask values):
Value | Description |
---|---|
1 |
Program starts |
2 |
Launch failure errors |
4 |
Shutdowns |
8 |
Entering disconnected mode |
16 |
Exiting disconnected mode to reconnect to a server |
Add any combination of those numbers to turn on the respective messages. If not in registry, defaults to 0x1F.
LaunchRecordWriteTimeout
Type: DWORD
Example data: Default=3000
Specifies in milliseconds how long the tray waits when trying to write to the launch record log if another process is using it.
ImportSearchPath
Type: String
Example data: d:\files;C:\documents and settings\user1\SFTs
A semicolon delimited list of up to five directories to search for portable SFT files before prompting the user to select a directory. Trailing backslash in paths is optional. This value isn't present by default and must be set manually.
UserImportPath
Type: String
Example data: D:\SFTs\
Valid only under HKCU. The last location the user browsed to while finding a SFT file for package import. Set automatically if the SFT is found successfully. This is used on successive imports when trying to automatically locate SFT files.
Shared key
The HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Shared
key controls values that are shared across App-V components. The following table provides information about the registry values associated with the Shared key.
Name | Type | Data (Examples) | Description |
---|---|---|---|
DumpPath | String | Default=C:\ | Default path to create dump files when generating a minidump on an exception. This defaults to C:\ if not specified. The Client installer sets this key to the <App Virtualization global data directory>\Dumps . The Sequencer installer sets this key to the installation directory. |
DumpPathSizeLimit | DWORD | 1000 | Specifies the maximum total amount of disk space in megabytes that can be used to store minidumps. Default = 1000 MB. |
Network key
The HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Client\Network
key controls various network-related parameters. This key is primarily used by the network transport agent. The following table provides information about the registry values associated with the Network key.
Name | Type | Data (Examples) | Description |
---|---|---|---|
Online | DWORD | Default=1 | Enables or disables offline mode. If set to 0, the client won't communicate with App-V Management Servers or publishing servers. In disconnected operations, the client can start a loaded application even when it isn't connected to an App-V Management Server. In offline mode, the client doesn't attempt to connect to an App-V Management Server or publishing server. You must allow disconnected operations to be able to work offline. Default value is 1 enabled (online), and 0 is disabled (offline). |
AllowDisconnectedOperation | DWORD | Default=1 | Enables or disables disconnected operation. Default value is 1 enabled, and 0 is disabled. When disconnected operations are enabled, the App-V client can start a loaded application even when it isn't connected to an App-V Management Server. |
FastConnectTimeout | DWORD | Default=1000 | This value specifies the TCP connect time-out in milliseconds to determine when to go into disconnected operations mode. This value can be used to override the default ConnectTimeout of 20 seconds (App-V connect time-out for network transactions) or the system's TCP time-out of approximately 25 seconds. This brings the client into disconnected operations mode quickly. Applied on the next connect. |
LimitDisconnectedOperation | DWORD | Default=1 | Applicable only if AllowDisconnectedOperation is 1, enabled. This value determines whether there will be a time limit for how long the client will be allowed to operate in disconnected operations. 1=limited. 0=unlimited. |
DOTimeoutMinutes | DWORD | Default=129,600 | Indicates how many minutes an application may be used in disconnected operation mode. The valid values are 1-999,999 in days expressed in minutes (1-1,439,998,560 minutes). The default value is 90 days or 129,600 minutes. |
Protocol | DWORD | Default=8 | Default protocol to use (TCP vs SSL). Configure in Options Dialog. |
ReadTimeout | DWORD | 20 | Read time-out for network transactions, in seconds. Don't modify. |
WriteTimeout | DWORD | 20 | Write time-out for network transactions, in seconds. Don't modify. |
ConnectTimeout | DWORD | 20 | Connect time-out for network transactions, in seconds. Don't modify. |
ReestablishmentRetries | DWORD | 3 | The number of times to try to reestablish a dropped session. |
ReestablishmentInterval | DWORD | 15 | The number of seconds to wait between tries to reestablish a dropped session. |
HTTP key
The HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Client\Network\Http
key controls the parameters that are related to HTTP streaming. This key is used primarily by the network transport agent.
LaunchIfNotFound
Type: DWORD
Example data: Default=0
Controls the behavior of HTTP streaming when a connection to the HTTP server can be established and the package file no longer exists on the HTTP server. If the value doesn't exist or if it's not set to 1, the App-V client doesn't let you launch an application that has previously been loaded into cache.
If this value is set to 1, the App-V client lets you launch an application that has previously been loaded into cache.
File system key
The values under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Client\AppFS
key control the file system parameters for App-V. The following table provides information about the registry values associated with the AppFS key.
Name | Type | Data (Examples) | Description |
---|---|---|---|
FileSize | DWORD | 4096 | Maximum size in megabytes of file system cache file. If you change this value in the registry, you must set State to 0 and reboot. |
FileName | String | C:\Users\Public\Documents\SoftGrid Client\sftfs.fsd | Location of file system cache file. If you change this value in the registry, you must either leave FileSize the same and reboot or set State to 0 and reboot. |
DriveLetter | String | Q: | Drive where App-V file system is mounted, if it's available. This value is set either by the listener or the installer, and it's read by the file system. |
State | DWORD | 0x100 | State of file system. Set to 0 and reboot to completely clear the file system cache. |
FileSystemStorage | String | C:\Profiles\Joe\SG | Path for symlinks, set under HKCU. Don't modify (use data directory under Configuration to change). |
GlobalFileSystemStorage | String | C:\Users\Public\Documents\SoftGrid Client\AppFS Storage | Path for global file system data. Don't modify. |
MaxPercentToLockInCache | DWORD | Default=90 | Specifies the maximum percentage of the file system cache file that can be locked. Don't modify. |
UnloadLeastRecentlyUsed | DWORD | Default=1 | The file system cache space management feature uses a Least Recently Used (LRU) algorithm and is enabled by default. If the space that is required for a new package would exceed the available free space in the cache, the App-V Client uses this feature to determine which, if any, existing packages it can delete from the cache to make room for the new package. The client deletes the package with the oldest last-accessed date if it's older than the value specified in the MinPkgAge registry value. Values are 0 (disabled) and 1 (default, enabled). |
MinPackageAge | DWORD | 1 | To determine when the package can be selected for discard, set this registry value to equal the minimum number of days you want to elapse since the package was last accessed. Packages that have been used more recently aren't discarded. |
Permissions key
To help to prevent users from making mistakes, you can use the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Client\Permissions
key to control access to some actions for non-administrative users—for example, to prevent users from accidentally unloading programs. Users with administrative rights can give themselves any of these permissions. On shared systems, such as a Remote Desktop Session Host (RD Session Host) server (formerly Terminal Server) system, be careful when granting more permissions to users because some of these permissions would enable users to control the applications used by all users on the system. Possible values for these settings are 1 (allow) and 0 (disallow).
The Permissions key settings control all interfaces that enable the named actions. This includes the Options Dialog, SFTTray, and SFTMime. These settings don't affect administrators. The following sections provide information about the registry values associated with the Permissions key.
ChangeFSDrive
Type: DWORD
Example data: Default=0
A value of 1 allows users to pick a different drive letter to be used as the file system drive.
ChangeCacheSize
Type: DWORD
Example data: Default=0
A value of 1 allows users to change the cache size.
ChangeLogSettings
Type: DWORD
Example data: Default=0
A value of 1 allows users to modify the log level, change its location, and reset it through the user interface.
AddApp
Type: DWORD
Example data: Default=0
A value of 1 allows users to add applications explicitly. This doesn't affect applications that are added through publishing refresh nor does it prevent users from starting (and thereby implicitly adding) applications that haven't already been added. Values are 0 or 1.
LoadApp
Type: DWORD
0: Doesn't allow a user to load an application. This is the default for RD Session Hosts. If you're a mobile user, you might want to fully load your applications in the cache to use them during disconnected operation or offline mode. To stream applications from the App-V Management Server or the App-V Streaming Server, you must be connected to a server to load applications.
1: Allows a user to load an application. This is the default for Windows desktops.
UnloadApp
Type: DWORD
0: Doesn't allow a user to unload an application. When you load or unload a package, all the applications in the package are loaded into or removed from cache.
1: Allows a user to unload an application.
LockApp
Type: DWORD
0: Doesn't allow a user to lock and unlock an application. This is the default for RD Session Hosts. A locked application can't be removed from the cache to make room for new applications. To remove a locked application from the App-V Desktop or Client for Remote Desktop Services (formerly Terminal Services) cache, you must unlock it.
1: Allows a user to lock and unlock an application. This is the default for Windows Desktops.
ManageTypes
Type: DWORD
0: Doesn't allow a user to add, edit, or remove file type associations for that User alone. This is the default for RD Session Hosts.
1: Allows a user to add, edit, and remove file type associations for that user only and not globally. This is the default for Windows Desktops.
RefreshServer
Type: DWORD
0: Doesn't allow a user to trigger a refresh of MIME settings. This is the default for RD Session Hosts.
1: Enables a user to trigger a refresh of MIME settings. This is the default for Windows Desktops.
UpdateOSDFile
Type: DWORD
Example data: Default= 0
A value of 1 enables a user to use a modified OSD file.
ImportApp
Type: DWORD
0: Doesn't allow a user to import applications into cache. The difference between Load and Import is that when a Load is triggered, the client gets the package from the currently configured location contained in the OSD, ASR, or Override URL. When using Import, a location to get the package from must be specified.
1: Allows a user to import applications into cache.
ChangeRefreshSettings
Type: DWORD
Example data: Default=0
A value of 1 allows users to modify the refresh settings for servers (refresh on sign-in and periodic refresh). This doesn't imply that the user can modify other server settings (path, host, and so on).
ManageServers
Type: DWORD
Example data: Default=0
A value of 1 allows the user to add, edit, and remove servers, except for editing the refresh settings, which is controlled by the ChangeRefreshSettings permission.
PublishShortcut
Type: DWORD
Example data: Default=0
A value of 1 allows users to publish shortcuts through the user interface. This doesn't affect shortcuts that are published during a publishing refresh.
ViewAllApplications
Type: DWORD
Example data: Default=0
A value of 1 displays all applications through the user interface; otherwise, only the user's applications are displayed.
RepairApp
Type: DWORD
Example data: Default=1
A value of 1 allows the user to use the Repair action on applications in SFTMime or the Client Management Console. When you repair an application, you remove any custom user settings and restore the default settings. This action doesn't change or delete shortcuts or file type associations, and it doesn't remove the application from cache.
ClearApp
Type: DWORD
Example data: Default=1
A value of 1 allows the user to use the Clear action on applications in SFTMime or the Client Management Console. When you clear an application from the console, you can no longer use that application. However, the application remains in cache and is still available to other users on the same system. After a publishing refresh, the cleared applications will again become available to you.
DeleteApp
Type: DWORD
Example data: Default=0
A value of 1 allows the user to use the Delete action on applications in SFTMime or the Client Management Console. When you delete an application, the selected application will no longer be available to any users on that client. Shortcuts and file type associations are deleted and the application is deleted from cache. However, if another application refers to data in the file system cache or settings data for the selected application, these items won't be deleted.
After a publishing refresh, the deleted applications will again become available to you.
ToggleOfflineMode
Type: DWORD
A value of 1 allows the users to select to run the client in Offline Mode. In Offline Mode, the Application Virtualization client can start a loaded application even when it isn't connected to an Application Virtualization Server.
Custom settings key
The HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Client\CustomSettings
key contains values specific to front-end components. All custom settings are stored as strings. The following table provides information about the registry values associated with the CustomSettings key.
Name | Type | Data (Examples) | Description |
---|---|---|---|
TrayErrorDelay | DWORD | Default=30 | Time in seconds that the Application Virtualization notification area displays error messages like "Launch failed". Minimum value of 1. |
TraySuccessDelay | DWORD | Default=10 | Time in seconds that the appvmed notification area displays success messages like "Word launched" or "Excel shut down". If 0, those messages are suppressed. |
TrayVisibility | DWORD | Default=0 | 0=Show Tray when virtualized applications are in use. 1=Show Tray always. 2=Never show Tray. |
TrayShowRefresh | DWORD | When present and set to a value of 1, allows menu item Refresh Applications to be displayed on the Tray menu and is accessible by the user. | |
TrayShowLoad | DWORD | When present and set to a value of 1, allows menu item Load Applications to be displayed on the Tray menu and is accessible by the user. |
Reporting settings key
The HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Client\Reporting
key contains values specific to reporting to an App-V Management Server. The following table provides information about the registry values associated with the Reporting key.
Name | Type | Data (Examples) | Description |
---|---|---|---|
DataCacheLimit | DWORD | Default=20 | This value specifies the maximum size in megabytes (MB) of the XML cache for storing reporting information. The size applies to the cache in memory. When the limit is reached, the log file rolls over. When a new record is added (bottom of the list), one or more of the oldest records (top of the list) will be deleted to make room. A warning will be logged to the Client log and the event log the first time this occurs, and it will not be logged again until after the cache has been successfully cleared on transmission and the log has filled up again. |
DataBlockSize | DWORD | Default=65536 | This value specifies the maximum size in bytes to transmit to the server at once on publishing refresh, to avoid permanent transmission failures when the log has reached a significant size. The default value is 65536. When transmitting report data to the server, one block of application records—less than or equal to the block size in bytes of XML data—will be removed from the cache and sent to the server. Each block has the general Client data and global package list data prepended, and these won't factor into the block size calculations; the potential exists for an large package list to result in transmission failures over low bandwidth or unreliable connections. |