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

  • Ensure that you have the local administrator rights for provisioning.

  • Perform only one provisioning process in each virtual machine, but you can provision multiple virtual machines at once.

  • If the provisioning virtual machine has a service pack, such as Service Pack 1, all virtual machines delivering applications must be at the same or later service pack level.

  • While not required, for best performance application dependencies (such as Java, or .NET) should be included in the same AppStack as the application.

  • The provisioning system should not have the 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 installs under Program Files rather than 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 applications 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.

  • The provisioning of AppStacks must be performed on a clean base image, 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 in the provisioning virtual machine.

  • Provision a virtual machine that has never had any AppStacks assigned to it. If AppStacks are assigned to the virtual machine, or the virtual machine has been used for provisioning before, the virtual machine should be set back to the clean snapshot before provisioning a new AppStack.