How performance optimizations can break App-V

Performance optimizations in VDI is a hot topic these days especially with the introduction of Windows 10. According to various sources there are major disk performance difference which effect the overall user experience. So this will result that performance optimizations in VDI become more important. But applying optimizations also has a down side. In this blog post I will share how performance optimizations can break App-V.

The following tweet displays the Disk Writes compared between a fully tuned Windows 7 VDI vs. fully tuned Windows 10. In order the support the same user experience moving to Windows 10 will ask more performance of you storage layer.

Default optimizations scripts and tools

There are many optimizations scripts online. Here you can find a couple of examples:

https://github.com/cluberti/VDI/

http://www.computeraudiophile.com/f11-software/windows-10-optimization-script-community-effort-25361/

https://labs.vmware.com/flings/vmware-os-optimization-tool

https://www.vmguru.com/2013/05/vdi-optimization-script-part-1/

https://www.vmguru.com/2013/05/vdi-optimization-script-part-2/

The goal of these scripts are to disable functionalists within Windows which are not by default used. But it often happens these optimizations will break applications because of certain discrepancies. So beware this can break applications like App-V when applying these optimizations.

Getting to know the App-V dependencies

Microsoft App-V has a couple of dependencies on Windows services. In the scripts it is common to disable a lot of these Windows services including these used by App-V. By knowing the dependencies you can prevent that App-V will break. This can be done within the Windows Services Management Console by opening the properties of a services and opening the tab: Dependencies.

App-v-client-services-dependencies

These dependencies will also have dependencies so it could be a big tree with other services.

App-v-client-services-dependencies-tree

Symptom when depended services are disabled

In order to indicate if a depended services of the App-V client is disabled can be done by the following.

  • The most simple with the highest impact is that App-V packages won’t be published and cannot be started.
  • Next to that within the Windows Event Viewer errors will be raised when a services cannot start.

App-v-eventlog-error

So after applying optimizations it could be useful to go through the Windows Event Viewer and search for errors.

Conclusion

Performance optimizations are important to get the best user experience in your VDI with the least amount of impact on your system, or keeping the current desktop capacity while moving to Windows 10. But these optimizations can break other applications which will impact the user experience. By understanding the dependencies of applications including the services you can prevent this bad experience.