mirror of
https://github.com/MicrosoftDocs/windows-itpro-docs.git
synced 2025-06-15 18:33:43 +00:00
5548201-htmltableconvertupdate-batch02
This commit is contained in:
@ -70,201 +70,48 @@ Use the information in the following section for more information:
|
||||
|
||||
[Enhancing the VDI Experience through Performance Optimization/Tuning](#bkmk-evdi)
|
||||
|
||||
### <a href="" id="applicability-checklist-"></a>Applicability Checklist
|
||||
### Applicability Checklist
|
||||
|
||||
Deployment Environment
|
||||
|Checklist|Deployment Environment|
|
||||
|--- |--- |
|
||||
||Non-Persistent VDI or RDSH.|
|
||||
||User Experience Virtualization (UE-V), other UPM solutions or User Profile Disks (UPD).|
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="50%" />
|
||||
<col width="50%" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><img src="images/checklistbox.gif" alt="Checklist box" /></td>
|
||||
<td align="left"><p>Non-Persistent VDI or RDSH.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><img src="images/checklistbox.gif" alt="Checklist box" /></td>
|
||||
<td align="left"><p>User Experience Virtualization (UE-V), other UPM solutions or User Profile Disks (UPD).</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|Checklist|Expected Configuration|
|
||||
|--- |--- |
|
||||
||User Experience Virtualization (UE-V) with the App-V user state template enabled or User Profile Management (UPM) software. Non-UE-V UPM software must be capable of triggering on Login or Process/Application Start and Logoff.|
|
||||
||App-V Shared Content Store (SCS) is configured or can be configured.|
|
||||
|
||||
|
||||
|
||||
Expected Configuration
|
||||
|Checklist|IT Administration|
|
||||
|--- |--- |
|
||||
||Admin may need to update the VM base image regularly to ensure optimal performance or Admin may need to manage multiple images for different user groups.|
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="50%" />
|
||||
<col width="50%" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><img src="images/checklistbox.gif" alt="Checklist box" /></td>
|
||||
<td align="left"><p>User Experience Virtualization (UE-V) with the App-V user state template enabled or User Profile Management (UPM) software. Non-UE-V UPM software must be capable of triggering on Login or Process/Application Start and Logoff.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><img src="images/checklistbox.gif" alt="Checklist box" /></td>
|
||||
<td align="left"><p>App-V Shared Content Store (SCS) is configured or can be configured.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
IT Administration
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="50%" />
|
||||
<col width="50%" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><img src="images/checklistbox.gif" alt="Checklist box" /></td>
|
||||
<td align="left"><p>Admin may need to update the VM base image regularly to ensure optimal performance or Admin may need to manage multiple images for different user groups.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
### <a href="" id="bkmk-us"></a>Usage Scenarios
|
||||
### Usage Scenarios
|
||||
|
||||
As you review the two scenarios, keep in mind that these approach the extremes. Based on your usage requirements, you may choose to apply these steps to a subset of users, virtual application packages, or both.
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="50%" />
|
||||
<col width="50%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th align="left">Optimized for Performance</th>
|
||||
<th align="left">Optimized for Storage</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>To provide the most optimal user experience, this approach leverages the capabilities of a UPM solution and requires additional image preparation and can incur some additional image management overhead.</p>
|
||||
<p>The following describes many performance improvements in stateful non-persistent deployments. For more information, see <a href="#sequencing-steps-to-optimize-packages-for-publishing-performance" data-raw-source="[Sequencing Steps to Optimize Packages for Publishing Performance](#sequencing-steps-to-optimize-packages-for-publishing-performance)">Sequencing Steps to Optimize Packages for Publishing Performance</a> later in this topic.</p></td>
|
||||
<td align="left"><p>The general expectations of the previous scenario still apply here. However, keep in mind that VM images are typically stored in very costly arrays; a slight alteration has been made to the approach. Do not pre-configure user-targeted virtual application packages in the base image.</p>
|
||||
<p>The impact of this alteration is detailed in the <a href="#bkmk-uewt" data-raw-source="[User Experience Walk-through](#bkmk-uewt)">User Experience Walk-through</a> section of this document.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|Optimized for Performance|Optimized for Storage|
|
||||
|--- |--- |
|
||||
|To provide the most optimal user experience, this approach leverages the capabilities of a UPM solution and requires additional image preparation and can incur some additional image management overhead.<br> <br>The following describes many performance improvements in stateful non-persistent deployments. For more information, see [Sequencing Steps to Optimize Packages for Publishing Performance](#sequencing-steps-to-optimize-packages-for-publishing-performance) later in this topic.|The general expectations of the previous scenario still apply here. However, keep in mind that VM images are typically stored in very costly arrays; a slight alteration has been made to the approach. Do not pre-configure user-targeted virtual application packages in the base image.<br> <br>The impact of this alteration is detailed in the [User Experience Walk-through](#bkmk-uewt) section of this document.|
|
||||
|
||||
|
||||
|
||||
### <a href="" id="bkmk-pe"></a>Preparing your Environment
|
||||
### Preparing your Environment
|
||||
|
||||
The following table displays the required steps to prepare the base image and the UE-V or another UPM solution for the approach.
|
||||
|
||||
**Prepare the Base Image**
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="50%" />
|
||||
<col width="50%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th align="left">Optimized for Performance</th>
|
||||
<th align="left">Optimized for Storage</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><p></p>
|
||||
<ul>
|
||||
<li><p>Enable the App-V client as described in <a href="appv-enable-the-app-v-desktop-client.md" data-raw-source="[Enable the App-V in-box client](appv-enable-the-app-v-desktop-client.md)">Enable the App-V in-box client</a>.</p></li>
|
||||
<li><p>Enable UE-V and download the App-V Settings Template from the UE-V template Gallery, see the following steps.</p></li>
|
||||
<li><p>Configure for Shared Content Store (SCS) mode. For more information see <a href="appv-deploying-the-appv-sequencer-and-client.md" data-raw-source="[Deploying the App-V Sequencer and Configuring the Client](appv-deploying-the-appv-sequencer-and-client.md)">Deploying the App-V Sequencer and Configuring the Client</a>.</p></li>
|
||||
<li><p>Configure Preserve User Integrations on Login Registry DWORD.</p></li>
|
||||
<li><p>Pre-configure all user- and global-targeted packages for example, <strong>Add-AppvClientPackage</strong>.</p></li>
|
||||
<li><p>Pre-configure all user- and global-targeted connection groups for example, <strong>Add-AppvClientConnectionGroup</strong>.</p></li>
|
||||
<li><p>Pre-publish all global-targeted packages.</p>
|
||||
<p></p>
|
||||
<p>Alternatively,</p>
|
||||
<ul>
|
||||
<li><p>Perform a global publishing/refresh.</p></li>
|
||||
<li><p>Perform a user publishing/refresh.</p></li>
|
||||
<li><p>Un-publish all user-targeted packages.</p></li>
|
||||
<li><p>Delete the following user-Virtual File System (VFS) entries.</p></li>
|
||||
</ul>
|
||||
<p><code>AppData\Local\Microsoft\AppV\Client\VFS</code></p>
|
||||
<p><code>AppData\Roaming\Microsoft\AppV\Client\VFS</code></p></li>
|
||||
</ul></td>
|
||||
<td align="left"><p></p>
|
||||
<ul>
|
||||
<li><p>Enable the App-V client as described in <a href="appv-enable-the-app-v-desktop-client.md" data-raw-source="[Enable the App-V in-box client](appv-enable-the-app-v-desktop-client.md)">Enable the App-V in-box client</a>.</p></li>
|
||||
<li><p>Enable UE-V and download the App-V Settings Template from the UE-V template Gallery, see the following steps.</p></li>
|
||||
<li><p>Configure for Shared Content Store (SCS) mode. For more information see <a href="appv-deploying-the-appv-sequencer-and-client.md" data-raw-source="[Deploying the App-V Sequencer and Configuring the Client](appv-deploying-the-appv-sequencer-and-client.md)">Deploying the App-V Sequencer and Configuring the Client</a>.</p></li>
|
||||
<li><p>Configure Preserve User Integrations on Login Registry DWORD.</p></li>
|
||||
<li><p>Pre-configure all global-targeted packages for example, <strong>Add-AppvClientPackage</strong>.</p></li>
|
||||
<li><p>Pre-configure all global-targeted connection groups for example, <strong>Add-AppvClientConnectionGroup</strong>.</p></li>
|
||||
<li><p>Pre-publish all global-targeted packages.</p>
|
||||
<p></p></li>
|
||||
</ul></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|Optimized for Performance|Optimized for Storage|
|
||||
|--- |--- |
|
||||
|<li>Enable the App-V client as described in [Enable the App-V in-box client](appv-enable-the-app-v-desktop-client.md).<li>Enable UE-V and download the App-V Settings Template from the UE-V template Gallery, see the following steps.<li>Configure for Shared Content Store (SCS) mode. For more information see [Deploying the App-V Sequencer and Configuring the Client](appv-deploying-the-appv-sequencer-and-client.md).<li>Configure Preserve User Integrations on Login Registry DWORD.<li>Pre-configure all user- and global-targeted packages for example, **Add-AppvClientPackage**.<li>Pre-configure all user- and global-targeted connection groups for example, **Add-AppvClientConnectionGroup**.<li>Pre-publish all global-targeted packages.<br>Alternatively,<li>Perform a global publishing/refresh.<li>Perform a user publishing/refresh.<li>Un-publish all user-targeted packages.<li>Delete the following user-Virtual File System (VFS) entries<br><code>AppData\Local\Microsoft\AppV\Client\VFS</code><br><code>AppData\Roaming\Microsoft\AppV\Client\VFS</code>|<li>Enable the App-V client as described in [Enable the App-V in-box client](appv-enable-the-app-v-desktop-client.md).<li>Enable UE-V and download the App-V Settings Template from the UE-V template Gallery, see the following steps.<li>Configure for Shared Content Store (SCS) mode. For more information see Deploying the<li>App-V Sequencer and Configuring the Client.<li>Configure Preserve User Integrations on Login Registry DWORD.<li>Pre-configure all global-targeted packages for example,** Add-AppvClientPackage**.<li>Pre-configure all global-targeted connection groups for example, **Add-AppvClientConnectionGroup**.<li>Pre-publish all global-targeted packages.|
|
||||
|
||||
**Configurations** - For critical App-V Client configurations and for a little more context and how-to, review the following information:
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="33%" />
|
||||
<col width="33%" />
|
||||
<col width="33%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th align="left">Configuration Setting</th>
|
||||
<th align="left">What does this do?</th>
|
||||
<th align="left">How should I use it?</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Shared Content Store (SCS) Mode</p>
|
||||
<ul>
|
||||
<li><p>Configurable in Windows PowerShell with <code>Set-AppvClientConfiguration -SharedContentStoreMode 1</code><br>or configurable with Group Policy, as described in <a href="appv-deploying-the-appv-sequencer-and-client.md" data-raw-source="[Deploying the App-V Sequencer and Configuring the Client](appv-deploying-the-appv-sequencer-and-client.md)">Deploying the App-V Sequencer and Configuring the Client</a>.</p></li>
|
||||
</ul></td>
|
||||
<td align="left"><p>When running the shared content store only publishing data is maintained on hard disk; other virtual application assets are maintained in memory (RAM).</p>
|
||||
<p>This helps to conserve local storage and minimize disk I/O per second (IOPS).</p></td>
|
||||
<td align="left"><p>This is recommended when low-latency connections are available between the App-V Client endpoint and the SCS content server, SAN.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><p>PreserveUserIntegrationsOnLogin</p>
|
||||
<ul>
|
||||
<li><p>Configure in the Registry under <strong>HKEY_LOCAL_MACHINE</strong> \ <strong>Software</strong> \ <strong>Microsoft</strong> \ <strong>AppV</strong> \ <strong>Client</strong> \ <strong>Integration</strong>.</p></li>
|
||||
<li><p>Create the DWORD value <strong>PreserveUserIntegrationsOnLogin</strong> with a value of <strong>1</strong>.</p></li>
|
||||
<li><p>Restart the App-V client service or restart the computer running the App-V Client.</p></li>
|
||||
</ul></td>
|
||||
<td align="left"><p>If you have not pre-configured (<strong>Add-AppvClientPackage</strong>) a specific package and this setting is not configured, the App-V Client will de-integrate* the persisted user integrations, then re-integrate*.</p>
|
||||
<p>For every package that meets the above conditions, effectively twice the work will be done during publishing/refresh.</p></td>
|
||||
<td align="left"><p>If you don’t plan to pre-configure every available user package in the base image, use this setting.</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>MaxConcurrentPublishingRefresh</p>
|
||||
<ul>
|
||||
<li><p>Configure in the Registry under <strong>HKEY_LOCAL_MACHINE</strong> \ <strong>Software</strong> \ <strong>Microsoft</strong> \ <strong>AppV</strong> \ <strong>Client</strong> \ <strong>Publishing</strong>.</p></li>
|
||||
<li><p>Create the DWORD value <strong>MaxConcurrentPublishingrefresh</strong> with the desired maximum number of concurrent publishing refreshes.</p></li>
|
||||
<li><p>The App-V client service and computer do not need to be restarted.</p></li>
|
||||
</ul></td>
|
||||
<td align="left"><p>This setting determines the number of users that can perform a publishing refresh/sync at the same time. The default setting is no limit.</p></td>
|
||||
<td align="left"><p>Limiting the number of concurrent publishing refreshes prevents excessive CPU usage that could impact computer performance. This limit is recommended in an RDS environment, where multiple users can log in to the same computer at the same time and perform a publishing refresh sync.</p>
|
||||
<p>If the concurrent publishing refresh threshold is reached, the time required to publish new applications and make them available to end users after they log in could take an indeterminate amount of time.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|Configuration Setting|What does this do?|How should I use it?|
|
||||
|--- |--- |--- |
|
||||
|Shared Content Store (SCS) Mode<br> <li>Configurable in Windows PowerShell with <code>Set-AppvClientConfiguration -SharedContentStoreMode 1</code> <br>or configurable with Group Policy, as described in [Deploying the App-V Sequencer and Configuring the Client](appv-deploying-the-appv-sequencer-and-client.md).|When running the shared content store only publishing data is maintained on hard disk; other virtual application assets are maintained in memory (RAM).<br>This helps to conserve local storage and minimize disk I/O per second (IOPS).|This is recommended when low-latency connections are available between the App-V Client endpoint and the SCS content server, SAN.|
|
||||
|PreserveUserIntegrationsOnLogin<li>Configure in the Registry under **HKEY_LOCAL_MACHINE \ Software \ Microsoft \ AppV \ Client \ Integration**.<li>Create the DWORD value **PreserveUserIntegrationsOnLogin** with a value of 1.<li>Restart the App-V client service or restart the computer running the App-V Client.|If you have not pre-configured (**Add-AppvClientPackage**) a specific package and this setting is not configured, the App-V Client will de-integrate* the persisted user integrations, then re-integrate*.<br>For every package that meets the above conditions, effectively twice the work will be done during publishing/refresh.|If you don’t plan to pre-configure every available user package in the base image, use this setting.|
|
||||
|MaxConcurrentPublishingRefresh<li>Configure in the Registry under **HKEY_LOCAL_MACHINE \ Software \ Microsoft \ AppV \ Client \ Publishing**.<li>Create the DWORD value **MaxConcurrentPublishingrefresh** with the desired maximum number of concurrent publishing refreshes.<li>The App-V client service and computer do not need to be restarted.|This setting determines the number of users that can perform a publishing refresh/sync at the same time. The default setting is no limit.|Limiting the number of concurrent publishing refreshes prevents excessive CPU usage that could impact computer performance. This limit is recommended in an RDS environment, where multiple users can log in to the same computer at the same time and perform a publishing refresh sync.<br>If the concurrent publishing refresh threshold is reached, the time required to publish new applications and make them available to end users after they log in could take an indeterminate amount of time.|
|
||||
|
||||
### Configure UE-V solution for App-V Approach
|
||||
|
||||
@ -355,83 +202,14 @@ Registry – HKEY\_CURRENT\_USER
|
||||
|
||||
This following is a step-by-step walk-through of the App-V and UPM operations and the expectations users should expect.
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="50%" />
|
||||
<col width="50%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th align="left">Optimized for Performance</th>
|
||||
<th align="left">Optimized for Storage</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>After implementing this approach in the VDI/RDSH environment, on first login,</p>
|
||||
<ul>
|
||||
<li><p>(Operation) A user-publishing/refresh is initiated. (Expectation) If this is the first time a user has published virtual applications (e.g. non-persistent), this will take the usual duration of a publishing/refresh.</p></li>
|
||||
<li><p>(Operation) After the publishing/refresh, the UPM solution captures the user integrations. (Expectation) Depending on how the UPM solution is configured, this may occur as part of the logoff process. This will incur the same/similar overhead as persisting the user state.</p></li>
|
||||
</ul>
|
||||
<p>On subsequent logins:</p>
|
||||
<ul>
|
||||
<li><p>(Operation) UPM solution applies the user integrations to the system prior to publishing/refresh.</p>
|
||||
<p>(Expectation) There will be shortcuts present on the desktop, or in the start menu, which work immediately. When the publishing/refresh completes (i.e., package entitlements change), some may go away.</p></li>
|
||||
<li><p>(Operation) Publishing/refresh will process un-publish and publish operations for changes in user package entitlements. (Expectation) If there are no entitlement changes, publishing1 will complete in seconds. Otherwise, the publishing/refresh will increase relative to the number and complexity* of virtual applications</p></li>
|
||||
<li><p>(Operation) UPM solution will capture user integrations again at logoff. (Expectation) Same as previous.</p></li>
|
||||
</ul>
|
||||
<p>¹ The publishing operation (<strong>Publish-AppVClientPackage</strong>) adds entries to the user catalog, maps entitlement to the user, identifies the local store, and finishes by completing any integration steps.</p></td>
|
||||
<td align="left"><p>After implementing this approach in the VDI/RDSH environment, on first login,</p>
|
||||
<ul>
|
||||
<li><p>(Operation) A user-publishing/refresh is initiated. (Expectation)</p>
|
||||
<ul>
|
||||
<li><p>If this is the first time a user has published virtual applications (e.g., non-persistent), this will take the usual duration of a publishing/refresh.</p></li>
|
||||
<li><p>First and subsequent logins will be impacted by pre-configuring of packages (add/refresh).</p>
|
||||
<p></p></li>
|
||||
</ul></li>
|
||||
<li><p>(Operation) After the publishing/refresh, the UPM solution captures the user integrations. (Expectation) Depending on how the UPM solution is configured, this may occur as part of the logoff process. This will incur the same/similar overhead as persisting the user state</p></li>
|
||||
</ul>
|
||||
<p>On subsequent logins:</p>
|
||||
<ul>
|
||||
<li><p>(Operation) UPM solution applies the user integrations to the system prior to publishing/refresh.</p></li>
|
||||
<li><p>(Operation) Add/refresh must pre-configure all user targeted applications. (Expectation)</p>
|
||||
<ul>
|
||||
<li><p>This may increase the time to application availability significantly (on the order of 10’s of seconds).</p></li>
|
||||
<li><p>This will increase the publishing refresh time relative to the number and complexity* of virtual applications.</p>
|
||||
<p></p></li>
|
||||
</ul></li>
|
||||
<li><p>(Operation) Publishing/refresh will process un-publish and publish operations for changes to user package entitlements.</p></li>
|
||||
</ul></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|Optimized for Performance|Optimized for Storage|
|
||||
|--- |--- |
|
||||
|After implementing this approach in the VDI/RDSH environment, on first login,<li>(Operation) A user-publishing/refresh is initiated. (Expectation) If this is the first time a user has published virtual applications (e.g. non-persistent), this will take the usual duration of a publishing/refresh.<li>(Operation) After the publishing/refresh, the UPM solution captures the user integrations.<li>(Expectation) Depending on how the UPM solution is configured, this may occur as part of the logoff process. This will incur the same/similar overhead as persisting the user state.<br> <br>On subsequent logins:<li>(Operation) UPM solution applies the user integrations to the system prior to publishing/refresh.<li>(Expectation) There will be shortcuts present on the desktop, or in the start menu, which work immediately. When the publishing/refresh completes (i.e., package entitlements change), some may go away.<li>(Operation) Publishing/refresh will process un-publish and publish operations for changes in user package entitlements. <li>(Expectation) If there are no entitlement changes, publishing1 will complete in seconds. Otherwise, the publishing/refresh will increase relative to the number and complexity* of virtual applications<li>(Operation) UPM solution will capture user integrations again at logoff. (Expectation) Same as previous.<br> <br>¹ The publishing operation (**Publish-AppVClientPackage**) adds entries to the user catalog, maps entitlement to the user, identifies the local store, and finishes by completing any integration steps.|After implementing this approach in the VDI/RDSH environment, on first login<li>(Operation) A user-publishing/refresh is initiated. (Expectation)<ul> <li>If this is the first time a user has published virtual applications (e.g., non-persistent), this will take the usual duration of a publishing/refresh.<li>First and subsequent logins will be impacted by pre-configuring of packages (add/refresh).</ul><li>(Operation) After the publishing/refresh, the UPM solution captures the user integrations.<li> (Expectation) Depending on how the UPM solution is configured, this may occur as part of the logoff process. This will incur the same/similar overhead as persisting the user state. <br> <br>On subsequent logins:<li>(Operation) UPM solution applies the user integrations to the system prior to publishing/refresh.<li>(Operation) Add/refresh must pre-configure all user targeted applications. <ul><li>(Expectation) This may increase the time to application availability significantly (on the order of 10’s of seconds).<li>This will increase the publishing refresh time relative to the number and complexity* of virtual applications.</ul> <li>(Operation) Publishing/refresh will process un-publish and publish operations for changes to user package entitlements.|
|
||||
|
||||
|
||||
|Outcome|Outcome|
|
||||
|--- |--- |
|
||||
|Because the user integrations are entirely preserved, there will be no work for example, integration for the publishing/refresh to complete. All virtual applications will be available within seconds of login.<br><br>The publishing/refresh will process changes to the users entitled virtual applications which impacts the experience.|Because the add/refresh must re-configure all the virtual applications to the VM, the publishing refresh time on every login will be extended.|
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="50%" />
|
||||
<col width="50%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th align="left">Outcome</th>
|
||||
<th align="left">Outcome</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><p></p>
|
||||
<ul>
|
||||
<li><p>Because the user integrations are entirely preserved, there will be no work for example, integration for the publishing/refresh to complete. All virtual applications will be available within seconds of login.</p></li>
|
||||
<li><p>The publishing/refresh will process changes to the users entitled virtual applications which impacts the experience.</p></li>
|
||||
</ul></td>
|
||||
<td align="left"><p>Because the add/refresh must re-configure all the virtual applications to the VM, the publishing refresh time on every login will be extended.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
### <a href="" id="bkmk-plc"></a>Impact to Package Life Cycle
|
||||
|
||||
@ -489,36 +267,9 @@ Server Performance Tuning Guidelines for
|
||||
|
||||
Several App-V features facilitate new scenarios or enable new customer deployment scenarios. These following features can impact the performance of the publishing and launch operations.
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="25%" />
|
||||
<col width="25%" />
|
||||
<col width="25%" />
|
||||
<col width="25%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th align="left">Step</th>
|
||||
<th align="left">Consideration</th>
|
||||
<th align="left">Benefits</th>
|
||||
<th align="left">Tradeoffs</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>No Feature Block 1 (FB1, also known as Primary FB)</p></td>
|
||||
<td align="left"><p>No FB1 means the application will launch immediately and stream fault (application requires file, DLL and must pull down over the network) during launch. If there are network limitations, FB1 will:</p>
|
||||
<ul>
|
||||
<li><p>Reduce the number of stream faults and network bandwidth used when you launch an application for the first time.</p></li>
|
||||
<li><p>Delay launch until the entire FB1 has been streamed.</p></li>
|
||||
</ul></td>
|
||||
<td align="left"><p>Stream faulting decreases the launch time.</p></td>
|
||||
<td align="left"><p>Virtual application packages with FB1 configured will need to be re-sequenced.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|Step|Consideration|Benefits|Tradeoffs|
|
||||
|--- |--- |--- |--- |
|
||||
|No Feature Block 1 (FB1, also known as Primary FB)|No FB1 means the application will launch immediately and stream fault (application requires file, DLL and must pull down over the network) during launch. If there are network limitations, FB1 will:<br><li>Reduce the number of stream faults and network bandwidth used when you launch an application for the first time.<li>Delay launch until the entire FB1 has been streamed.|Stream faulting decreases the launch time.|Virtual application packages with FB1 configured will need to be re-sequenced.|
|
||||
|
||||
### Removing FB1
|
||||
|
||||
@ -555,36 +306,12 @@ Removing FB1 does not require the original application installer. After completi
|
||||
"C:\\UpgradedPackages"
|
||||
|
||||
**Note**
|
||||
This cmdlet requires an executable (.exe) or batch file (.bat). You must provide an empty (does nothing) executable or batch file.
|
||||
This cmdlet requires an executable (.exe) or batch file (.bat). You must provide an empty (does nothing) executable or batch file.
|
||||
|
||||
|
||||
|Step|Considerations|Benefits|Tradeoffs|
|
||||
|--- |--- |--- |--- |
|
||||
|No SXS Install at Publish (Pre-Install SxS assemblies)|Virtual Application packages do not need to be re-sequenced. SxS Assemblies can remain in the virtual application package.|The SxS Assembly dependencies will not install at publishing time.|SxS Assembly dependencies must be pre-installed.|
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="25%" />
|
||||
<col width="25%" />
|
||||
<col width="25%" />
|
||||
<col width="25%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th align="left">Step</th>
|
||||
<th align="left">Considerations</th>
|
||||
<th align="left">Benefits</th>
|
||||
<th align="left">Tradeoffs</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>No SXS Install at Publish (Pre-Install SxS assemblies)</p></td>
|
||||
<td align="left"><p>Virtual Application packages do not need to be re-sequenced. SxS Assemblies can remain in the virtual application package.</p></td>
|
||||
<td align="left"><p>The SxS Assembly dependencies will not install at publishing time.</p></td>
|
||||
<td align="left"><p>SxS Assembly dependencies must be pre-installed.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
### Creating a new virtual application package on the sequencer
|
||||
|
||||
@ -594,33 +321,9 @@ If, during sequencer monitoring, an SxS Assembly (such as a VC++ Runtime) is ins
|
||||
|
||||
When publishing a virtual application package, the App-V Client will detect if a required SxS dependency is already installed. If the dependency is unavailable on the computer and it is included in the package, a traditional Windows Installer (.**msi**) installation of the SxS assembly will be initiated. As previously documented, simply install the dependency on the computer running the client to ensure that the Windows Installer (.msi) installation will not occur.
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="25%" />
|
||||
<col width="25%" />
|
||||
<col width="25%" />
|
||||
<col width="25%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th align="left">Step</th>
|
||||
<th align="left">Considerations</th>
|
||||
<th align="left">Benefits</th>
|
||||
<th align="left">Tradeoffs</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Selectively Employ Dynamic Configuration files</p></td>
|
||||
<td align="left"><p>The App-V client must parse and process these Dynamic Configuration files.</p>
|
||||
<p>Be conscious of size and complexity (script execution, VREG inclusions/exclusions) of the file.</p>
|
||||
<p>Numerous virtual application packages may already have User- or computer–specific dynamic configurations files.</p></td>
|
||||
<td align="left"><p>Publishing times will improve if these files are used selectively or not at all.</p></td>
|
||||
<td align="left"><p>Virtual application packages would need to be reconfigured individually or via the App-V server management console to remove associated Dynamic Configuration files.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|Step|Considerations|Benefits|Tradeoffs|
|
||||
|--- |--- |--- |--- |
|
||||
|Selectively Employ Dynamic Configuration files|The App-V client must parse and process these Dynamic Configuration files. <br> <br>Be conscious of size and complexity (script execution, VREG inclusions/exclusions) of the file.<br> <br>Numerous virtual application packages may already have User- or computer–specific dynamic configurations files.|Publishing times will improve if these files are used selectively or not at all.|Virtual application packages would need to be reconfigured individually or via the App-V server management console to remove associated Dynamic Configuration files.|
|
||||
|
||||
|
||||
### Disabling a Dynamic Configuration by using Windows PowerShell
|
||||
@ -639,39 +342,10 @@ For documentation on How to Apply a Dynamic Configuration, see:
|
||||
|
||||
- [How to Apply the Deployment Configuration File by Using Windows PowerShell](appv-apply-the-deployment-configuration-file-with-powershell.md)
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="25%" />
|
||||
<col width="25%" />
|
||||
<col width="25%" />
|
||||
<col width="25%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th align="left">Step</th>
|
||||
<th align="left">Considerations</th>
|
||||
<th align="left">Benefits</th>
|
||||
<th align="left">Tradeoffs</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Account for Synchronous Script Execution during Package Lifecycle.</p></td>
|
||||
<td align="left"><p>If script collateral is embedded in the package, Add cmdlets may be significantly slower.</p>
|
||||
<p>Running of scripts during virtual application launch (StartVirtualEnvironment, StartProcess) and/or Add+Publish will impact the perceived performance during one or more of these lifecycle operations.</p></td>
|
||||
<td align="left"><p>Use of Asynchronous (Non-Blocking) Scripts will ensure that the lifecycle operations complete efficiently.</p></td>
|
||||
<td align="left"><p>This step requires working knowledge of all virtual application packages with embedded script collateral, which have associated dynamic configurations files and which reference and run scripts synchronously.</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><p>Remove Extraneous Virtual Fonts from Package.</p></td>
|
||||
<td align="left"><p>The majority of applications investigated by the App-V product team contained a small number of fonts, typically fewer than 20.</p></td>
|
||||
<td align="left"><p>Virtual Fonts impact publishing refresh performance.</p></td>
|
||||
<td align="left"><p>Desired fonts will need to be enabled/installed natively. For instructions, see Install or uninstall fonts.</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|Step|Considerations|Benefits|Tradeoffs|
|
||||
|--- |--- |--- |--- |
|
||||
|Account for Synchronous Script Execution during Package Lifecycle.|If script collateral is embedded in the package, Add cmdlets may be significantly slower.<br>Running of scripts during virtual application launch (StartVirtualEnvironment, StartProcess) and/or Add+Publish will impact the perceived performance during one or more of these lifecycle operations.|Use of Asynchronous (Non-Blocking) Scripts will ensure that the lifecycle operations complete efficiently.|This step requires working knowledge of all virtual application packages with embedded script collateral, which have associated dynamic configurations files and which reference and run scripts synchronously.|
|
||||
|Remove Extraneous Virtual Fonts from Package.|The majority of applications investigated by the App-V product team contained a small number of fonts, typically fewer than 20.|Virtual Fonts impact publishing refresh performance.|Desired fonts will need to be enabled/installed natively. For instructions, see Install or uninstall fonts.|
|
||||
|
||||
### Determining what virtual fonts exist in the package
|
||||
|
||||
|
@ -54,46 +54,11 @@ Starting with App-V 5.0 SP3, when using RunVirtual, you can publish packages glo
|
||||
|
||||
1. Using the information in the following table, create a new registry key using the name of the executable file, for example, **MyApp.exe**.
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="50%" />
|
||||
<col width="50%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th align="left">Package publishing method</th>
|
||||
<th align="left">Where to create the registry key</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Published globally</p></td>
|
||||
<td align="left"><p>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual</p>
|
||||
<p><strong>Example</strong>: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><p>Published to the user</p></td>
|
||||
<td align="left"><p>HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual</p>
|
||||
<p><strong>Example</strong>: HKEY_CURRENT_USER \SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Connection group can contain:</p>
|
||||
<ul>
|
||||
<li><p>Packages that are published just globally or just to the user</p></li>
|
||||
<li><p>Packages that are published globally and to the user</p></li>
|
||||
</ul></td>
|
||||
<td align="left"><p>Either HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER key, but all of the following must be true:</p>
|
||||
<ul>
|
||||
<li><p>If you want to include multiple packages in the virtual environment, you must include them in an enabled connection group.</p></li>
|
||||
<li><p>Create only one subkey for one of the packages in the connection group. If, for example, you have one package that is published globally, and another package that is published to the user, you create a subkey for either of these packages, but not both. Although you create a subkey for only one of the packages, all of the packages in the connection group, plus the local application, will be available in the virtual environment.</p></li>
|
||||
<li><p>The key under which you create the subkey must match the publishing method you used for the package.</p>
|
||||
<p>For example, if you published the package to the user, you must create the subkey under <code>HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual</code>. Do not add a key for the same application under both hives.</p></li>
|
||||
</ul></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|Package publishing method|Where to create the registry key|
|
||||
|--- |--- |
|
||||
|Published globally|HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual<br>**Example:** <br>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe|
|
||||
|Published to the user|HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual<br> **Example:** <br>HKEY_CURRENT_USER \SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe|
|
||||
|Connection group can contain:<li>Packages that are published just globally or just to the user<li>Packages that are published globally and to the user|Either HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER key, but all of the following must be true:<li>If you want to include multiple packages in the virtual environment, you must include them in an enabled connection group.<li>Create only one subkey for one of the packages in the connection group. If, for example, you have one package that is published globally, and another package that is published to the user, you create a subkey for either of these packages, but not both. Although you create a subkey for only one of the packages, all of the packages in the connection group, plus the local application, will be available in the virtual environment.<li>The key under which you create the subkey must match the publishing method you used for the package.<li>For example, if you published the package to the user, you must create the subkey under<code>HKEY_CURRENT_USER\SOFTWARE\Microsoft\AppV\Client\RunVirtual</code>. Do not add a key for the same application under both hives.|
|
||||
|
||||
2. Set the new registry subkey’s value to the PackageId and VersionId of the package, separating the values with an underscore.
|
||||
|
||||
|
@ -42,47 +42,11 @@ You can obtain information about the App-V client or perform specific tasks by u
|
||||
|
||||
The client management console contains the following described main tabs.
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="20%" />
|
||||
<col width="80%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th align="left">Tab</th>
|
||||
<th align="left">Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Overview</p></td>
|
||||
<td align="left"><p>The <strong>Overview</strong> tab contains the following elements:</p>
|
||||
<ul>
|
||||
<li><p>Update – Use the <strong>Update</strong> tile to refresh a virtualized application or to receive a new virtualized package.</p>
|
||||
<p>The <strong>Last Refresh</strong> displays the current version of the virtualized package.</p></li>
|
||||
<li><p>Download all virtual applications – Use the <strong>Download</strong> tile to download all of the packages provisioned to the current user.</p>
|
||||
<p>(Associated Windows PowerShell cmdlet: <strong>Mount-AppvClientPackage</strong>)</p>
|
||||
<p></p></li>
|
||||
<li><p>Work Offline – Use this tile to disallow all automatic and manual virtual application updates.</p>
|
||||
<p>(Associated Windows PowerShell cmdlet: <strong>Set-AppvPublishServer –UserRefreshEnabled –GlobalRefreshEnabled</strong>)</p></li>
|
||||
</ul></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><p>Virtual Apps</p></td>
|
||||
<td align="left"><p>The <strong>VIRTUAL APPS</strong> tab displays all of the packages that have been published to the user. You can also click a specific package and see all of the applications that are part of that package. This displays information about packages that are currently in use and how much of each package has been downloaded to the computer. You can also start and stop package downloads. Additionally, you can repair the user state. A repair will delete all user data that is associated with a package.</p>
|
||||
<p></p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>App Connection Groups</p></td>
|
||||
<td align="left"><p>The <strong>APP CONNECTION GROUPS</strong> tab displays all of the connection groups that are available to the current user. Click a specific connection group to see all of the packages that are part of the selected group. This displays information about connection groups that are already in use and how much of the connection group contents have been downloaded to the computer. Additionally, you can start and stop connection group downloads. You can use this section to initiate a repair. A repair will remove all of the user state that is associated a connection group.</p>
|
||||
<p>(Associated Windows PowerShell cmdlets: Download - <strong>Mount-AppvClientConnectionGroup</strong>. Repair -<strong>AppvClientConnectionGroup</strong>.)</p>
|
||||
<p></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|Tab|Description|
|
||||
|--- |--- |
|
||||
|Overview|The **Overview** tab contains the following elements:<li>Update – Use the Update tile to refresh a virtualized application or to receive a new virtualized package.<li>The **Last Refresh** displays the current version of the virtualized package.<li>Download all virtual applications – Use the Download tile to download all of the packages provisioned to the current user.<br>(Associated Windows PowerShell cmdlet: **Mount-AppvClientPackage**)<li>Work Offline – Use this tile to disallow all automatic and manual virtual application updates.<br>(Associated Windows PowerShell cmdlet: **-AppvPublishServer –UserRefreshEnabled –GlobalRefreshEnabled**)|
|
||||
|Virtual Apps|The **VIRTUAL APPS** tab displays all of the packages that have been published to the user. You can also click a specific package and see all of the applications that are part of that package. This displays information about packages that are currently in use and how much of each package has been downloaded to the computer. You can also start and stop package downloads. Additionally, you can repair the user state. A repair will delete all user data that is associated with a package.|
|
||||
|App Connection Groups|The **APP CONNECTION GROUPS** tab displays all of the connection groups that are available to the current user. Click a specific connection group to see all of the packages that are part of the selected group. This displays information about connection groups that are already in use and how much of the connection group contents have been downloaded to the computer. Additionally, you can start and stop connection group downloads. You can use this section to initiate a repair. A repair will remove all of the user state that is associated a connection group.<br>(Associated Windows PowerShell cmdlets: Download - **Mount-AppvClientConnectionGroup**. Repair - **AppvClientConnectionGroup**.)|
|
||||
|
||||
<br>For App-V issues, use the [App-V TechNet Forum](https://social.technet.microsoft.com/Forums/en-US/home?forum=mdopappv).
|
||||
|
||||
|
@ -77,84 +77,20 @@ To get the name of the Publishing server and the port number (`http://<PubServer
|
||||
|
||||
In your publishing metadata query, enter the string values that correspond to the client operating system that you’re using.
|
||||
|
||||
<table>
|
||||
<colgroup>
|
||||
<col width="33%" />
|
||||
<col width="33%" />
|
||||
<col width="33%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="header">
|
||||
<th align="left">Operating system</th>
|
||||
<th align="left">Architecture</th>
|
||||
<th align="left">String value</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Windows 10/11</p></td>
|
||||
<td align="left"><p>64-bit</p></td>
|
||||
<td align="left"><p>WindowsClient_10.0_x64</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><p>Windows 10/11</p></td>
|
||||
<td align="left"><p>32-bit</p></td>
|
||||
<td align="left"><p>WindowsClient_10.0_x86</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Windows 8.1</p></td>
|
||||
<td align="left"><p>64-bit</p></td>
|
||||
<td align="left"><p>WindowsClient_6.2_x64</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><p>Windows 8.1</p></td>
|
||||
<td align="left"><p>32-bit</p></td>
|
||||
<td align="left"><p>WindowsClient_6.2_x86</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Windows 8</p></td>
|
||||
<td align="left"><p>64-bit</p></td>
|
||||
<td align="left"><p>WindowsClient_6.2_x64</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><p>Windows 8</p></td>
|
||||
<td align="left"><p>32-bit</p></td>
|
||||
<td align="left"><p>WindowsClient_6.2_x86</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Windows Server 2012 R2</p></td>
|
||||
<td align="left"><p>64-bit</p></td>
|
||||
<td align="left"><p>WindowsServer_6.2_x64</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><p>Windows Server 2012 R2</p></td>
|
||||
<td align="left"><p>32-bit</p></td>
|
||||
<td align="left"><p>WindowsServer_6.2_x86</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Windows Server 2012</p></td>
|
||||
<td align="left"><p>64-bit</p></td>
|
||||
<td align="left"><p>WindowsServer_6.2_x64</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><p>Windows Server 2012</p></td>
|
||||
<td align="left"><p>32-bit</p></td>
|
||||
<td align="left"><p>WindowsServer_6.2_x86</p></td>
|
||||
</tr>
|
||||
<tr class="odd">
|
||||
<td align="left"><p>Windows Server 2008 R2</p></td>
|
||||
<td align="left"><p>64-bit</p></td>
|
||||
<td align="left"><p>WindowsServer_6.1_x64</p></td>
|
||||
</tr>
|
||||
<tr class="even">
|
||||
<td align="left"><p>Windows Server 2008 R2</p></td>
|
||||
<td align="left"><p>32-bit</p></td>
|
||||
<td align="left"><p>WindowsServer_6.1_x86</p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|Operating system|Architecture|String value|
|
||||
|--- |--- |--- |
|
||||
|Windows 10/11|64-bit|WindowsClient_10.0_x64|
|
||||
|Windows 10/11|32-bit|WindowsClient_10.0_x86|
|
||||
|Windows 8.1|64-bit|WindowsClient_6.2_x64|
|
||||
|Windows 8.1|32-bit|WindowsClient_6.2_x86|
|
||||
|Windows 8|64-bit|WindowsClient_6.2_x64|
|
||||
|Windows 8|32-bit|WindowsClient_6.2_x86|
|
||||
|Windows Server 2012 R2|64-bit|WindowsServer_6.2_x64|
|
||||
|Windows Server 2012 R2|32-bit|WindowsServer_6.2_x86|
|
||||
|Windows Server 2012|64-bit|WindowsServer_6.2_x64|
|
||||
|Windows Server 2012|32-bit|WindowsServer_6.2_x86|
|
||||
|Windows Server 2008 R2|64-bit|WindowsServer_6.1_x64|
|
||||
|Windows Server 2008 R2|32-bit|WindowsServer_6.1_x86|
|
||||
|
||||
|
||||
<br>For App-V issues, use the [App-V TechNet Forum](https://social.technet.microsoft.com/Forums/en-US/home?forum=mdopappv).
|
||||
|
Reference in New Issue
Block a user