You can follow some best practices while provisioning virtual machines and applications.

  • Ensure that you have local administrator rights for provisioning.
  • Perform only one provisioning process in each virtual machine. You can provision multiple virtual machines at the same time.
  • If the provisioning virtual machine has a service pack, such as Service Pack 1, ensure that all virtual machines delivering applications are at the same or later service pack level.
  • (Optional) For best performance, include application dependencies (such as Java, or .NET) in the same AppStack as the application.
  • The provisioning system should not have antivirus agents, VMware Horizon with View agent, or any other filter driver applications installed or enabled.
  • When provisioning an application, always install the application for all users. This ensures the application is installed under Program Files rather than a single user profile. This also creates application icons in the All Users folder.
  • The provisioning virtual machine usually joins the same domain as the production virtual machine. However, this is dependent on the applications that are being provisioned. Some application requirements and licensing models require that the virtual machine shares a common SID with the production virtual machine.
  • Do not deliver applications that require a common SID to a pool or to virtual machines that have had Sysprep run on them. These cases should be used in conjunction with VMware Horizon with View Composer or other similar OS cloning technologies that preserve the machine SID.
  • Virtual machines used for provisioning should have a snapshot dedicated to the state of a user's desktop. After provisioning, virtual machines should have a clean snapshot that was made directly following the App Volumes agent installation. After the completion of provisioning, the virtual machine reverts to a clean state, that is, the snapshot.
  • Provision the AppStacks on a clean base image, that is a virtual machine that closely resembles the target environment to which you later plan to deploy the AppStack. For example, the provisioning virtual machine and target should be at the same patch and service pack level and, if applications are included in the base image, they should also be present in the provisioning virtual machine.
  • If you are provisioning AppStacks on a virtual machine has been used for provisioning before, the virtual machine should be set back to the clean snapshot before provisioning a new AppStack.