From 40198e922dfe3fecb20ca2044dcc506956514710 Mon Sep 17 00:00:00 2001 From: Patti Short Date: Thu, 23 Aug 2018 07:43:18 -0700 Subject: [PATCH 01/13] experimenting with linked image --- .../application-management/apps-in-windows-10.md | 6 ++++-- .../media/icon_hyperlink.png | Bin 0 -> 3226 bytes .../client-management/mdm/policy-csp-browser.md | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 windows/application-management/media/icon_hyperlink.png diff --git a/windows/application-management/apps-in-windows-10.md b/windows/application-management/apps-in-windows-10.md index f29b02af29..5d67897ab7 100644 --- a/windows/application-management/apps-in-windows-10.md +++ b/windows/application-management/apps-in-windows-10.md @@ -171,7 +171,9 @@ Here are the typical provisioned Windows apps in Windows 10 versions 1703, 1709, | | Microsoft.XboxGameOverlay | x | x | x | No | | | Microsoft.XboxGamingOverlay | | | x | No | | | Microsoft.XboxIdentityProvider | x | x | x | No | -| | Microsoft.XboxSpeech ToTextOverlay | x | x | x | No | +| | Microsoft.XboxSpeech ToTextOverlay | x | x | x | No [![icon_hyperlink.png](media/icon_hyperlink.png)](ms-windows-store://pdp/?PFN=Microsoft.3DBuilder_8wekyb3d8bbwe) | >[!NOTE] ->The Store app can't be removed. If you want to remove and reinstall the Store app, you can only bring Store back by either restoring your system from a backup or resetting your system. Instead of removing the Store app, you should use group policies to hide or disable it. \ No newline at end of file +>The Store app can't be removed. If you want to remove and reinstall the Store app, you can only bring Store back by either restoring your system from a backup or resetting your system. Instead of removing the Store app, you should use group policies to hide or disable it. + + diff --git a/windows/application-management/media/icon_hyperlink.png b/windows/application-management/media/icon_hyperlink.png new file mode 100644 index 0000000000000000000000000000000000000000..0732c5b0e4c4edbd173f1dd61ed9e4bc2175b260 GIT binary patch literal 3226 zcmc&%dsq`!77wooR1DSnD5xC=i&&Xt@=m5k9w87YQ65q8xlU##B$8xeCK{l&5Vg1< zwxLx71j%Z_ZCxTo#Yd&0EsDiwwOg&CQC91#6qZ_Sh1v-sYxlF=e*I_jeRJo|y}x_T z@0|0y_kJl%nVAq27!t@}FoF`5acT4$pdZkmNw+f^EqM$A>^bkITThLKUns z%L$!cnQI}^b7!it+$>CrgHbbp>DdTvz(`n8Alqm#QAoB79I%Vfea|ol1O_11EEyQ% zaR_9nQUEz=Apjv;1YukO4-iY)ToEkg2_gX=%oTHBF^9{CU@iiS5WW-`{DHJL3$8`d z;^GH=(O)u9XSJFU4##G*v2A=dY02bprBW#e=5csDh((EDGv4W-<=849P$SnkFB`s=_G(0I($`i_fT<$511c;ccH{qm>n)=ilA`Z0@GSD** z!4inaSHoh2FF<%Ai0;7fW2lP6_1c_gLZyfh{uPu~4USsT{|Ux1L`zzXC>^ujh-MNT zvndkwa4wD$JWLA_TnvWzS^)-0F_?e^JT8j!rF^bfqMLGRNz_v zcthYMM%(xgJ+TDliZmKAq|r)Yh#&+SNGhNkiA0R^F#;8c2*DF;vn+agPojpWt$JAD z9#$|4!%~3|!o;`);%Wt4NP`PeNF&gS`5GZC7NQ!D@(09(DD@Ow=A6O3luj%g>>2dH zfPN4Z^Xv;5hBc2D>+jInN^mkP9*gHjPtv1v`#AMRB`y)c+{1$%- zUGe+u2}~dr(3OM)Qd|mYxB|K%Z~{VwJc7?hVXa0>%jPkyXR?1Sefjmg9m$a59e9< zw$A<3sk~DsDyjI{bLV#Wh#6ka7gL(mOBiPY?lBrSKPs}%j|yD0W@R50)iu4#b^Em6 z7{>GGqP&Zlck(agr@1FMTUhq!ka=DyBMd%*6jm~GOm4By<>3auBhf;5lw^2vUzBer zV};i_`>y8Uz^B1U1sXSm7bfM$x`(-U-JJw8=Y18b$}80W#mjQ;R>k`4o1xC*D>pOy z;woxpPKM79_uu^Hl=`m^9;!Sli5^~tUzs-j>J&y+e{f3k-T(s&$cpma*A(i_;FPUc zbfoti$I0^2X5NyFRV%CYQ?9Yz0TUVn>qp|%jJ>tsnXBXUe(Z|veh)6Tl1Yx5+@BTG z37?GtSY%!Km=s5-JwrYJtM=_BRhI)Kt(GOntojIfOjU-n>UB`gYl^-A;%-ao@1kMBb>c z+E=HyrlbD(bpgF6=hQvgeK(-3_u}kB=Mlg4#slw1)JFPk-qW4!f2%4swMpOOIxLA! zmd{zX1u@@zcjCgvmZcXKd>0vcB9$C-^Y6()y0fy-2Z-b2gC^MczunfKM{`O>c&WIw!hb3~IfqW0#vjyAj4alsN; zcH`ecfGLsLD-k~Ay6mfx_vDdHyWYH%m>CyST0s_b;u}63%e7@R!$}3#YVY5$GlEmp z<8{_s^%3j*`|mezYW_x<=H0q|TAjGSq0zi-0WUw8P}|0TSW>JjFI;TjHi_?Bj@HB` zt-aoOrT*i^?~O`rI(d&X>Fy#!_^8MP&pqlee zgw$`|oessT-Ke7w#MA?E}FMxPZ6m2#||>E{^IBZzNdU_eL`(1J&N$I^tq9 zH-X}Ed_b?Hw#NB4Htsp~z@GDAY~kUnjxOXB{|ELGRy*)f_{s^=(QKx7SbnL_0bOJ4 z_-6J34^}?0<74|rW&PJ;symCPgfY4#^~cXuU(?;HstfPWJyL$4yNr4*HQ6XQ$_g91 zsl0htYvE7r#i4IB`5N2-?l;bH3YjljU8@U%5+*c!8p)d4usiZ}SoCrANK0M2^cXk%cZca(yhl{<> z2LJeWf%7_V(dbcs72ovgQRR81bgYd=So`WL}gq^FePke7SV8fD@n8WjOHmRm6E>=d!E53(FYkMVBj&f#Qi{cjRw! xDXt2i_m4;nRu+V=UHE1DXAM<5-f@wA!_EL_Ub>*{{M7UBAyF|i&K0|4)i3NT$P@qo literal 0 HcmV?d00001 diff --git a/windows/client-management/mdm/policy-csp-browser.md b/windows/client-management/mdm/policy-csp-browser.md index efc80528fb..624f92fed0 100644 --- a/windows/client-management/mdm/policy-csp-browser.md +++ b/windows/client-management/mdm/policy-csp-browser.md @@ -2201,7 +2201,7 @@ Supported values: - If it’s one of many apps, Microsoft Edge runs as normal. **1**: -- • If it’s a single app, it runs a limited multi-tab version of InPrivate and is the only app available for public browsing. Users can’t minimize, close, or open windows or customize Microsoft Edge, but can clear browsing data and downloads and restart by clicking “End session.” You can configure Microsoft Edge to restart after a period of inactivity by using the “Configure kiosk reset after idle timeout” policy. _**For single-app public browsing:**_ If you do not configure the Configure kiosk reset after idle timeout policy and you enable this policy, Microsoft Edge kiosk resets after 5 minutes of idle time. +- If it’s a single app, it runs a limited multi-tab version of InPrivate and is the only app available for public browsing. Users can’t minimize, close, or open windows or customize Microsoft Edge, but can clear browsing data and downloads and restart by clicking “End session.” You can configure Microsoft Edge to restart after a period of inactivity by using the “Configure kiosk reset after idle timeout” policy. _**For single-app public browsing:**_ If you do not configure the Configure kiosk reset after idle timeout policy and you enable this policy, Microsoft Edge kiosk resets after 5 minutes of idle time. - If it’s one of many apps, it runs in a limited multi-tab version of InPrivate for public browsing with other apps. Users can minimize, close, and open multiple InPrivate windows, but they can’t customize Microsoft Edge. From a73c07a24d20bc6caf3d873d7118e9f6a410b545 Mon Sep 17 00:00:00 2001 From: Patti Short Date: Thu, 23 Aug 2018 09:09:32 -0700 Subject: [PATCH 02/13] linking an image to the MSFT store --- .../apps-in-windows-10.md | 2 +- .../media/icon_hyperlink.png | Bin 3226 -> 2997 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/application-management/apps-in-windows-10.md b/windows/application-management/apps-in-windows-10.md index 5d67897ab7..0f95642dd0 100644 --- a/windows/application-management/apps-in-windows-10.md +++ b/windows/application-management/apps-in-windows-10.md @@ -171,7 +171,7 @@ Here are the typical provisioned Windows apps in Windows 10 versions 1703, 1709, | | Microsoft.XboxGameOverlay | x | x | x | No | | | Microsoft.XboxGamingOverlay | | | x | No | | | Microsoft.XboxIdentityProvider | x | x | x | No | -| | Microsoft.XboxSpeech ToTextOverlay | x | x | x | No [![icon_hyperlink.png](media/icon_hyperlink.png)](ms-windows-store://pdp/?PFN=Microsoft.3DBuilder_8wekyb3d8bbwe) | +| | Microsoft.XboxSpeech ToTextOverlay | x | x | x | No | >[!NOTE] >The Store app can't be removed. If you want to remove and reinstall the Store app, you can only bring Store back by either restoring your system from a backup or resetting your system. Instead of removing the Store app, you should use group policies to hide or disable it. diff --git a/windows/application-management/media/icon_hyperlink.png b/windows/application-management/media/icon_hyperlink.png index 0732c5b0e4c4edbd173f1dd61ed9e4bc2175b260..847e8f62ad28b7bbb624bbeab00eab8ae74ae984 100644 GIT binary patch delta 1469 zcma)6do}k-Td9Wj~wQJo1`eYRjTjHf`3_DHcT*S}F9nb1;u^Y0M+n zBa)s|o|Q6Mp*vwMX`FUR#8S5FoX)v_-#@;`Ki@gu_s^HVt`Tl^buW4QDyTVBM@MJX z&K)G`qM9!PxmrFiKW;w7<91-;3q@l!H=IZ=J2(wfrl)*=GCqrjHv#`p3QY zq}UBQ$&yVCdShb=F9+rp3P&uJ2Tp!|AE~ynw^zC=xlfeDo_|;(o=B7 zOtIBH;npG1FxwQwm-n#dELShjz7m^O<4s3&C#xe?ds&7-lTmM-NfT%Od%&=8SJ{_L6lfrPXnKa zG>A;78=ty5Mj4TcMgoFfsXYhigW_EF2I8lYwcYjA z{9gf^cmo=HOLE<_Yp|g;j;SJeWWo2YGiwh%c129wn)fvdNt+xA8KiccM4*}o_m)ov zy?iatPKZe9koRLHkpBc(|4ya8m+RpxE+x*0sdq+2T(`diZj1^~Fp9Xd*kv8#|ae#-# z`<6d8<2RYC!mC=2mZ>PE=4xm6i!nF;bo91tMU74em68$=wXG2i$(X;Zs_2~-57?z# zZBd&7_zrvbZ0x23LiU#b=zGm4$puQ5>#ToGSY}|7FfCM(sYm{$1H)hPt%}Dc7RJ(> znz-W=OFLr1YhK>(ces4a3}xG#!~2%E<=K)-gQo)@l|a5=U}kdReiUuBnnoESIkZ@v@a z(+)Izi$~}2;L_|dw6|T^g@+GNUT*8DGqlU8r|98*jfS2G3)!#SQ>C0B-aV1oaXrM> zjZYl>WV6O+q*@=h^>2RC%|w!+?<&E_^WM2V9dom1*%cDKf>NG$3ig!&%`v-LzF9Aj z#?qQ5Y~7}uje#c8x;H|y2Njue^u>wve0d+WAwl9bJwxK~o8{9h6KK&1w0Zl@f>!Qx zCX~El^+Tg~6F;v$)KZ|(qT0qwMoy($zAtC9c! delta 1694 zcma)-Xb8r_{x&=1D_*M9+@aNrSnJic3e z0-jHdC*Vm5iAEw)Jh%m=kZleWDuL+1+kSn8jptO63Oe}^Z0mA`DBi#@Qb%9(r{oYe)VFFWef$xyb1C|2)nrIY)oXTeL<5QdLD_rYo=_4JSkm9>w( z`d%SaY--B_A2i82QK9kcKjPyOdj0LkUMV^$`KWVc3G4~GbKxs`TBl2Ci@V4B^yy}W z0PkYkYSc=4C#QvS=4|M2nfj@MN3U9)3 z=c=~8%lE1;uPrm(y&N@2o~ef|vBRy61u-5c_bR^LR8|6JN%x8)2WqZ3G7q24?6LXu zYGm7m5}c;h3D-802RV~(kDO-UU#Z6$em+oO8mj4e=V~{*KLr;f`nQC`ircrvO?)7jbeF_(dVstnj~X*SU!dF& zZ6}#fL%ehw^}F=U#n0RHU)>OJtrBpHmPcL~>ol_5svfwR2{Z44pMweoeF;hlj=bzd zGl+gW$^7=c++7g$TUY1-uHnwuZ}YPkPU=C6sn#{JzagTul@3jJ^2w`KgnwApVoVwM z@&{YT8Yi3Q3elkj!;?Hnd!^S~a9;HFmOL!;r@Ay`!;slMXfI?h_L)Ftv1|oS7KW-8 zgkjaBJ5Rc{CzmfkxQ8MfSbN*!`|p3@w~bxAv3N#XTcZJAJK`F}NtmtNFvKAGXA)f@ zSWsY>I_CAYmfjDd6Sur2565Nm^j^~ME^(+)%xzqb4b9922DTT<6J_`bpzck?zCU+; zY$tyf-7Z?4@Tw5ZNgeHhd1^!FK*dDjbh#3@n*FHw-a=94?$DrAavRFtqOe%o)FJsa zDn*~tKvVPx{iy+032e(z)fus|zfI#~XVlilX6L8&3~O4(5-Z?Wm`XhRjs8`to}*7Z z%vMqd-$7CCGb<}bOA7NVPmfElVk8Mz!as99_oGB}f;n-7HpHKVqk#KOK3)&;2%5isVhw(`>{D*VF!3RfqRdR3 z88klC`0S7a+0`#_KIPt}ak`?rK7AY-TLgsXjg+-xDYh1M!a@~u+ Date: Tue, 28 Aug 2018 09:32:56 -0700 Subject: [PATCH 03/13] corrected formatting issues --- .../about-app-v-51-dynamic-configuration.md | 1217 ++++++++++------- 1 file changed, 697 insertions(+), 520 deletions(-) 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 b88cdd9529..66b00d229d 100644 --- a/mdop/appv-v5/about-app-v-51-dynamic-configuration.md +++ b/mdop/appv-v5/about-app-v-51-dynamic-configuration.md @@ -1,89 +1,113 @@ --- -title: About App-V 5.1 Dynamic Configuration -description: About App-V 5.1 Dynamic Configuration +title: About App-V 5.1 dynamic configuration author: jamiejdt -ms.assetid: 6cc1027c-576f-483b-ad0d-bb700594a92c -ms.pagetype: mdop, appcompat, virtualization -ms.mktglfcycl: deploy -ms.sitesec: library -ms.prod: w10 -ms.date: 06/16/2016 --- +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. +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. -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. +Advanced: Dynamic Configuration +------------------------------- -When you edit the dynamic configuration file it customizes how an App-V 5.1 package will run 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 - - -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 - 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 -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. Review the following table: +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

Deployment Configuration .xml file

Package Manifest

+- User Configuration .xml file -  +- Deployment Configuration .xml file -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. +- 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 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 DeploymentConfig file should be used. +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) - 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 @@ -93,785 +117,933 @@ The DeploymentConfig file provides configuration settings in two sections, one r ### File structure -The structure of the App-V 5.1 Dynamic Configuration file is explained in the following section. +The structure of the App-V 5.1 Dynamic Configuration file is explained in the +following section. ### 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"> +\\ 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 app extension points that are defined in the Manifest file, as well as information to configure virtual applications. There are four subsections allowed in the body: +**Body** - the body of the Dynamic User Configuration file can include all the +app extension points that are defined in the Manifest file, as well as +information to configure virtual applications. There are four subsections +allowed in the body: -1. **Applications** - All app-extensions that are contained in the Manifest file within a package are assigned with an Application ID, which is also defined in the manifest file. This allows you to enable or disable all the extensions for a given application within a package. The **Application ID** must exist in the Manifest file or it will be ignored. +1. **Applications** - All app-extensions that are contained in the Manifest + file within a package are assigned with an Application ID, which is also + defined in the manifest file. This allows you to enable or disable all the + 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"> +- \ - <Applications> + \ - <!-- No new application can be defined in policy. AppV Client will ignore any application ID that is not also in the Manifest file --> + \ - \ + - \ + - \ - - … - - \ - -1. **Subsystems** - AppExtensions and other subsystems are arranged as subnodes - under the \: - -- \ - - \ + .. - \ + - .. + ``` - \ +1. **Subsystems** - AppExtensions and other subsystems are arranged as subnodes under the : - Each subsystem can be enabled/disabled using the “**Enabled**” attribute. - Below are the various subsystems and usage samples. + ``` + - **Extensions:** + + + .. + + + + .. + + + + ``` + + Each subsystem can be enabled/disabled using the “**Enabled**” attribute. Below are the various subsystems and usage samples. + + **Extensions:** Some subsystems (Extension Subsystems) control Extensions. Those subsystems are:- shortcuts, File-Type associations, URL Protocols, AppPaths, Software @@ -198,17 +156,17 @@ allowed in the body: 1. If the user defined this in either the dynamic or deployment config file: - - ``` + ``` - **\** + - **\** + ... - **\** + - **\** + ``` @@ -216,9 +174,9 @@ allowed in the body: 1. If the user defined only the following: - - ``` + ``` - **\** + ``` @@ -226,15 +184,15 @@ allowed in the body: 1. If the user defines the following: - - ``` + ``` - **\** + - **\** + - **\** + - **```** + ``` 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: - **```** - \ + ``` - \ + -   \ + -     \ +   -       \ +     -         \[{Common Programs}]\\Microsoft Contoso\\Microsoft ContosoApp - Filler 2010.lnk\ +       -         \[{PackageRoot}]\\Contoso\\ContosoApp.EXE\ +         [{Common Programs}]\Microsoft Contoso\Microsoft ContosoApp + Filler 2010.lnk + +         [{PackageRoot}]\Contoso\ContosoApp.EXE   -       \[{Windows}]\\Installer\\{90140000-0011-0000-0000-0000000FF1CE}\\inficon.exe\ +       [{Windows}]\Installer\{90140000-0011-0000-0000-0000000FF1CE}\inficon.exe -         \ +          -         \ +          -         \ContosoApp.Filler.3\ +         ContosoApp.Filler.3 -         \Fill out dynamic forms to gather and reuse - information throughout the organization using Microsoft - ContosoApp.\ +         Fill out dynamic forms to gather and reuse information throughout the organization using Microsoft + ContosoApp. -         \0\ +         0 -         \1\ +         1   -       \[{PackageRoot}]\\Contoso\\ContosoApp.EXE\ +       [{PackageRoot}]\Contoso\ContosoApp.EXE -       \ +        -   \ +   -   \ +   -     \ +        -     \[{AppData}]\\Microsoft\\Contoso\\Recent\\Templates.LNK\ +     [{AppData}]\Microsoft\Contoso\Recent\Templates.LNK -       \[{AppData}]\\Microsoft\\Templates\ +       [{AppData}]\Microsoft\Templates -       \ +        -       \ +        -       \ +        -       \ +        -       \ +        -       \0\ +       0 -       \1\ +       1 -       \ -     \ +      -   \ +   -  \ +   - \ + + + ``` - ``` **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: - **```** - \ + ``` - \ + -   \ + -     \ +   -       \ +     -       \.docm\ +       -       \contosowordpad.DocumentMacroEnabled.12\ +       .docm -       \document\ +       contosowordpad.DocumentMacroEnabled.12 + +       document   -     \application/vnd.ms-contosowordpad.document.macroEnabled.12\ +     application/vnd.ms-contosowordpad.document.macroEnabled.12 -       \ +        -         \wincontosowordpad.exe\ +         wincontosowordpad.exe -       \ +        -      \ +       -         \contosowordpad.8\ +         contosowordpad.8 -       \ +        -       \ +       -         \ +          -         \ +          -         \ +          -         \ +          -         \true\ +         true -         \ +          -         \ +          -         \ +          -         \ +          -       \ +        -     \ +      -     \ +     -        \contosowordpad.DocumentMacroEnabled.12\ +        contosowordpad.DocumentMacroEnabled.12   -       \[{Windows}]\\Installer\\{90140000-0011-0000-0000-0000000FF1CE}\\contosowordpadicon.exe,15\ +       [{Windows}]\Installer\{90140000-0011-0000-0000-0000000FF1CE}\contosowordpadicon.exe,15         Blah Blah Blah @@ -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:” + ``` From c39ff0bd73387a02250cc68e05649ef10d6ca60f Mon Sep 17 00:00:00 2001 From: Patti Short Date: Tue, 28 Aug 2018 14:20:27 -0700 Subject: [PATCH 06/13] content refresh and reformat of code blocks --- .../about-app-v-51-dynamic-configuration.md | 755 ++++++++---------- 1 file changed, 330 insertions(+), 425 deletions(-) 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 8e91e1dbc3..1ad51d0e9e 100644 --- a/mdop/appv-v5/about-app-v-51-dynamic-configuration.md +++ b/mdop/appv-v5/about-app-v-51-dynamic-configuration.md @@ -11,679 +11,584 @@ 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. +With dynamic configuration, you can edit the dynamic configuration file to customize how an App-V 5.1 package runs for a user or group. Package customization removes the need to resequence packages using the desired settings. It also 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. +## Package manifest and configuration files -## 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). -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](#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. +When a package gets created, the sequencer generates default deployment and user configuration .xml files automatically using the package manifest data. Therefore, these generated files reflect the default settings configured during sequencing. If you apply these files to a package in the form generated by the sequencer, the packages have the same default settings that came from their manifest. >[!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 +Use these generated files to make changes, if necessary, which doesn’t directly affect the package. If you want to add, delete or update the configuration files, make your changes about the default values in the 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 file contents (UserConfig.xml) -- User Configuration .xml file +The UserConfig file provides configuration settings that get applied for a specific user when deploying the package to a computer running the App-V 5.1 client. These settings don’t affect any other users on the client. -- Deployment Configuration .xml file +Use the UserConfig file to specify or modify custom settings for a package: -- Package Manifest   +- **Extensions 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 +- **Scripts** (user context only) +- **Managing authority** (for controlling co-existence of package with App-V 4.6) -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. +#### Header -The following list displays more information about the two file types: +The header of a dynamic user configuration file looks like: -- **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. - -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: - -- 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 - -- Scripts (user context only) - -- 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: - -- 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 - -- Product source URL - -- Scripts (machine context only) - -- 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 - -**Header** - the header of a dynamic user configuration file is as follows: -``` +```xml ``` + 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 -app extension points that are defined in the Manifest file, as well as -information to configure virtual applications. There are four subsections -allowed in the body: +#### Body -1. **Applications** - All app-extensions that are contained in the Manifest - file within a package are assigned with an Application ID, which is also - defined in the manifest file. This allows you to enable or disable all the - extensions for a given application within a package. The **Application ID** - must exist in the Manifest file or it will be ignored. +The body of the dynamic user configuration file can include all the app extension points defined in the manifest file, as well as information to configure virtual applications. There are four subsections allowed in the body: - ``` - +1. **Applications** +2. **Subsystems** +3. **UserScripts** +4. **ManagingAuthority** - +##### Applications - +All app-extensions contained in the manifest file within a package have an Application ID assigned, which you find in the manifest file. The Application ID lets you enable or disable all extensions for a given application within a package. The Application ID must exist in the manifest file, or it gets ignored. - +```XML + - + - + - .. + - + + + + +.. + + + +``` + +##### Subsystems + +AppExtensions and other subsystems arranged as subnodes. + +```XML + + + + +.. + + + +.. + + + +``` + +You can enable or disable each subsystem using the **Enabled** attribute. + +**Extensions** + +Some subsystems (extension subsystems) control extensions. Those subsystems are Shortcuts, File-Type associations, URL Protocols, AppPaths, Software Clients, and COM. + +Extension subsystems can be enabled and disabled independently of the content. For example, if you enable Shortcuts, the client uses the Shortcuts contained within the manifest by default. Each extension subsystem can contain an \ node. If this child element is present, the client ignores the content in the manifest file for that subsystem and only use the content in the configuration file. + +_**Examples:**_ +- If you define this in either the user or deployment config file, the content in the manifest gets ignored. + ```XML + + + + + + ... + + + + + + ``` +- If you define only the following, the content in the manifest gets integrated during publishing. + ```XML + + + +``` +- If you define the following, all Shortcuts within the manifest still get ignored. In other words, no Shortcuts get integrated. + ```XML + + + + + + ``` -1. **Subsystems** - AppExtensions and other subsystems are arranged as subnodes under the : +_**Supported extension subsystems:**_ - ``` - +**Shortcuts** extension subsystem controls what shortcuts get integrated into the local system. - +```XML - .. + - + - .. + - + - ``` + - Each subsystem can be enabled/disabled using the “**Enabled**” attribute. Below are the various subsystems and usage samples. + [{Common Programs}]\Microsoft Contoso\Microsoft ContosoApp Filler 2010.lnk - **Extensions:** + [{PackageRoot}]\Contoso\ContosoApp.EXE - Some subsystems (Extension Subsystems) control Extensions. Those subsystems - are:- shortcuts, File-Type associations, URL Protocols, AppPaths, Software - Clients and COM + + [{Windows}]\Installer\{90140000-0011-0000-0000-0000000FF1CE}\inficon.exe - Extension Subsystems can be enabled and disabled independently of the - content.  Thus if Shortcuts are enabled, The client uses the shortcuts - contained within the manifest by default. Each Extension Subsystem can - contain an \ node. If this child element is present, the client - ignores the content in the Manifest file for that subsystem and only use the - content in the configuration file. + - Example using the shortcuts subsystem: + - 1. If the user defined this in either the dynamic or deployment config - file: + ContosoApp.Filler.3 - ``` + Fill out dynamic forms to gather and reuse information throughout the organization using Microsoft ContosoApp. - + 0 - + 1 + + [{PackageRoot}]\Contoso\ContosoApp.EXE - ... + - + - + - ``` + + + [{AppData}]\Microsoft\Contoso\Recent\Templates.LNK - Content in the manifest will be ignored.    + [{AppData}]\Microsoft\Templates - 1. If the user defined only the following: + - ``` + - + - ``` + - Then the content in the Manifest gets integrated during publishing. + - 1. If the user defines the following: + 0 - ``` + 1 - + - + - + - ``` + - Then all the shortcuts within the manifest will still be ignored. There will - be no shortcuts integrated. + - The supported Extension Subsystems are: +``` - **Shortcuts:** This controls shortcuts that will be integrated into the - local system. Below is a sample with 2 shortcuts: +**File-Type Associates** extension subsystem associates file types with programs to open by default as well as set up the context menu. +>[!TIP] +>You can set up the subsystem with MIME types. - ``` - +```XML - + -   + -     + -       + -         [{Common Programs}]\Microsoft Contoso\Microsoft ContosoApp - Filler 2010.lnk + -         [{PackageRoot}]\Contoso\ContosoApp.EXE + .docm -   -       [{Windows}]\Installer\{90140000-0011-0000-0000-0000000FF1CE}\inficon.exe + contosowordpad.DocumentMacroEnabled.12 -          + document + + application/vnd.ms-contosowordpad.document.macroEnabled.12 -          + -         ContosoApp.Filler.3 + wincontosowordpad.exe -         Fill out dynamic forms to gather and reuse information throughout the organization using Microsoft - ContosoApp. + -         0 + -         1 + contosowordpad.8 -   -       [{PackageRoot}]\Contoso\ContosoApp.EXE + -        + -   + -   + -      + -   -     [{AppData}]\Microsoft\Contoso\Recent\Templates.LNK + -       [{AppData}]\Microsoft\Templates + true -        + -        + -        + -        + -        + -       0 + -       1 + -        + contosowordpad.DocumentMacroEnabled.12 + + [{Windows}]\Installer\{90140000-0011-0000-0000-000000FF1CE}\contosowordpadicon.exe,15 -      + Blah Blah Blah -   + [{FOLDERID_ProgramFilesX86}]\Microsoft Contoso 14\res.dll,9182 -   + [{FOLDERID_ProgramFilesX86}]\Microsoft Contoso 14\res.dll,1424 - + 0 - ``` + + Open - **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: + + + {e56fa627-c35f-4a01-9e79-7d36aed8225a} + Edit - ``` + &Edit + + "[{PackageRoot}]\Contoso\WINcontosowordpad.EXE" /vu "%1" - + - + + + {e56fa627-c35f-4a01-9e79-7d36aed8225a} -   + Open -     + &Open -       + "[{PackageRoot}]\Contoso\WINcontosowordpad.EXE" /n "%1" -       .docm + -       contosowordpad.DocumentMacroEnabled.12 + -       document + mscontosowordpad -   -     application/vnd.ms-contosowordpad.document.macroEnabled.12 + ShellSystem -        + [SHELLNOOP] -         wincontosowordpad.exe + [SetForeground][ShellNewDatabase"%1"] -        + -       + -         contosowordpad.8 + -        + -       + -          + -          + -          + -          +``` -         true +**URL Protocols** extension subsystem controls the URL protocols integrated into the local registry of the client machine, for example, _mailto:_. -          -          +```XML -          + -          + -        + -      + -     + mailto -        contosowordpad.DocumentMacroEnabled.12 + -   -       [{Windows}]\Installer\{90140000-0011-0000-0000-0000000FF1CE}\contosowordpadicon.exe,15 + [{ProgramFilesX86}]\MicrosoftContoso\Contoso\contosomail.EXE,-9403 -         Blah Blah Blah + 2 -         [{FOLDERID_ProgramFilesX86}]\Microsoft Contoso - 14\res.dll,9182 + -         [{FOLDERID_ProgramFilesX86}]\Microsoft Contoso - 14\res.dll,1424 + -         0 + -          + -           Open + -            + -   -            {e56fa627-c35f-4a01-9e79-7d36aed8225a} + -              Edit + 2 -              &Edit + -   -            "[{PackageRoot}]\Contoso\WINcontosowordpad.EXE" - /vu "%1" + -            + open -            + -   -           {e56fa627-c35f-4a01-9e79-7d36aed8225a} + [{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE -             Open + open -             &Open + [{ProgramFilesX86}\Microsoft Contoso\Contoso\contosomail.EXE" -c OEP.Note /m "%1" -             "[{PackageRoot}]\Contoso\WINcontosowordpad.EXE" - /n "%1" + -              + -              + 0 -               mscontosowordpad + 0 -               ShellSystem + 2 -               [SHELLNOOP] + -               [SetForeground][ShellNewDatabase - "%1"] + -              + contosomail -            + ShellSystem -          + [SHELLNOOP] -        + [SetForeground][ShellNewDatabase "%1"] -       + -     + -   + -   + - ``` + + - **URL Protocols**: This controls the URL Protocols that are integrated into the local registry of the client machine e.g. “mailto:” + + - ``` +``` - +**Software Clients** extension subsystem allows the app to register as an email client, news reader, media player and makes the app visible in the Set program access and Computer defaults UI. In most cases, you should only need to enable and disable it. There is also a control to enable and disable the email client specifically if you want the other clients still enabled except for that client. - +```XML - + - + -   mailto + -    +``` -   [{ProgramFilesX86}]\Microsoft - Contoso\Contoso\contosomail.EXE,-9403 +**AppPaths** extension subsystem opens apps registered with an application path. For example, if contoso.exe has an apppath name of _myapp_, users can type _myapp_ from the run menu, opening contoso.exe. +```XML -   2 + -   + -   + -   + -   + [{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE - + contosomail.exe -   + [{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE -   + -   2 + false -   + -    + -   open + -    + -   [{ProgramFilesX86}]\Microsoft - Contoso\Contoso\contosomail.EXE + -   open +``` -   [{ProgramFilesX86}\Microsoft - Contoso\Contoso\contosomail.EXE" -c OEP.Note /m "%1" +**COM** extensions subsystem allows an application registered to local COM servers. The mode can be: -   +- Integration +- Isolated +- Off -   +```XML -   0 + -   0 +``` -   2 +**Virtual Kernel Objects** -     +```XML -   + -   contosomail +``` -   ShellSystem +**Virtual Registry** sets a registry in the virtual registry within HKCU. +```XML -   [SHELLNOOP] + -   [SetForeground][ShellNewDatabase "%1"] + -   + -   + -   + -   + -   + -   + -   + -   +``` - ``` +**Virtual File System** - **Software Clients**: Allows the app to register as an Email client, news - reader, media player and makes the app visible in the Set Program Access and - Computer Defaults UI. In most cases you should only need to enable and - disable it. There is also a control to enable and disable the email client - specifically if you want the other clients still enabled except for that - client. +```XML - ``` + - +``` -   +**Virtual Fonts** - +```XML - ``` + - **AppPaths:** If an application for example contoso.exe is registered with - an apppath name of “myapp”, it allows you type “myapp” under the run menu - and it will open contoso.exe. +``` - ``` +**Virtual Environment Variables** - +```XML - + - + - + -   [{ProgramFilesX86}]\Microsoft - Contoso\Contoso\contosomail.EXE + -   contosomail.exe + -   [{ProgramFilesX86}]\Microsoft - Contoso\Contoso\contosomail.EXE + -   + -   false + -   + - +``` - +**Virtual services** - +```XML - + - ``` +``` - **COM**: Allows an Application register Local COM servers. Mode can be Integration, Isolated or Off. When Isol. +##### UserScripts - ``` +Use scripts to set up or alter the virtual environment. You can also execute scripts at the time of deployment or to clean up the environment after the application terminates. To see a sample script, refer to the user configuration file generated by the sequencer. - +The Scripts section below provides more information on the various triggers that can be used. - ``` +##### ManagingAuthority - **Other Settings**: +Use ManagingAuthority when two versions of your package co-exist on the same machine, one deployed to App-V 4.6 and another deployed on App-V 5.0. To allow App-V vNext to take over App-V 4.6 extension points for the named package enter the following in the UserConfig file (where PackageName is the Package GUID in App-V 4.6: - In addition to Extensions, other subsystems can be enabled/disabled and - edited: +```XML - **Virtual Kernel Objects**: + - **```** +``` - - - ``` - - **Virtual Registry**: Used if you want to set a registry in the Virtual Registry within HKCU - - ``` - - - - - - - - - -   - -   - -   - - - -   - - ``` - - **Virtual File System** - - ``` - -       \ - - ``` - - **Virtual Fonts** - - ``` - -       - - ``` - - **Virtual Environment Variables** - - ``` - - - - - -         - -         - -         - -        - -         - -          - -          - - ``` - - **Virtual services** - - ``` - -       - - ``` - -1. **UserScripts** – Scripts can be used to set up or alter the virtual - environment as well as execute scripts at time of deployment or removal - before an application executes, or they can be used to “clean up” the - environment after the application terminates. Please reference a sample User - configuration file that is output by the sequencer to see a sample script. - The Scripts section below provides more information on the various triggers - that can be used. - -2. **ManagingAuthority** – Can be used when 2 versions of your package are - co-existing on the same machine, one deployed to App-V 4.6 and the other - deployed on App-V 5.0. To Allow App-V vNext to take over App-V 4.6 extension - points for the named package enter the following in the UserConfig file - (where PackageName is the Package GUID in App-V 4.6: - -- ``` - - - - ``` ### Dynamic Deployment Configuration file From 4a976064863e5675bcb137da6c52568d49e7044e Mon Sep 17 00:00:00 2001 From: Patti Short Date: Tue, 28 Aug 2018 14:42:12 -0700 Subject: [PATCH 07/13] more code block formatting --- mdop/appv-v5/about-app-v-51-dynamic-configuration.md | 5 +++++ 1 file changed, 5 insertions(+) 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 1ad51d0e9e..3f1a2f8a8a 100644 --- a/mdop/appv-v5/about-app-v-51-dynamic-configuration.md +++ b/mdop/appv-v5/about-app-v-51-dynamic-configuration.md @@ -109,6 +109,7 @@ Extension subsystems can be enabled and disabled independently of the content. F _**Examples:**_ - If you define this in either the user or deployment config file, the content in the manifest gets ignored. + ```XML @@ -122,13 +123,17 @@ _**Examples:**_ ``` + - If you define only the following, the content in the manifest gets integrated during publishing. + ```XML ``` + - If you define the following, all Shortcuts within the manifest still get ignored. In other words, no Shortcuts get integrated. + ```XML From ae7258231e8009cf1a07781aefa4fe49efd2b0be Mon Sep 17 00:00:00 2001 From: Patti Short Date: Tue, 28 Aug 2018 16:29:05 -0700 Subject: [PATCH 08/13] more formatting for scanability --- .../about-app-v-51-dynamic-configuration.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) 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 3f1a2f8a8a..d6128ca89a 100644 --- a/mdop/appv-v5/about-app-v-51-dynamic-configuration.md +++ b/mdop/appv-v5/about-app-v-51-dynamic-configuration.md @@ -15,7 +15,6 @@ ms.author: pashort With dynamic configuration, you can edit the dynamic configuration file to customize how an App-V 5.1 package runs for a user or group. Package customization removes the need to resequence packages using the desired settings. It also provides a way to keep package content and custom settings independent. -## Package manifest and configuration 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). @@ -26,7 +25,7 @@ When a package gets created, the sequencer generates default deployment and user Use these generated files to make changes, if necessary, which doesn’t directly affect the package. If you want to add, delete or update the configuration files, make your changes about the default values in the manifest information. -### User configuration file contents (UserConfig.xml) +## User configuration file contents (UserConfig.xml) The UserConfig file provides configuration settings that get applied for a specific user when deploying the package to a computer running the App-V 5.1 client. These settings don’t affect any other users on the client. @@ -37,7 +36,7 @@ Use the UserConfig file to specify or modify custom settings for a package: - **Scripts** (user context only) - **Managing authority** (for controlling co-existence of package with App-V 4.6) -#### Header +### Header The header of a dynamic user configuration file looks like: @@ -48,7 +47,7 @@ xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration"> The **PackageId** is the same value as exists in the Manifest file. -#### Body +### Body The body of the dynamic user configuration file can include all the app extension points defined in the manifest file, as well as information to configure virtual applications. There are four subsections allowed in the body: @@ -57,7 +56,7 @@ The body of the dynamic user configuration file can include all the app extensio 3. **UserScripts** 4. **ManagingAuthority** -##### Applications +#### Applications All app-extensions contained in the manifest file within a package have an Application ID assigned, which you find in the manifest file. The Application ID lets you enable or disable all extensions for a given application within a package. The Application ID must exist in the manifest file, or it gets ignored. @@ -80,7 +79,7 @@ All app-extensions contained in the manifest file within a package have an Appli ``` -##### Subsystems +#### Subsystems AppExtensions and other subsystems arranged as subnodes. @@ -578,13 +577,13 @@ _**Supported extension subsystems:**_ ``` -##### UserScripts +#### UserScripts Use scripts to set up or alter the virtual environment. You can also execute scripts at the time of deployment or to clean up the environment after the application terminates. To see a sample script, refer to the user configuration file generated by the sequencer. The Scripts section below provides more information on the various triggers that can be used. -##### ManagingAuthority +#### ManagingAuthority Use ManagingAuthority when two versions of your package co-exist on the same machine, one deployed to App-V 4.6 and another deployed on App-V 5.0. To allow App-V vNext to take over App-V 4.6 extension points for the named package enter the following in the UserConfig file (where PackageName is the Package GUID in App-V 4.6: @@ -595,7 +594,8 @@ Use ManagingAuthority when two versions of your package co-exist on the same mac ``` -### Dynamic Deployment Configuration file +## Deployment configuration file contents (DeploymentConfig.xml) + **Header** - The header of a Deployment Configuration file is as follows: From 894e656aa109773f227c8bbe78c326bacc8feda5 Mon Sep 17 00:00:00 2001 From: Patti Short Date: Tue, 28 Aug 2018 16:48:58 -0700 Subject: [PATCH 09/13] more formatting for scanability-part 2 --- .../about-app-v-51-dynamic-configuration.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) 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 d6128ca89a..feefe6a497 100644 --- a/mdop/appv-v5/about-app-v-51-dynamic-configuration.md +++ b/mdop/appv-v5/about-app-v-51-dynamic-configuration.md @@ -107,7 +107,7 @@ Some subsystems (extension subsystems) control extensions. Those subsystems are Extension subsystems can be enabled and disabled independently of the content. For example, if you enable Shortcuts, the client uses the Shortcuts contained within the manifest by default. Each extension subsystem can contain an \ node. If this child element is present, the client ignores the content in the manifest file for that subsystem and only use the content in the configuration file. _**Examples:**_ -- If you define this in either the user or deployment config file, the content in the manifest gets ignored. +- If you define this in either the user or deployment config file, the content in the manifest gets ignored. ```XML @@ -123,15 +123,19 @@ _**Examples:**_ ``` -- If you define only the following, the content in the manifest gets integrated during publishing. +

+ +- If you define only the following, the content in the manifest gets integrated during publishing. ```XML -``` + ``` -- If you define the following, all Shortcuts within the manifest still get ignored. In other words, no Shortcuts get integrated. +

+ +- If you define the following, all Shortcuts within the manifest still get ignored. In other words, no Shortcuts get integrated. ```XML @@ -609,7 +613,7 @@ xmlns="http://schemas.microsoft.com/appv/2010/deploymentconfiguration"> The **PackageId** is the same value as exists in the manifest file. -**Body** - The body of the deployment configuration file includes two sections: +**Body** - The body of the deployment configuration file includes two sections: - User Configuration section –allows the same content as the User Configuration file described in the previous section. When the package is From ec8c0f6bc2f0981c4b181b87b32456a6c4bad9ad Mon Sep 17 00:00:00 2001 From: Patti Short Date: Wed, 29 Aug 2018 08:39:22 -0700 Subject: [PATCH 10/13] more content refresh --- .../about-app-v-51-dynamic-configuration.md | 294 +++++++++--------- 1 file changed, 144 insertions(+), 150 deletions(-) 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) | |-----------------------------|----------------------------------------------|----------------------------------------|---------------------------------------------------|-----------------------------------------------------|-----------------------------------------------------------------------------| From 670902a6600cc8c6c4fd49575f0412a4eca193ac Mon Sep 17 00:00:00 2001 From: Patti Short Date: Wed, 29 Aug 2018 08:51:50 -0700 Subject: [PATCH 11/13] header level changes --- .../about-app-v-51-dynamic-configuration.md | 84 +++++++------------ 1 file changed, 31 insertions(+), 53 deletions(-) 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 68ad828674..1bed7819fa 100644 --- a/mdop/appv-v5/about-app-v-51-dynamic-configuration.md +++ b/mdop/appv-v5/about-app-v-51-dynamic-configuration.md @@ -37,29 +37,21 @@ Use the UserConfig file to specify or modify custom settings for a package: - **Managing authority** (for controlling co-existence of package with App-V 4.6) ### Header - The header of a dynamic user configuration file looks like: - ```xml - + ``` - -The **PackageId** is the same value as exists in the Manifest file. +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 app extension points defined in the manifest file, as well as information to configure virtual applications. There are four subsections allowed in the body: - 1. **Applications** 2. **Subsystems** 3. **UserScripts** 4. **ManagingAuthority** #### Applications - All app-extensions contained in the manifest file within a package have an Application ID assigned, which you find in the manifest file. The Application ID lets you enable or disable all extensions for a given application within a package. The Application ID must exist in the manifest file, or it gets ignored. - ```XML @@ -80,9 +72,7 @@ All app-extensions contained in the manifest file within a package have an Appli ``` #### Subsystems - AppExtensions and other subsystems arranged as subnodes. - ```XML @@ -99,16 +89,13 @@ AppExtensions and other subsystems arranged as subnodes. ``` You can enable or disable each subsystem using the **Enabled** attribute. - -**Extensions** - +**Extensions** Some subsystems (extension subsystems) control extensions. Those subsystems are Shortcuts, File-Type associations, URL Protocols, AppPaths, Software Clients, and COM. Extension subsystems can be enabled and disabled independently of the content. For example, if you enable Shortcuts, the client uses the Shortcuts contained within the manifest by default. Each extension subsystem can contain an \ node. If this child element is present, the client ignores the content in the manifest file for that subsystem and only use the content in the configuration file. +_**Examples:**_ -_**Examples:**_ -- If you define this in either the user or deployment config file, the content in the manifest gets ignored. - +- If you define this in either the user or deployment config file, the content in the manifest gets ignored. ```XML @@ -122,21 +109,13 @@ _**Examples:**_ ``` - -

- -- If you define only the following, the content in the manifest gets integrated during publishing. - +- If you define only the following, the content in the manifest gets integrated during publishing. ```XML - ``` - -

- -- If you define the following, all Shortcuts within the manifest still get ignored. In other words, no Shortcuts get integrated. - +``` +- If you define the following, all Shortcuts within the manifest still get ignored. In other words, no Shortcuts get integrated. ```XML @@ -447,6 +426,7 @@ _**Supported extension subsystems:**_ **Software Clients** extension subsystem allows the app to register as an email client, news reader, media player and makes the app visible in the Set program access and Computer defaults UI. In most cases, you should only need to enable and disable it. There is also a control to enable and disable the email client specifically if you want the other clients still enabled except for that client. + ```XML @@ -458,6 +438,7 @@ _**Supported extension subsystems:**_ ``` **AppPaths** extension subsystem opens apps registered with an application path. For example, if contoso.exe has an apppath name of _myapp_, users can type _myapp_ from the run menu, opening contoso.exe. + ```XML @@ -511,6 +492,7 @@ _**Supported extension subsystems:**_ ``` **Virtual Registry** sets a registry in the virtual registry within HKCU. + ```XML @@ -583,8 +565,7 @@ _**Supported extension subsystems:**_ #### UserScripts -Use scripts to set up or alter the virtual environment. You can also execute scripts at the time of deployment or to clean up the environment after the application terminates. To see a sample script, refer to the user configuration file generated by the sequencer. - +Use UserScripts to set up or alter the virtual environment. You can also execute scripts at the time of deployment or to clean up the environment after the application terminates. To see a sample script, refer to the user configuration file generated by the sequencer. The Scripts section below provides more information on the various triggers that can be used. #### ManagingAuthority @@ -597,9 +578,7 @@ Use ManagingAuthority when two versions of your package co-exist on the same mac ``` - -### Deployment configuration file (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. Use the DeploymentConfig file to specify or modify custom settings for a package: @@ -611,7 +590,7 @@ Use the DeploymentConfig file to specify or modify custom settings for a package - Scripts (machine context only) - Controls to terminate child processes -#### Header +### Header The header of a dynamic deployment configuration file looks like: @@ -621,7 +600,7 @@ The header of a dynamic deployment configuration file looks like: The **PackageId** is the same value as exists in the manifest file. -#### Body +### Body The body of the dynamic deployment configuration file includes two sections: @@ -653,10 +632,11 @@ The body of the dynamic deployment configuration file includes two sections: ``` -#### UserConfiguration +### UserConfiguration + Refer to [User configuration file contents]() for information on the settings provided for this section. -#### MachineConfiguration +### MachineConfiguration 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: @@ -665,8 +645,7 @@ Use the MachineConfiguration section to configure information for an entire mach 3. **MachineScripts** 4. **TerminateChildProcess** -##### Subsystems - +#### Subsystems AppExtensions and other subsystems arranged as subnodes. ```XML @@ -691,11 +670,11 @@ You can enable or disable each subsystem using the **Enabled** attribute. 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: +**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 +• 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. @@ -772,7 +751,8 @@ This extension also makes the virtual application visible in the Set default pro ``` -_**Supported extension subsystems:**_ +_**Supported extension subsystems:**_ + **Machine Wide Virtual Registry** extension subsystem sets a registry key in the virtual registry within HKEY_Local_Machine. @@ -814,7 +794,7 @@ _**Supported extension subsystems:**_ ``` -##### ProductSourceURLOptOut +#### 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. @@ -832,13 +812,13 @@ Use ProductSourceURLOptOut to indicate that the URL for the package can be modif ``` -##### MachineScripts +#### 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 +#### TerminateChildProcess An application executable can be specified, whose child processes get terminated when the application exe process terminates. @@ -854,8 +834,7 @@ An application executable can be specified, whose child processes get terminated - + @@ -866,7 +845,6 @@ Contoso\Contoso\contosomail.EXE" /> ``` - ## Scripts The following table describes the various script events and the context under which they can be run. @@ -890,7 +868,7 @@ or later. To enable the use of multiple scripts, App-V 5.1 uses a script launcher application, named ScriptRunner.exe, which is installed as part of the App-V client installation. -**How to use multiple scripts on a single event trigger:** +### How to use multiple scripts on a single event trigger For each script that you want to run, pass that script as an argument to the ScriptRunner.exe application. The application then runs each script separately, @@ -903,7 +881,7 @@ along with the arguments that you specify for each script. Use only one script first to make sure that all arguments are built correctly before adding them to the deployment configuration file. -**Example script and parameter descriptions** +### Example script and parameter descriptions Using the following example file and table, modify the deployment or user configuration file to add the scripts that you want to run. From 250940522776fc634f50889bac7bbd06ff76bc12 Mon Sep 17 00:00:00 2001 From: Patti Short Date: Wed, 29 Aug 2018 10:28:40 -0700 Subject: [PATCH 12/13] more formatting updates --- .../about-app-v-51-dynamic-configuration.md | 61 +++++++++++-------- 1 file changed, 37 insertions(+), 24 deletions(-) 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 1bed7819fa..52fd9bc05e 100644 --- a/mdop/appv-v5/about-app-v-51-dynamic-configuration.md +++ b/mdop/appv-v5/about-app-v-51-dynamic-configuration.md @@ -12,46 +12,51 @@ ms.author: pashort --- # About App-V 5.1 dynamic configuration - With dynamic configuration, you can edit the dynamic configuration file to customize how an App-V 5.1 package runs for a user or group. Package customization removes the need to resequence packages using the desired settings. It also provides a way to keep package content and custom settings independent. - 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). When a package gets created, the sequencer generates default deployment and user configuration .xml files automatically using the package manifest data. Therefore, these generated files reflect the default settings configured during sequencing. If you apply these files to a package in the form generated by the sequencer, the packages have the same default settings that came from their manifest. ->[!NOTE] ->The following information can only be used to modify sequencer generated configuration files to customize packages to meet specific user or group requirements. - Use these generated files to make changes, if necessary, which doesn’t directly affect the package. If you want to add, delete or update the configuration files, make your changes about the default values in the manifest information. -## User configuration file contents (UserConfig.xml) +>[!TIP] +>The order in which the files read are:

  • UserConfig.xml
  • DeploymentConfig.xml
  • Manifest

The first entry represents what gets read last. Therefore, its content takes precedence, and all packages inherently contain and provide default settings from the package manifest.

  1. If customizing the DeploymentConfig.xml file and apply the customized settings, the default settings in the package manifest get overridden.
  2. If customizing the UserConfig.xml and apply the customized settings, the default settings for both the deployment configuration and the package manifest get overridden.
+## User configuration file contents (UserConfig.xml) The UserConfig file provides configuration settings that get applied for a specific user when deploying the package to a computer running the App-V 5.1 client. These settings don’t affect any other users on the client. Use the UserConfig file to specify or modify custom settings for a package: -- **Extensions 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 -- **Scripts** (user context only) -- **Managing authority** (for controlling co-existence of package with App-V 4.6) +- Extensions 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 +- Scripts (user context only) +- Managing authority (for controlling co-existence of package with App-V 4.6) ### Header + The header of a dynamic user configuration file looks like: + ```xml ``` + 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 app extension points defined in the manifest file, as well as information to configure virtual applications. There are four subsections allowed in the body: + 1. **Applications** 2. **Subsystems** 3. **UserScripts** 4. **ManagingAuthority** #### Applications + All app-extensions contained in the manifest file within a package have an Application ID assigned, which you find in the manifest file. The Application ID lets you enable or disable all extensions for a given application within a package. The Application ID must exist in the manifest file, or it gets ignored. + ```XML @@ -72,7 +77,9 @@ All app-extensions contained in the manifest file within a package have an Appli ``` #### Subsystems + AppExtensions and other subsystems arranged as subnodes. + ```XML @@ -89,13 +96,17 @@ AppExtensions and other subsystems arranged as subnodes. ``` You can enable or disable each subsystem using the **Enabled** attribute. -**Extensions** + +**Extensions** + Some subsystems (extension subsystems) control extensions. Those subsystems are Shortcuts, File-Type associations, URL Protocols, AppPaths, Software Clients, and COM. -Extension subsystems can be enabled and disabled independently of the content. For example, if you enable Shortcuts, the client uses the Shortcuts contained within the manifest by default. Each extension subsystem can contain an \ node. If this child element is present, the client ignores the content in the manifest file for that subsystem and only use the content in the configuration file. +Extension subsystems can be enabled and disabled independently of the content. For example, if you enable Shortcuts, the client uses the Shortcuts contained within the manifest by default. Each extension subsystem can contain an \ node. If this child element is present, the client ignores the content in the manifest file for that subsystem and only use the content in the configuration file. + _**Examples:**_ - If you define this in either the user or deployment config file, the content in the manifest gets ignored. + ```XML @@ -110,12 +121,15 @@ _**Examples:**_ ``` - If you define only the following, the content in the manifest gets integrated during publishing. + ```XML -``` + ``` + - If you define the following, all Shortcuts within the manifest still get ignored. In other words, no Shortcuts get integrated. + ```XML @@ -128,7 +142,7 @@ _**Examples:**_ _**Supported extension subsystems:**_ -**Shortcuts** extension subsystem controls what shortcuts get integrated into the local system. +**Shortcuts** extension subsystem controls what shortcuts get integrated into the local system. ```XML @@ -206,7 +220,6 @@ _**Supported extension subsystems:**_ >[!TIP] >You can set up the subsystem with MIME types. - ```XML @@ -333,8 +346,7 @@ _**Supported extension subsystems:**_ ``` -**URL Protocols** extension subsystem controls the URL protocols integrated into the local registry of the client machine, for example, _mailto:_. - +**URL Protocols** extension subsystem controls the URL protocols integrated into the local registry of the client machine, for example, _mailto:_. ```XML @@ -426,7 +438,6 @@ _**Supported extension subsystems:**_ **Software Clients** extension subsystem allows the app to register as an email client, news reader, media player and makes the app visible in the Set program access and Computer defaults UI. In most cases, you should only need to enable and disable it. There is also a control to enable and disable the email client specifically if you want the other clients still enabled except for that client. - ```XML @@ -579,6 +590,7 @@ Use ManagingAuthority when two versions of your package co-exist on the same mac ``` ## 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. Use the DeploymentConfig file to specify or modify custom settings for a package: @@ -646,7 +658,8 @@ Use the MachineConfiguration section to configure information for an entire mach 4. **TerminateChildProcess** #### Subsystems -AppExtensions and other subsystems arranged as subnodes. + +AppExtensions and other subsystems arranged as subnodes. ```XML @@ -670,11 +683,11 @@ You can enable or disable each subsystem using the **Enabled** attribute. 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: +**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 +- Capable of opening specific file extensions +- A contender for the start menu internet browser slot +- Capable of opening specific windows MIME types This extension also makes the virtual application visible in the Set default programs UI. @@ -753,7 +766,6 @@ This extension also makes the virtual application visible in the Set default pro _**Supported extension subsystems:**_ - **Machine Wide Virtual Registry** extension subsystem sets a registry key in the virtual registry within HKEY_Local_Machine. ```XML @@ -845,6 +857,7 @@ An application executable can be specified, whose child processes get terminated ``` + ## Scripts The following table describes the various script events and the context under which they can be run. From 6bc79ec19430f0b1c995eb9d666a569fd89ec7d5 Mon Sep 17 00:00:00 2001 From: Patti Short Date: Wed, 29 Aug 2018 10:56:34 -0700 Subject: [PATCH 13/13] final formatting changes --- .../about-app-v-51-dynamic-configuration.md | 70 +++++++------------ 1 file changed, 27 insertions(+), 43 deletions(-) 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 52fd9bc05e..45009f6404 100644 --- a/mdop/appv-v5/about-app-v-51-dynamic-configuration.md +++ b/mdop/appv-v5/about-app-v-51-dynamic-configuration.md @@ -48,10 +48,10 @@ The **PackageId** is the same value as exists in the manifest file. The body of the dynamic user configuration file can include all the app extension points defined in the manifest file, as well as information to configure virtual applications. There are four subsections allowed in the body: -1. **Applications** -2. **Subsystems** -3. **UserScripts** -4. **ManagingAuthority** +1. **[Applications](#applications)** +2. **[Subsystems](#subsystems)** +3. **[UserScripts](#userscripts)** +4. **[ManagingAuthority](#managingauthority)** #### Applications @@ -616,7 +616,7 @@ The **PackageId** is the same value as exists in the manifest file. The body of the dynamic deployment configuration file includes two sections: -- **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. +- **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 [User configuration file contents (UserConfig.xml)](#user-configuration-file-contents-userconfigxml). - **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. @@ -646,16 +646,16 @@ The body of the dynamic deployment configuration file includes two sections: ### UserConfiguration -Refer to [User configuration file contents]() for information on the settings provided for this section. +Refer to [User configuration file contents (UserConfig.xml)](#user-configuration-file-contents-userconfigxml) for information on the settings provided for this section. ### MachineConfiguration 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** +1. **[Subsystems](#subsystems-1)** +2. **[ProductSourceURLOptOut](#productsourceurloptout)** +3. **[MachineScripts](#machinescripts)** +4. **[TerminateChildProcess](#terminatechildprocess)** #### Subsystems @@ -899,7 +899,7 @@ the deployment configuration file. Using the following example file and table, modify the deployment or user configuration file to add the scripts that you want to run. -``` +```XML ScriptRunner.exe @@ -914,24 +914,19 @@ configuration file to add the scripts that you want to run. ``` -Parameter in the example file +**Parameters in the example file include:** #### \ -Name of the event trigger for which you are running a script, such as adding a -package or publishing a package. +Name of the event trigger for which you are running a script, such as adding a package or publishing a package. #### \ScriptRunner.exe\ -The script launcher application that is installed as part of the App-V client -installation. +The script launcher application that is installed as part of the App-V client installation. >[!NOTE] ->Although ScriptRunner.exe is installed as part of the App-V client, the -location of the App-V client must be in %path% or ScriptRunner will not run. -ScriptRunner.exe is typically located in the C:FilesApplication -Virtualizationfolder. +>Although ScriptRunner.exe is installed as part of the App-V client, the location of the App-V client must be in %path% or ScriptRunner will not run. ScriptRunner.exe is typically located in the C:FilesApplication Virtualizationfolder. #### \ @@ -941,42 +936,29 @@ Virtualizationfolder. `arg1 arg2` – Arguments for the script that you want to run. -`-appvscriptrunnerparameters` – Token that represents the execution options -for script1.exe +`-appvscriptrunnerparameters` – Token that represents the execution options for script1.exe. -`-wait` – Token that informs ScriptRunner to wait for execution of script1.exe -to complete before proceeding to the next script. +`-wait` – Token that informs ScriptRunner to wait for execution of script1.exe to complete before proceeding to the next script. -`-timeout=x` – Token that informs ScriptRunner to stop running the current -script after x number of seconds. All other specified scripts still runs. +`-timeout=x` – Token that informs ScriptRunner to stop running the current script after x number of seconds. All other specified scripts still runs. -`-rollbackonerror` – Token that informs ScriptRunner to stop running all -scripts that haven't yet run and to roll back an error to the App-V client. +`-rollbackonerror` – Token that informs ScriptRunner to stop running all scripts that haven't yet run and to roll back an error to the App-V client. #### \ Waits for overall completion of ScriptRunner.exe. -Set the timeout value for the overall runner to be greater than or equal to the -sum of the timeout values on the individual scripts. +Set the timeout value for the overall runner to be greater than or equal to the sum of the timeout values on the individual scripts. -If any individual script reported an error and rollbackonerror was set to true, -then ScriptRunner would report the error to App-V client. +If any individual script reported an error and rollbackonerror was set to true, then ScriptRunner would report the error to App-V client. -ScriptRunner runs any script whose file type is associated with an application -installed on the computer. If the associated application is missing, or the -script’s file type is not associated with any application on the computer, the -script does not run. +ScriptRunner runs any script whose file type is associated with an application installed on the computer. If the associated application is missing, or the script’s file type is not associated with any application on the computer, the script does not run. -### Create a Dynamic Configuration file using an App-V 5.1 Manifest file +### Create a dynamic configuration file using an App-V 5.1 manifest file -You can create the Dynamic Configuration file using one of three methods: either manually, using the App-V 5.1 Management Console or sequencing a package, which will be generated with 2 sample files. +You can create the dynamic configuration file using one of three methods: either manually, using the App-V 5.1 Management Console or sequencing a package, which generates two sample files. For more information about how to create the file using the App-V 5.1 Management Console see, [How to create a custom configuration File by using the App-V 5.1 Management Console](how-to-create-a-custom-configuration-file-by-using-the-app-v-51-management-console.md). -For more information about how to create the file using the App-V 5.1 Management Console see, [How to Create a Custom Configuration File by Using the App-V 5.1 Management Console](how-to-create-a-custom-configuration-file-by-using-the-app-v-51-management-console.md). - -To create the file manually, the information above in previous sections can be -combined into a single file. We recommend you use files generated by the -sequencer. +To create the file manually, the information above in previous sections can be combined into a single file. We recommend you use files generated by the sequencer. ## Got a suggestion for App-V? @@ -990,3 +972,5 @@ sequencer. - [How to Apply the User Configuration File by Using PowerShell](how-to-apply-the-user-configuration-file-by-using-powershell51.md) - [Operations for App-V 5.1](operations-for-app-v-51.md) + +--- \ No newline at end of file