mirror of
https://github.com/MicrosoftDocs/windows-itpro-docs.git
synced 2025-05-13 05:47:23 +00:00
refresh content
This commit is contained in:
parent
4b486fbbda
commit
28cb7bb594
@ -1,54 +1,38 @@
|
||||
---
|
||||
title: About App-V 5.1 dynamic configuration
|
||||
description: You can use the dynamic configuration to customize an App-V 5.1 package for a user. Use the following information to create or edit an existing dynamic configuration file.
|
||||
author: jamiejdt
|
||||
ms.assetid: 35bc9908-d502-4a9c-873f-8ee17b6d9d74
|
||||
ms.pagetype: mdop, appcompat, virtualization
|
||||
ms.mktglfcycl: deploy
|
||||
ms.sitesec: library
|
||||
ms.prod: w10
|
||||
ms.date: 08/28/2018
|
||||
ms.author: pashort
|
||||
---
|
||||
|
||||
About App-V 5.1 dynamic configuration
|
||||
=====================================
|
||||
# About App-V 5.1 dynamic configuration
|
||||
|
||||
You can use the dynamic configuration to customize an App-V 5.1 package for a
|
||||
user. Use the following information to create or edit an existing dynamic
|
||||
configuration file.
|
||||
You can use the dynamic configuration to customize an App-V 5.1 package for a user. Use the following information to create or edit an existing dynamic configuration file.
|
||||
|
||||
When you edit the dynamic configuration file, it customizes how an App-V 5.1
|
||||
package runs for a user or group. This helps to provide a more convenient method
|
||||
for package customization by removing the need to re-sequence packages using the
|
||||
desired settings and provides a way to keep package content and custom settings
|
||||
independent.
|
||||
When you edit the dynamic configuration file, it customizes how an App-V 5.1 package runs for a user or group. This helps to provide a more convenient method for package customization by removing the need to re-sequence packages using the desired settings and provides a way to keep package content and custom settings independent.
|
||||
|
||||
Advanced: Dynamic Configuration
|
||||
-------------------------------
|
||||
## Advanced: dynamic configuration
|
||||
|
||||
Virtual application packages contain a manifest that provides all the core
|
||||
information for the package. This information includes the defaults for the
|
||||
package settings and determines settings in the most basic form (with no
|
||||
additional customization). If you want to adjust these defaults for a particular
|
||||
user or group, you can create and edit the following files:
|
||||
Virtual application packages contain a manifest that provides all the core information for the package. This information includes the defaults for the package settings and determines settings in the most basic form (with no additional customization). If you want to adjust these defaults for a particular user or group, you can create and edit the following files:
|
||||
|
||||
- User Configuration file
|
||||
- [User Configuration file](#dynamic-user-configuration-file)
|
||||
|
||||
- Deployment configuration file
|
||||
|
||||
The previous .xml files specify package settings and allow for packages to be
|
||||
customized without directly affecting the packages. When a package is created,
|
||||
the sequencer automatically generates default deployment and user configuration
|
||||
.xml files using the package manifest data. Therefore, these automatically
|
||||
generated configuration files simply reflect the default settings that the
|
||||
package innately as from how things were configured during sequencing. If you
|
||||
apply these configuration files to a package in the form generated by the
|
||||
sequencer, the packages will have the same default settings that came from their
|
||||
manifest. This provides you with a package-specific template to get started if
|
||||
any of the defaults must be changed.
|
||||
The previous .xml files specify package settings and allow for packages to be customized without directly affecting the packages. When a package is created, the sequencer automatically generates default deployment and user configuration .xml files using the package manifest data. Therefore, these automatically generated configuration files simply reflect the default settings that the package innately as from how things were configured during sequencing. If you apply these configuration files to a package in the form generated by the sequencer, the packages will have the same default settings that came from their manifest. This provides you with a package-specific template to get started if any of the defaults must be changed.
|
||||
|
||||
> [!NOTE] The following information can only be used to modify sequencer
|
||||
> generated configuration files to customize packages to meet specific user or
|
||||
> group requirements.
|
||||
>[!NOTE]
|
||||
>The following information can only be used to modify sequencer generated configuration files to customize packages to meet specific user or group requirements.
|
||||
|
||||
### Dynamic Configuration file contents
|
||||
### Dynamic configuration file contents
|
||||
|
||||
All of the additions, deletions, and updates in the configuration files need to
|
||||
be made in relation to the default values specified by the package's manifest
|
||||
information:
|
||||
All of the additions, deletions, and updates in the configuration files need to be made in relation to the default values specified by the package's manifest information:
|
||||
|
||||
- User Configuration .xml file
|
||||
|
||||
@ -56,78 +40,53 @@ information:
|
||||
|
||||
- Package Manifest
|
||||
|
||||
The previous table represents how the files will be read. The first entry
|
||||
represents what will be read last, therefore, its content takes precedence.
|
||||
Therefore, all packages inherently contain and provide default settings from the
|
||||
package manifest. If a deployment configuration .xml file with customized
|
||||
settings is applied, it will override the package manifest defaults. If a user
|
||||
configuration .xml file with customized settings is applied prior to that, it
|
||||
will override both the deployment configuration and the package manifest
|
||||
defaults.
|
||||
The previous table represents how the files will be read. The first entry represents what will be read last, therefore, its content takes precedence. Therefore, all packages inherently contain and provide default settings from the package manifest. If a deployment configuration .xml file with customized settings is applied, it will override the package manifest defaults. If a user configuration .xml file with customized settings is applied prior to that, it will override both the deployment configuration and the package manifest defaults.
|
||||
|
||||
The following list displays more information about the two file types:
|
||||
|
||||
- **User Configuration File (UserConfig)** – Allows you to specify or modify
|
||||
custom settings for a package. These settings will be applied for a specific
|
||||
user when the package is deployed to a computer running the App-V 5.1
|
||||
client.
|
||||
- **User Configuration File (UserConfig)** – Allows you to specify or modify custom settings for a package. These settings will be applied for a specific user when the package is deployed to a computer running the App-V 5.1 client.
|
||||
|
||||
- **Deployment Configuration File (DeploymentConfig)** – Allows you to specify
|
||||
or modify the default settings for a package. These settings will be applied
|
||||
for all users when a package is deployed to a computer running the App-V 5.1
|
||||
client.
|
||||
- **Deployment Configuration File (DeploymentConfig)** – Allows you to specify or modify the default settings for a package. These settings will be applied for all users when a package is deployed to a computer running the App-V 5.1 client.
|
||||
|
||||
To customize the settings for a package for a specific set of users on a
|
||||
computer or to make changes that will be applied to local user locations such as
|
||||
HKCU, the UserConfig file should be used. To modify the default settings of a
|
||||
package for all users on a machine or to make changes that will be applied to
|
||||
global locations such as HKEY_LOCAL_MACHINE and the all users folder, the
|
||||
To customize the settings for a package for a specific set of users on a computer or to make changes that will be applied to local user locations such as HKCU, the UserConfig file should be used. To modify the default settings of a package for all users on a machine or to make changes that will be applied to global locations such as HKEY_LOCAL_MACHINE and the all users folder, the
|
||||
DeploymentConfig file should be used.
|
||||
|
||||
The UserConfig file provides configuration settings that can be applied to a
|
||||
single user without affecting any other users on a client:
|
||||
The UserConfig file provides configuration settings that can be applied to a single user without affecting any other users on a client:
|
||||
|
||||
- Extensions that will be integrated into the native system per user:-
|
||||
shortcuts, File-Type associations, URL Protocols, AppPaths, Software Clients
|
||||
and COM
|
||||
- Extensions that will be integrated into the native system per user: shortcuts, file-type associations, URL protocols, AppPaths, software clients and COM
|
||||
|
||||
- Virtual Subsystems:- Application Objects, Environment variables, Registry
|
||||
modifications, Services and Fonts
|
||||
- Virtual subsystems: application objects, environment variables, registry modifications, services and fonts
|
||||
|
||||
- Scripts (User context only)
|
||||
- Scripts (user context only)
|
||||
|
||||
- Managing Authority (for controlling co-existence of package with App-V 4.6)
|
||||
- Managing authority (for controlling co-existence of package with App-V 4.6)
|
||||
|
||||
The DeploymentConfig file provides configuration settings in two sections, one
|
||||
relative to the machine context and one relative to the user context providing
|
||||
the same capabilities listed in the UserConfig list above:
|
||||
The DeploymentConfig file provides configuration settings in two sections, one relative to the machine context and one relative to the user context providing the same capabilities listed in the UserConfig list above:
|
||||
|
||||
- All UserConfig settings above
|
||||
|
||||
- Extensions that can only be applied globally for all users
|
||||
|
||||
- Virtual Subsystems that can be configured for global machine locations e.g.
|
||||
registry
|
||||
- Virtual Subsystems that can be configured for global machine locations e.g. registry
|
||||
|
||||
- Product Source URL
|
||||
- Product source URL
|
||||
|
||||
- Scripts (Machine context only)
|
||||
- Scripts (machine context only)
|
||||
|
||||
- Controls to Terminate Child Processes
|
||||
- Controls to terminate child processes
|
||||
|
||||
### File structure
|
||||
|
||||
The structure of the App-V 5.1 Dynamic Configuration file is explained in the
|
||||
following section.
|
||||
|
||||
### Dynamic User Configuration file
|
||||
### Dynamic user configuration file
|
||||
|
||||
**Header** - the header of a dynamic user configuration file is as follows:
|
||||
|
||||
\<?xml version="1.0" encoding="utf-8"?\>\<UserConfiguration
|
||||
**PackageId**="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved"
|
||||
xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration"\>
|
||||
|
||||
```
|
||||
<?xml version="1.0" encoding="utf-8"?><UserConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved"
|
||||
xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration">
|
||||
```
|
||||
The **PackageId** is the same value as exists in the Manifest file.
|
||||
|
||||
**Body** - the body of the Dynamic User Configuration file can include all the
|
||||
@ -141,44 +100,43 @@ allowed in the body:
|
||||
extensions for a given application within a package. The **Application ID**
|
||||
must exist in the Manifest file or it will be ignored.
|
||||
|
||||
- \<UserConfiguration **PackageId**="1f8488bf-2257-46b4-b27f-09c9dbaae707"
|
||||
DisplayName="Reserved"
|
||||
xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration"\>
|
||||
```
|
||||
<UserConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration">
|
||||
|
||||
\<Applications\>
|
||||
<Applications>
|
||||
|
||||
\<!-- No new application can be defined in policy. AppV Client will ignore
|
||||
any application ID that is not also in the Manifest file --\>
|
||||
<!--No new application can be defined in policy. AppV Client will ignore any application ID that is not also in the Manifest file-->
|
||||
|
||||
\<Application Id="{a56fa627-c35f-4a01-9e79-7d36aed8225a}" Enabled="false"\>
|
||||
<Application Id="{a56fa627-c35f-4a01-9e79-7d36aed8225a}" Enabled="false">
|
||||
|
||||
\</Application\>
|
||||
</Application>
|
||||
|
||||
\</Applications\>
|
||||
|
||||
…
|
||||
|
||||
\</UserConfiguration\>
|
||||
|
||||
1. **Subsystems** - AppExtensions and other subsystems are arranged as subnodes
|
||||
under the \<Subsystems\>:
|
||||
|
||||
- \<UserConfiguration **PackageId**="1f8488bf-2257-46b4-b27f-09c9dbaae707"
|
||||
DisplayName="Reserved"
|
||||
xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration"\>
|
||||
|
||||
\<Subsystems\>
|
||||
</Applications>
|
||||
|
||||
..
|
||||
|
||||
\</Subsystems\>
|
||||
</UserConfiguration>
|
||||
|
||||
```
|
||||
|
||||
1. **Subsystems** - AppExtensions and other subsystems are arranged as subnodes under the <Subsystems>:
|
||||
|
||||
```
|
||||
<UserConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration">
|
||||
|
||||
<Subsystems>
|
||||
|
||||
..
|
||||
|
||||
\</UserConfiguration\>
|
||||
</Subsystems>
|
||||
|
||||
Each subsystem can be enabled/disabled using the “**Enabled**” attribute.
|
||||
Below are the various subsystems and usage samples.
|
||||
..
|
||||
|
||||
</UserConfiguration>
|
||||
|
||||
```
|
||||
|
||||
Each subsystem can be enabled/disabled using the “**Enabled**” attribute. Below are the various subsystems and usage samples.
|
||||
|
||||
**Extensions:**
|
||||
|
||||
@ -198,17 +156,17 @@ allowed in the body:
|
||||
1. If the user defined this in either the dynamic or deployment config
|
||||
file:
|
||||
|
||||
- ```
|
||||
```
|
||||
|
||||
**\<Shortcuts Enabled="true"\>**
|
||||
<Shortcuts Enabled="true"\>
|
||||
|
||||
**\<Extensions\>**
|
||||
<Extensions>
|
||||
|
||||
...
|
||||
|
||||
**\</Extensions\>**
|
||||
</Extensions>
|
||||
|
||||
**\</Shortcuts\>**
|
||||
</Shortcuts>
|
||||
|
||||
```
|
||||
|
||||
@ -216,9 +174,9 @@ allowed in the body:
|
||||
|
||||
1. If the user defined only the following:
|
||||
|
||||
- ```
|
||||
```
|
||||
|
||||
**\<Shortcuts Enabled="true"/\>**
|
||||
<Shortcuts Enabled="true"/>
|
||||
|
||||
```
|
||||
|
||||
@ -226,15 +184,15 @@ allowed in the body:
|
||||
|
||||
1. If the user defines the following:
|
||||
|
||||
- ```
|
||||
```
|
||||
|
||||
**\<Shortcuts Enabled="true"\>**
|
||||
<Shortcuts Enabled="true">
|
||||
|
||||
**\<Extensions/\>**
|
||||
<Extensions/>
|
||||
|
||||
**\</Shortcuts\>**
|
||||
</Shortcuts>
|
||||
|
||||
**```**
|
||||
```
|
||||
|
||||
Then all the shortcuts within the manifest will still be ignored. There will
|
||||
be no shortcuts integrated.
|
||||
@ -244,149 +202,151 @@ allowed in the body:
|
||||
**Shortcuts:** This controls shortcuts that will be integrated into the
|
||||
local system. Below is a sample with 2 shortcuts:
|
||||
|
||||
**```**
|
||||
|
||||
\<Subsystems\>
|
||||
|
||||
\<Shortcuts Enabled="true"\>
|
||||
|
||||
\<Extensions\>
|
||||
|
||||
\<Extension Category="AppV.Shortcut"\>
|
||||
|
||||
\<Shortcut\>
|
||||
|
||||
\<File\>[{Common Programs}]\\Microsoft Contoso\\Microsoft ContosoApp
|
||||
Filler 2010.lnk\</File\>
|
||||
|
||||
\<Target\>[{PackageRoot}]\\Contoso\\ContosoApp.EXE\</Target\>
|
||||
|
||||
|
||||
\<Icon\>[{Windows}]\\Installer\\{90140000-0011-0000-0000-0000000FF1CE}\\inficon.exe\</Icon\>
|
||||
|
||||
\<Arguments /\>
|
||||
|
||||
\<WorkingDirectory /\>
|
||||
|
||||
\<AppUserModelId\>ContosoApp.Filler.3\</AppUserModelId\>
|
||||
|
||||
\<Description\>Fill out dynamic forms to gather and reuse
|
||||
information throughout the organization using Microsoft
|
||||
ContosoApp.\</Description\>
|
||||
|
||||
\<Hotkey\>0\</Hotkey\>
|
||||
|
||||
\<ShowCommand\>1\</ShowCommand\>
|
||||
|
||||
|
||||
\<ApplicationId\>[{PackageRoot}]\\Contoso\\ContosoApp.EXE\</ApplicationId\>
|
||||
|
||||
\</Shortcut\>
|
||||
|
||||
\</Extension\>
|
||||
|
||||
\<Extension Category="AppV.Shortcut"\>
|
||||
|
||||
\<Shortcut\>
|
||||
|
||||
|
||||
\<File\>[{AppData}]\\Microsoft\\Contoso\\Recent\\Templates.LNK\</File\>
|
||||
|
||||
\<Target\>[{AppData}]\\Microsoft\\Templates\</Target\>
|
||||
|
||||
\<Icon /\>
|
||||
|
||||
\<Arguments /\>
|
||||
|
||||
\<WorkingDirectory /\>
|
||||
|
||||
\<AppUserModelId /\>
|
||||
|
||||
\<Description /\>
|
||||
|
||||
\<Hotkey\>0\</Hotkey\>
|
||||
|
||||
\<ShowCommand\>1\</ShowCommand\>
|
||||
|
||||
\<!-- Note the ApplicationId is optional --\>
|
||||
|
||||
\</Shortcut\>
|
||||
|
||||
\</Extension\>
|
||||
|
||||
\</Extensions\>
|
||||
|
||||
\</Shortcuts\>
|
||||
|
||||
```
|
||||
|
||||
<Subsystems>
|
||||
|
||||
<Shortcuts Enabled="true">
|
||||
|
||||
<Extensions>
|
||||
|
||||
<Extension Category="AppV.Shortcut">
|
||||
|
||||
<Shortcut>
|
||||
|
||||
<File>[{Common Programs}]\Microsoft Contoso\Microsoft ContosoApp
|
||||
Filler 2010.lnk</File>
|
||||
|
||||
<Target>[{PackageRoot}]\Contoso\ContosoApp.EXE</Target>
|
||||
|
||||
|
||||
<Icon>[{Windows}]\Installer\{90140000-0011-0000-0000-0000000FF1CE}\inficon.exe</Icon>
|
||||
|
||||
<Arguments />
|
||||
|
||||
<WorkingDirectory />
|
||||
|
||||
<AppUserModelId>ContosoApp.Filler.3</AppUserModelId>
|
||||
|
||||
<Description>Fill out dynamic forms to gather and reuse information throughout the organization using Microsoft
|
||||
ContosoApp.</Description>
|
||||
|
||||
<Hotkey>0</Hotkey>
|
||||
|
||||
<ShowCommand>1</ShowCommand>
|
||||
|
||||
|
||||
<ApplicationId>[{PackageRoot}]\Contoso\ContosoApp.EXE</ApplicationId>
|
||||
|
||||
</Shortcut>
|
||||
|
||||
</Extension>
|
||||
|
||||
<Extension Category="AppV.Shortcut">
|
||||
|
||||
<Shortcut>
|
||||
|
||||
|
||||
<File>[{AppData}]\Microsoft\Contoso\Recent\Templates.LNK</File>
|
||||
|
||||
<Target>[{AppData}]\Microsoft\Templates</Target>
|
||||
|
||||
<Icon />
|
||||
|
||||
<Arguments />
|
||||
|
||||
<WorkingDirectory />
|
||||
|
||||
<AppUserModelId />
|
||||
|
||||
<Description />
|
||||
|
||||
<Hotkey>0</Hotkey>
|
||||
|
||||
<ShowCommand>1</ShowCommand>
|
||||
|
||||
<!-- Note the ApplicationId is optional -->
|
||||
|
||||
</Shortcut>
|
||||
|
||||
</Extension>
|
||||
|
||||
</Extensions>
|
||||
|
||||
</Shortcuts>
|
||||
|
||||
```
|
||||
|
||||
|
||||
**File-Type Associations:** Associates File-types with programs to open by
|
||||
default as well as setup the context menu. (MIME types can also be setup
|
||||
using this susbsystem). Sample File-type Association is below:
|
||||
|
||||
**```**
|
||||
|
||||
\<FileTypeAssociations Enabled="true"\>
|
||||
```
|
||||
|
||||
\<Extensions\>
|
||||
<FileTypeAssociations Enabled="true">
|
||||
|
||||
\<Extension Category="AppV.FileTypeAssociation"\>
|
||||
<Extensions>
|
||||
|
||||
\<FileTypeAssociation\>
|
||||
<Extension Category="AppV.FileTypeAssociation">
|
||||
|
||||
\<FileExtension MimeAssociation="true"\>
|
||||
<FileTypeAssociation>
|
||||
|
||||
\<Name\>.docm\</Name\>
|
||||
<FileExtension MimeAssociation="true">
|
||||
|
||||
\<ProgId\>contosowordpad.DocumentMacroEnabled.12\</ProgId\>
|
||||
<Name>.docm</Name>
|
||||
|
||||
\<PerceivedType\>document\</PerceivedType\>
|
||||
<ProgId>contosowordpad.DocumentMacroEnabled.12</ProgId>
|
||||
|
||||
<PerceivedType>document</PerceivedType>
|
||||
|
||||
|
||||
\<ContentType\>application/vnd.ms-contosowordpad.document.macroEnabled.12\</ContentType\>
|
||||
<ContentType>application/vnd.ms-contosowordpad.document.macroEnabled.12</ContentType>
|
||||
|
||||
\<OpenWithList\>
|
||||
<OpenWithList>
|
||||
|
||||
\<ApplicationName\>wincontosowordpad.exe\</ApplicationName\>
|
||||
<ApplicationName>wincontosowordpad.exe</ApplicationName>
|
||||
|
||||
\</OpenWithList\>
|
||||
</OpenWithList>
|
||||
|
||||
\<OpenWithProgIds\>
|
||||
<OpenWithProgIds>
|
||||
|
||||
\<ProgId\>contosowordpad.8\</ProgId\>
|
||||
<ProgId>contosowordpad.8</ProgId>
|
||||
|
||||
\</OpenWithProgIds\>
|
||||
</OpenWithProgIds>
|
||||
|
||||
\<ShellNew\>
|
||||
<ShellNew>
|
||||
|
||||
\<Command /\>
|
||||
<Command />
|
||||
|
||||
\<DataBinary /\>
|
||||
<DataBinary />
|
||||
|
||||
\<DataText /\>
|
||||
<DataText />
|
||||
|
||||
\<FileName /\>
|
||||
<FileName />
|
||||
|
||||
\<NullFile\>true\</NullFile\>
|
||||
<NullFile>true</NullFile>
|
||||
|
||||
\<ItemName /\>
|
||||
<ItemName />
|
||||
|
||||
\<IconPath /\>
|
||||
<IconPath />
|
||||
|
||||
\<MenuText /\>
|
||||
<MenuText />
|
||||
|
||||
\<Handler /\>
|
||||
<Handler />
|
||||
|
||||
\</ShellNew\>
|
||||
</ShellNew>
|
||||
|
||||
\</FileExtension\>
|
||||
</FileExtension>
|
||||
|
||||
\<ProgId\>
|
||||
<ProgId>
|
||||
|
||||
\<Name\>contosowordpad.DocumentMacroEnabled.12\</Name\>
|
||||
<Name>contosowordpad.DocumentMacroEnabled.12</Name>
|
||||
|
||||
|
||||
\<DefaultIcon\>[{Windows}]\\Installer\\{90140000-0011-0000-0000-0000000FF1CE}\\contosowordpadicon.exe,15\</DefaultIcon\>
|
||||
<DefaultIcon\>[{Windows}]\Installer\{90140000-0011-0000-0000-0000000FF1CE}\contosowordpadicon.exe,15</DefaultIcon>
|
||||
|
||||
<Description>Blah Blah Blah</Description>
|
||||
|
||||
@ -460,8 +420,9 @@ allowed in the body:
|
||||
|
||||
```
|
||||
|
||||
**URL Protocols**: This controls the URL Protocols that are integrated into
|
||||
the local registry of the client machine e.g. “mailto:”
|
||||
|
||||
**URL Protocols**: This controls the URL Protocols that are integrated into the local registry of the client machine e.g. “mailto:”
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user