5.6. Application Virtualization with Microsoft App-V

5.6.1. App-V Repository Lifecycle
5.6.2. Creating an App-V Repository

Microsoft Application Virtualization (App-V) is an application virtualization solution that enables applications to be deployed to any desktop from an application virtualization server. The applications are streamed or cached locally on demand from the application virtualization server and then run locally on the desktop.

Oracle VDI supports application virtualization by providing desktops with access to applications using a shared, read-only App-V cache file. This is a more efficient use of disk space than each individual desktop downloading and storing the application data in its own local cache.

To create and manage the App-V cache file, Oracle VDI uses a staging desktop. The staging desktop is simply a desktop that runs the Microsoft Application Virtualization Desktop Client (App-V Client) and has write access to the App-V cache file. The staging desktop is used to download the application data from the App-V Management Server to the App-V cache file. A separate disk is attached to the staging desktop and the App-V cache file is copied to this disk, which is known as an App-V repository. The App-V repository is then applied to one or more pools.

When an App-V repository is applied to a pool, the desktops have an extra hard disk attached, which is assigned the drive letter V:. The hard disk is a clone of the App-V repository disk. The desktops run the App-V Client, which is configured to use the App-V cache file on drive V: but with read-only access to the cache.

If the App-V cache file needs to be updated, for example to add or remove applications, you create a revision to the App-V repository. When you create a revision, the staging desktop is used to refresh the App-V cache file from the App-V Management Server. Like revisions to templates, the revision must be made the master revision in order to be applied to pools.

See Section 5.6.1, “App-V Repository Lifecycle” for full details of the processing involved in creating and maintaining App-V repositories.

You can only create and use App-V repositories with Oracle VM VirtualBox pools. App-V repositories can be used with flexible and personal desktops.

Oracle VDI supports version 4.6 of Microsoft App-V.

5.6.1. App-V Repository Lifecycle

App-V repositories are similar to desktop templates in that revisions are used to manage the lifecycle of the repository. However, the processing that takes place for App-V repositories is quite different, as follows.

  1. Create an App-V repository, see Section 5.6.2, “Creating an App-V Repository”.

    1. The selected desktop template is copied and the specified system preparation is applied to create the staging desktop.

    2. The specified App-V user is logged into the staging desktop and the App-V cache file is updated with the latest application data from the App-V Management Server.

    3. A new App-V hard disk is attached to the staging desktop and the updated App-V cache file is copied to this disk.

    4. A new revision of the App-V hard disk is created and this revision is made the master revision.

    5. The App-V Repository is applied to a pool, if a pool is selected.

  2. Apply the App-V repository to a pool, see Section 9.4.4, “Applying an App-V Repository to a Pool”.

    For newly cloned desktops, the following processing takes place during cloning.

    For existing desktops, the following processing takes place before the desktop is started for the first time after an App-V repository is applied to a pool or an App-V repository has a new master revision. This results in longer initial startup times. Subsequent startup times should be normal.

    1. A new hard disk is attached to the desktop. The hard disk is a clone of the App-V disk used by the staging desktop.

    2. The desktop is started and the new disk is assigned the drive letter V: and has the disk label VDIAPPV.

    3. The registry setting that defines the location of the App-V cache file is updated for the location of the cache file on the new disk V:.

    4. The registry setting that defines whether the App-V cache file is writable is updated to make it read-only.

    5. The desktop is shut down.

  3. Create a revision to the App-V repository, see Section 9.4.5, “Creating a Revision to an App-V Repository”.

    You create a new revision whenever you need to change the application data required by users. This might be because a new version of an application is needed, to add or remove applications, or to change the configured App-V user that is used to maintain the App-V cache file.

    The revision to the App-V Repository is not used until it is made the master revision.

    1. The staging desktop is started and the configured App-V user is logged in.

    2. The App-V cache is updated to get the latest application data from the App-V Management Server.

    3. A new revision of the App-V hard disk is created.

  4. Make the App-V repository revision the master, see Section 9.4.6, “Making an App-V Revision the Master Revision”.

    To apply a revision to a pool, you make it the master revision. Existing used desktops must be restarted in order to access the updated App-V applications.

    Once a revision is made the master, all previous revisions are made inaccessible once they are not used by any desktops.

5.6.2. Creating an App-V Repository

Before You Begin

  • Import the desktop template you want to use to create the App-V repository into a pool.

    The Microsoft App-V Desktop Client must be installed in the template and the App-V publishing servers must be configured.

    When you configure the App-V Client, it is best to use the default drive Q: for the Preferred Drive Letter. If you do select another drive letter, do not use drive V:.

    The VirtualBox guest additions must be installed in the desktop template with support for automated logons (install using the /with_autologon option).

  • Obtain the credentials of a user that is defined as an App-V user in Active Directory.

    Oracle VDI needs to be configured with an App-V user in order to update the App-V cache file on the staging desktop. The user must have access to all the available applications on the App-V Management Server. For the best performance when you create or update an App-V repository, ensure that this user does not have a roaming profile.

    You might want to define an App-V user in Active Directory specifically for Oracle VDI.

Oracle VDI Manager Steps

  1. In Oracle VDI Manager, select Pools and then select a pool.

  2. Click the Template tab and then click App-V Repository.

  3. In the App-V Repositories table, click New.

    The New App-V Repository wizard is displayed.

  4. On the Select Pool step, select the pool where the new App-V repository should be used.

    The template and system preparation settings configured on the selected pool's Cloning tab are used to create the staging desktop for the App-V repository.

    If you select None from the pool list, or the selected pool does not yet have a template applied, the Create Staging Desktop step is displayed when you click Next. Here you must select a template and specify the system preparation details so that the staging desktop for the App-V repository can be created.

    Selecting a pool is the best way to ensure that the staging desktop and the desktops in the pool use the same Windows operating system and domain.

    If you do not want to use the App-V repository in the pool immediately, deselect Use App-V Repository.

  5. On the Specify App-V User step, enter the credentials of a user that is defined as an App-V user in Active Directory in the User and Password fields.

  6. On the Define App-V Repository step, enter a name and, optionally, a comment in the Name and Comment fields.

  7. On the Review step, check the configuration of the desktop provider and click Finish.

    The New App-V Repository wizard is closed. Jobs are started to create the staging desktop and App-V repository disk. When the jobs complete successfully, the App-V repository is automatically applied to the selected pool (if a pool was selected) and is available to the desktops in the pool when they are started the next time.

Command Line Steps

  1. Obtain the ID of the template you want to work with, see Section 9.2.1, “Obtaining the ID of a Template”.

  2. Create the App-V repository using the vda template-appv-create command.

    /opt/SUNWvda/sbin/vda template-appv-create -p \
    name=name,pool=pool-name,admin=admin,appv-username=appv-username,\
    [sysprep] template-id
    

    Option

    Description

    name

    The name of the App-V repository.

    admin

    The name of an administrator in the desktop template, typically Administrator.

    appv-username

    The user name of a user that is defined as an App-V user in Active Directory.

    sysprep

    The standard properties for specifying system preparation.

    System preparation is optional, but if omitted, the template must either already be joined to a domain or you must use the credentials stored in the template.

    In the following example, the system preparation is defined when the App-V repository is created:

    /opt/SUNWvda/sbin/vda template-appv-create -p \
    name=MyAppv,pool=MyTemplates,admin=Administrator,appv-username=appv-user,\
    customization-type=fastprep,windows-release=win7,domain=example.com,\
    domain-admin=Administrator 4
    Enter password for user appv-user on desktop:
    Enter password for user Administrator on desktop:
    Enter password for user Administrator on domain example.com:
    Creating App-V repository from template '4'.
    Job started with id 173. Use job-list or job-wait to track progress.

    In the following example, the system preparation is not defined when the App-V repository is created:

    /opt/SUNWvda/sbin/vda template-appv-create -p \
    name=MyAppv,pool=MyPool,admin=Administrator,appv-username=appv-user 2
    Enter password for user appv-user on desktop:
    Enter password for user Administrator on desktop:
    Creating App-V repository from template '2'.
    Job started with id 160. Use job-list or job-wait to track progress.