VMware App Volumes – Capture an Application

When you provisioned the AppStack to the provisioning machine, vCenter will attach the VDMK to the machine and the machine will be set into provisioning mode. The VMDK attached to the machine is a writeable volume wich will be set to read-only when the provisioning is completed. Everything installed or changed will be detected by the App Volumes Agent and captured in the AppStack.

One of the things I got exited about is the virtualization of drivers (Note: Kernel drivers cannot be virtiualized). When I was packaging with Microsoft App-V, I always had to think of some way to get the needed driver injected into the local system. Unlike Microsoft App-V, VMware App Volumes doesn’t use isolation but merges the AppStack with your local system. During the provioning phase, the filter driver captures the application and driver. Because of this, I was able to successfully capture several applications that needed a usb smart card reader.

When you’re familiar with application virtualization you can re-use almost all best practices you know, but please take a look on the tips and best practices below:

  • You can re-use your automated packages. (for example self-created .msi packages)
  • “Garbage in, garbage out” (If the installation is not accurate or configured correctly, then the delivery of that application will also be incorrect.)
  • Copy the setup files to your local drive before provisioning.
  • Disable Auto-Update agents/options in the application.
  • Only run the first use tasks if they are not user specific.
  • Place your self-created shortcuts into the start menu folder (C:\ProgramData\Microsoft\Windows\Start Menu)
  • The use of Internet Explorer in an AppStack is not supported. Due to the tight OS integration and dependencies, it is recommended to use an application isolation technology such as VMware ThinApp. VMware App Volumes can then be then utilized for delivery of the isolated application package.
  • Applications must be provisioned and delivered to the same OS type (32 vs 64 bit).
  • Application dependencies (such as Java, or .NET) should be included in the same AppStack as the application.
  • When provisioning Google Chrome, it must be installed for all users.
  • Canceling provisioning from the VMware App Volumes Manager while an AppStack is being provisioned may cause the provisioning virtual machine to become unstable. Recommend completing provisioning first and if there were issues, delete the provisioned AppStack and restart the application installation.

 

How to: Capture an application

  1. When the AppStack is provisioned, the machine is set to provisioning mode. DO NOT CLICK “OK”
    Note: 
    To perform provisioning, the provisioning user must be logged in as an administrator on the provisioning virtual machine.


  2. In this case I want to install Notepad ++ v6.9, you can use this as a recipe. Run the Setup and click OK

  3. Click Next

  4. Click I Agree

  5. Click Next

  6. Disable the Auto-Updater

  7. I’ve selected the Create desktop shortcut. You can select or deselect as you like. Click Install

  8. After the installation is complete. Click Finish to start Notepad ++ to run the first use tasks as you like.

  9. Close the application and click OK on the provisioning dialog box.

  10. Click Yes.

  11. Click OK. The machine will be rebooted
    Note: Do not revert the machine! you need to login onto the machine after te reboot

  12. When logged in the provisioning successful dialog box will appear. Click OK to complete te process!

  13. Go back to the App Volumes Manager and click Complete

  14. Click Complete Provisioning

Now the provisioning process is completed and you have captured an application. It’s time to edit the AppStack so it can run on multiple operating systems.


VMware App Volumes and AppStacks:
Chapter one: Create an AppStack
Chapter two: Provision an AppStack
Chapter three: Capture an application
Chapter four: Edit an AppStack
Chapter five: Assign an AppStack
Chapter six: Unassign an AppStack
Chapter seven: Update an AppStack