diff --git a/mdop/appv-v5/about-app-v-51-dynamic-configuration.md b/mdop/appv-v5/about-app-v-51-dynamic-configuration.md index feefe6a497..68ad828674 100644 --- a/mdop/appv-v5/about-app-v-51-dynamic-configuration.md +++ b/mdop/appv-v5/about-app-v-51-dynamic-configuration.md @@ -598,42 +598,40 @@ Use ManagingAuthority when two versions of your package co-exist on the same mac ``` -## Deployment configuration file contents (DeploymentConfig.xml) +### Deployment configuration file (DeploymentConfig.xml) +The DeploymentConfig file provides configuration settings for machine context and user context, providing the same capabilities listed in the UserConfig file. The setting get applied when deploying the package to a computer running the App-V 5.1 client. -**Header** - The header of a Deployment Configuration file is as follows: +Use the DeploymentConfig file to specify or modify custom settings for a package: -``` +- All UserConfig settings +- Extensions that can only be applied globally for all users +- Virtual subsystems for global machine locations, for example, registry +- Product source URL +- Scripts (machine context only) +- Controls to terminate child processes - +#### Header +The header of a dynamic deployment configuration file looks like: + +```XML + ``` The **PackageId** is the same value as exists in the manifest file. -**Body** - The body of the deployment configuration file includes two sections: +#### Body -- User Configuration section –allows the same content as the User - Configuration file described in the previous section. When the package is - published to a user, any appextensions configuration settings in this - section will override corresponding settings in the Manifest within the - package unless a user configuration file is also provided. If a UserConfig - file is also provided, it will be used instead of the User settings in the - deployment configuration file. If the package is published globally, then - only the contents of the deployment configuration file will be used in - combination with the manifest. +The body of the dynamic deployment configuration file includes two sections: -- Machine Configuration section–contains information that can be configured - only for an entire machine, not for a specific user on the machine. For - example, HKEY_LOCAL_MACHINE registry keys in the VFS. +- **UserConfiguration:** allows the same content as the user configuration file described in the previous section. When publishing the package to a user, any appextensions configuration settings in this section override corresponding settings in the manifest within the package, unless you provide a user configuration file. If also providing a UserConfig file, it gets used instead of the User settings in the deployment configuration file. If publishing the package globally, then only the contents of the deployment configuration file get used in combination with the manifest. For more details, see the [User configuration file contents]() section. -``` +- **MachineConfiguration:** contains information that can be configured only for an entire machine, not for a specific user on the machine. For example, HKEY_LOCAL_MACHINE registry keys in the VFS. - +```XML + + @@ -655,227 +653,223 @@ xmlns="http://schemas.microsoft.com/appv/2010/deploymentconfiguration"> ``` -**User Configuration** - use the previous **Dynamic User Configuration file** -section for information on settings that are provided in the user configuration -section of the Deployment Configuration file. +#### UserConfiguration +Refer to [User configuration file contents]() for information on the settings provided for this section. -Machine Configuration - the Machine configuration section of the Deployment -Configuration File is used to configure information that can be set only for an -entire machine, not for a specific user on the computer. For example, -HKEY_LOCAL_MACHINE registry keys in the Virtual Registry. There are four -subsections allowed in under this element +#### MachineConfiguration -1. **Subsystems** - AppExtensions and other subsystems are arranged as subnodes - under \: +Use the MachineConfiguration section to configure information for an entire machine; not for a specific user on the computer. For example, HKEY_LOCAL_MACHINE registry keys in the virtual registry. There are four subsections allowed in under this element: -- ``` +1. **Subsystems** +2. **ProductSourceURLOptOut** +3. **MachineScripts** +4. **TerminateChildProcess** - +##### Subsystems -   +AppExtensions and other subsystems arranged as subnodes. -   … +```XML -   + - … + - + … - ``` + - The following section displays the various subsystems and usage samples. +… - **Extensions**: + - Some subsystems (Extension Subsystems) control Extensions which can only - apply to all users. The subsystem is application capabilities. Because this - can only apply to all users, the package must be published globally for this - type of extension to be integrated into the local system. The same rules for - controls and settings that apply to the Extensions in the User Configuration - also apply to those in the MachineConfiguration section. +``` - **Application Capabilities**: Used by default programs in windows operating - system Interface. Allows an application to register itself as capable of - opening certain file extensions, as a contender for the start menu internet - browser slot, as capable of opening certain windows MIME types.  This - extension also makes the virtual application visible in the Set Default - Programs UI.: +You can enable or disable each subsystem using the **Enabled** attribute. - ``` +**Extensions** - +Some subsystems (extension subsystems) control extensions. The subsystem is Application Capabilities that default programs use. For this type of extension, the package must be published globally for integration into the local system. The same rules for controls and settings that apply to the Extensions in the User Configuration also, apply to those in the MachineConfiguration section. -   +**Application Capabilities**: Used by default programs that allow an application to register itself as: -     +- Capable of opening certain file extensions +- A contender for the start menu internet browser slot +- Capable of opening certain windows MIME types -      +This extension also makes the virtual application visible in the Set default programs UI. -   -    [{PackageRoot}]\LitView\LitViewBrowser.exe +```XML -       + -       LitView Browser + -       SOFTWARE\LitView\Browser\Capabilities + -       + -     + + [{PackageRoot}]\LitView\LitViewBrowser.exe -      + -   -    @[{ProgramFilesX86}]\LitView\LitViewBrowser.exe,-12345 + LitView Browser -   -    @[{ProgramFilesX86}]\LitView\LitViewBrowser.exe,-12346 + SOFTWARE\LitView\Browser\Capabilities -      0 + -      Lit View E-Mail Client + -       + -        + + @[{ProgramFilesX86}]\LitView\LitViewBrowser.exe,-12345 -        + + @[{ProgramFilesX86}]\LitView\LitViewBrowser.exe,-12346 -        + 0 -       + Lit View E-Mail Client -       + -        + -        + -       + -      + -        + -       + -       + -    + -     + -   + - + - + - ``` + - **Other Settings**: + - In addition to Extensions, other subsystems can be edited: + - **Machine Wide Virtual Registry**: Used when you want to set a registry key - in the virtual registry within HKEY_Local_Machine. + - ``` + - +``` - +_**Supported extension subsystems:**_ -   +**Machine Wide Virtual Registry** extension subsystem sets a registry key in the virtual registry within HKEY_Local_Machine. -      +```XML -     + -   + -   + - + - + - ``` + - **Machine Wide Virtual Kernel Objects** + - ``` + - + - +``` -     +**Machine Wide Virtual Kernel Objects** -   +```XML - + - ``` + -1. **ProductSourceURLOptOut**: Indicates whether the URL for the package can be - modified globally through PackageSourceRoot (to support branch office - scenarios). Default is false and the setting change takes effect on the next - launch.   + -- ``` + - + -   ...  +``` -    +##### ProductSourceURLOptOut -   ... +Use ProductSourceURLOptOut to indicate that the URL for the package can be modified globally through _PackageSourceRoot_ (to support branch office scenarios). Changes take effect on the next launch. - +```XML - ``` + -1. **MachineScripts** – Package can be configured to execute scripts at time of - deployment, publishing or removal. Please reference a sample deployment - configuration file that is generated by the sequencer to see a sample - script. The Scripts section below provides more information on the various - triggers that can be used. + ... -2. **TerminateChildProcess**:- An application executable can be specified, - whose child processes will be terminated when the application exe process is - terminated. + -- ``` + ... - + -   ...    +``` -    +##### MachineScripts -      +The package can be configured to execute scripts at time of deployment, publishing or removal. To see a sample script, refer to the deployment configuration file generated by the sequencer. -      +The Scripts section below provides more information on the various triggers that can be used. -      +##### TerminateChildProcess -    +An application executable can be specified, whose child processes get terminated when the application exe process terminates. -   ... +```XML - + - ``` + ... -### Scripts + -The following table describes the various script events and the context under -which they can be run. + + + + + + + + + ... + + + +``` + + + +## Scripts + +The following table describes the various script events and the context under which they can be run. | Script Execution Time | Can be specified in Deployment Configuration | Can be specified in User Configuration | Can run in the Virtual Environment of the package | Can be run in the context of a specific application | Runs in system/user context: (Deployment Configuration, User Configuration) | |-----------------------------|----------------------------------------------|----------------------------------------|---------------------------------------------------|-----------------------------------------------------|-----------------------------------------------------------------------------|