App Volumes agent runs batch scripts either when an application package or a Writable Volume is enabled. Applications are enabled during user login or computer startup. In App Volumes 4, scripts are application-centric.

If certain actions must be performed at appropriate stages of application enablement, administrators can add batch scripts.

Batch Scripts Supported in the Latest Version of App Volumes

App Volumes triggers these batch scripts at various events as described in the table. Batch scripts are run in the security context of SYSTEM account.

Attention: Running the following batch scripts might have an impact on the performance of end-user login experience. Users might experience some delay while logging into the computer (where the App Volumes Agent is installed) to access their applications.
Script Name Description
OnPreLoadApp.bat Called before an application is initialized for the first user session.
OnPostLoadApp.bat Called after an application is initialized for the first user session.
OnPreEnableApp.bat Called before an application is enabled for each user session.
OnPostEnableApp.bat Called after an application is enabled for each user session.
OnPreDisableApp.bat Called before an application is disabled for each user session.
OnPostDisableApp.bat Called after an application is disabled for each user session.
OnPreUnloadApp.bat Called before an application is uninitialized for the last user session.
OnPostUnloadApp.bat Called after an application is uninitialized for the last user session.

Scope of Batch Script Files

The following table shows the scope, location, and behavior of the batch scripts when present in the computer (where the App Volumes Agent is installed).

Scope Scope Location Behavior of batch script files in each scope
Global

%SVAgent%\Custom

%SVAgent%\Custom\system

%SVAgent%\Custom\provisioning

%SVAgent%\Custom\app

Batch scripts when present at any of these locations are run for every Application.
User Writable Volume \[Writable VolumeID GUID]\Config\Writable

Batch scripts when present at \Config\Writable are run for the assigned user.

Application Package \[AppID GUID]\Config\app Batch scripts when present at this location are run only for that particular Application.

Batch Scripts Timeout

Batch scripts run serially and a new script does not start until an existing script has run to completion. To prevent a script from blocking login or logout processes, you can specify a timeout.

Wait times are defined in seconds and can be specified by creating a corresponding registry value of type REG_DWORD, in the following registry key: HKLM\SYSTEM\CurrentControlSet\services\svservice\Parameters.