Microsoft Application Virtualization: Managing Dynamic Suite Composition

Exclusive offer: get 50% off this eBook here
Getting Started with Microsoft Application Virtualization 4.6

Getting Started with Microsoft Application Virtualization 4.6 — Save 50%

Virtualize your application infrastructure efficiently using Microsoft App-V with this book and eBook

$32.99    $16.50
by Augusto Alvarez | January 2011 | Enterprise Articles Microsoft

Microsoft App-V represents the most dynamic platform for virtualized applications, from which you can scale up application deployment by delivering an efficient design. Dynamic Suite Composition (DSC) represents one of the most important features when talking about agile deployments. DSC provides the ability to have a new layer of interoperability, virtualized applications dependencies, where one App-V package depends on and interacts with another App-V package.

Microsoft provides the Dynamic Suite Composition tool with which you can easily establish the necessary communication channels between applications. In this article by Augusto Alvarez, author of Getting Started with Microsoft Application Virtualization 4.6, you will look at:

  • Understanding how Dynamic Suite Composition works
  • Practical examples of preparing and using DSC

 

Getting Started with Microsoft Application Virtualization 4.6

Getting Started with Microsoft Application Virtualization 4.6

Virtualize your application infrastructure efficiently using Microsoft App-V

  • Publish, deploy, and manage your virtual applications with App-V
  • Understand how Microsoft App-V can fit into your company.
  • Guidelines for planning and designing an App-V environment.
  • Step-by-step explanations to plan and implement the virtualization of your application infrastructure
        Read more about this book      

(For more resources on Microsoft, see here.)

With Dynamic Suite Composition, you get the chance to avoid large-sized packages or redundant sets of components, virtualized separately in different applications. You can virtualize one application normally, like Microsoft Office, and on a different package a Microsoft Office plugin that will only be streamed down to the clients whenever it is required.

Having separate environments not only reduces the chance of getting application components captured more than once in different packages but also gives us control of these dependencies and lets you distribute the applications with more accuracy to users, achieving a one-to-many strategy on applications. For example, having several web applications packages but only one Java Runtime Environment (JRE) used by all these web applications. The dependencies mentioned in DSC are nothing but parameters in the virtual environment of each application.

Manually editing the OSD file represents the main task in DSC preparation, but, of course, the risks increase as editing some of these parameters could end up causing erratic functionality in the App-V packages. Fortunately, Microsoft provides the Dynamic Suite Composition tool with which you can easily establish the necessary communication channels between applications.

How Dynamic Suite Composition works

Dynamic Suite Composition represents the way in which administrators can define dependencies between App-V packages and guarantee final users transparent operability in applications.

In normal use of the operating system, you can find several applications which are dependent on other applications. Probably the best example are web applications interacting, from a browser of course, constantly with Java Runtime Environment, Silverlight, and other applications like a PDF reader. DSC is also suitable in any plugin scenario for other large applications like Microsoft Office.

Dynamic Suite Composition always identifies two types of applications:

  • Primary application: This is the main application and is usually the full software product. This should be identified as the application users execute primarily before needing a second application.
  • Secondary application: This is usually a plugin attached to the primary application. It can be streamed in the normal way and does not need to be fully cached to run.

An important note is that a primary application can have more than one secondary application but only one level of dependency is supported. You cannot define a secondary package as dependent on another secondary package.

Here is an example from the App-V Sequencing Guide by Microsoft, showing the "many-to-one" and "one-to-many" relationship in Dynamic Suite Composition. These

Microsoft Application Virtualization: Managing Dynamic Suite Composition

These application dependencies are customizable in the App-V configuration file for virtual applications, the OSD, where you are going to use the <DEPENDENCIES> tag in the primary application, adding the identifiers of the secondary application(s). So every time the main application needs a secondary application (like a plugin), it can find the right path and execute it without any additional user intervention.

In some environments you can find secondary applications that could be a requirement for normal use of a primary application. With DSC, you can also use the variable MANDATORY=TRUE in the primary application OSD file. This value is added at the end of the secondary application reference.

DSC does not control the interaction

When you discuss implementing Dynamic Suite Composition in your organization you must always remember that DSC does not control the interaction between the two applications, and is only in charge of sharing the virtual environment between the App-V packages.

The SystemGuard, the virtual environment created by each App-V application, is stored in one file, OSGuard.cp (you can find it in the OSD file description using the name SYSGUARDFILE). Once the application is distributed, every change made by the operating system's client and/or user changes, are stored in Settings.cp.

DSC represents by sharing, between primary and secondary application, the Settings.cp file, while always maintaining the OSGuard.cp. This task will guarantee the interaction between the two applications, but Dynamic Suite Composition does not control how this interaction is occurring and which components are involved.

The reason for this is that when you find yourself in a complex DSC scenario, where you have a primary application with several secondary applications that use the same shared environment as well, some conflicts may appear in the virtual environment; secondary applications overriding DLLs or registry keys, which were already being used by another secondary application in the same environment.

If a conflict occurs, the last application to load wins. So, for example, the user data, which is saved in PKG files, will be kept within the secondary application package.

Dynamic Suite Composition was designed to be used on simple dependencies situations and not when you want full and large software packages interacting as secondary packages. Microsoft Office is a good example of software that must be used as a "primary application" but never as a "secondary application".

Configuring DSC manually

Now you are going to take a closer look at configuring Dynamic Suite Composition.

When you are working with DSC, using virtual machine snapshots is highly recommended as both applications, the primary and secondary, must be captured separately.

This example will use a familiar environment for most, integrating an Internet browser with another program; Mozilla Firefox 3.6 with Adobe Reader 9.

The scenario is very well known to most users as most find themselves with a PDF file that needs to be opened from within the browser while you are surfing around (or receiving an attachment via web mail). If a PDF reader is not a requirement on the client machines you will be obligated to capture and deliver one to all possible users, even though they only use it when a PDF files appears in their browsing session.

Using Dynamic Suite Composition you can easily configure the browser, Mozilla Firefox, with a secondary application, Adobe Reader, which will only be streamed down to clients if the browser accesses a PDF file.

These are the steps to follow:

  1. Log on to the sequencer machine using a clean image, install and capture the primary application.
  2. Import the primary application in the App-V Management Server. Set the permissions needed for the selected users.
  3. Restore the sequencer operating system to the base clean image.
  4. Install the primary application locally again; do not capture this installation.
  5. Install and capture the secondary application with App-V Sequencer.
  6. Import the secondary application in the App-V Management Server. Set the permissions needed for the selected users.
  7. Modify the dependencies on the OSD file from the primary application.

Here is a detailed look at this process.

  1. Install and capture the primary application, Mozilla Firefox.

    This example is using an already captured application; you can review the process of sequencing Mozilla Firefox in the previous chapter. Here's a quick look at the procedure:

    1. Start the App-V Sequencer Application and begin the capture.
    2. Start the Mozilla Firefox installation (if using Windows 7 you may need to use compatibility mode for the installer).
    3. Select the installation folder in Q:\ using an 8.3 name in the folder.

      Microsoft Application Virtualization: Managing Dynamic Suite Composition

    4. Complete the installation.
    5. Stop the capturing process and launch the application. It is recommended to remove automatic updates from the Mozilla Firefox options.

      Microsoft Application Virtualization: Managing Dynamic Suite Composition

    6. Complete the package customization and save the App-V project.
Getting Started with Microsoft Application Virtualization 4.6 Virtualize your application infrastructure efficiently using Microsoft App-V with this book and eBook
Published: January 2011
eBook Price: $32.99
Book Price: $54.99
See more
Select your format and quantity:
        Read more about this book      

(For more resources on Microsoft, see here.)

  1. Import the primary application, Mozilla Firefox.
    1. Copy the project files into the content folder in the App-V Management Server.
    2. Open the App-V Management Server Console and import Mozilla Firefox.
    3. Select the proper permissions and shortcuts to be published.
  2. Restore the operating system to the base clean image.
  3. Install Mozilla Firefox locally - no need to capture it again.

    It is best practice to install the primary application in the same way and with the same options as when it was installed when you captured it. Any inconsistency could be reflected in inconsistent behavior of the secondary application.

  4. Install and capture the secondary application, Adobe Reader 9.3.

    Ok, now it is time to make your own way and sequence this application. Do not worry, Adobe Reader does not have any particular considerations. Here are a few guidelines to remember:

    1. Once the capturing process starts, remember the application installation folder must be in Q:\. This example is using the folder name AdbRdr93.

      Microsoft Application Virtualization: Managing Dynamic Suite Composition

    2. As soon as the installation is finished, change the OSD File Name to a short name.

      Microsoft Application Virtualization: Managing Dynamic Suite Composition

    3. Launch the application in the sequencing process, go to Preferences | Updater, and select Do not download or install updates automatically.

    4. In the Deployment tab complete the name of the App-V server in charge of distributing this application.
    5. In order to be able to reduce the size of the package, you can remove some unnecessary files from the Virtual File System tab; for example the Adobe Updater.

      Removing files in VFS is a dangerous thing to do. Keep this in mind when you are sequencing an unfamiliar application for the first time.

    6. Save the project.
  5. Import the secondary application, Adobe Reader 9.3 as follows:
    1. Copy the project files into the content folder in the App-V Management Server.
    2. Open the App-V Management Server Console and import the Mozilla Firefox.
    3. Select the proper permissions and shortcuts to be published.

      Before you go on, make a checkpoint to verify you are on the right track. Run a few tests on the application separately to verify there were no errors in the sequencing process.

    4. Check Mozilla Firefox runs normally in App-V Clients as a virtual application. If you run Mozilla Firefox and try to open a PDF file, without having any PDF reader on the App-V client, the following message will appear as there is no program associated to open the PDF file:
    5. Check whether Adobe Reader 9.3 runs normally in App-V Clients as a virtual and separate application.

    Now you can go on with the DSC process.

  6. Modify the dependencies in the OSD file from the primary application.
    1. Open the secondary application Adobe Reader's OSD file located in the content folder. Copy the line of CODEBASE.

      In this example, the complete line reads as follows:

      <CODEBASE HREF="RTSP://appv-server:554/Adobe Reader
      9.3.sft" GUID="43EBAE8D-786E-4FFF-8A8B-B5E1D9B9AF86"
      PARAMETERS="" FILENAME="AdbRdr93\Reader\AcroRd32.exe"
      SYSGUARDFILE="AdbRdr93\osguard.cp" SIZE="252081061"/>

      The information in this line will not be exactly the same in your environment; for example, the GUID represents the unique ID for the App-V package.

    2. Open the primary application Mozilla Firefox's OSD file.
    3. Locate </VIRTUALENV> in the file and just above it insert a line reading <DEPENDENCIES>.
    4. Below <DEPENDENCIES> insert the CODEBASE selected from the Adobe Reader OSD file.
    5. Below this new line, insert <DEPENDENCIES>.

      In this example, the three lines inserted:

      <DEPENDENCIES>
      <CODEBASE HREF="RTSP://appv-server:554/Adobe Reader
      9.3.sft" GUID="43EBAE8D-786E-4FFF-8A8B-B5E1D9B9AF86"
      PARAMETERS="" FILENAME="AdbRdr93\Reader\AcroRd32.exe"
      SYSGUARDFILE="AdbRdr93\osguard.cp" SIZE="252081061"/>
      </DEPENDENCIES>

      As the primary application does not need the secondary application to work, you do not need the MANDATORY variable set here. With that change, you are ready to give it a try on the App-V Desktop Client.

    6. Access the App-V Client and open the App-V Management Console. In Publishing Servers right-click on the App-V Server with the published applications and select Refresh Server.

    7. Open the Mozilla Firefox virtualized application and browse for a published PDF file on the Internet.

      Here's an example, accessing a website with a PDF associated with it:

Or you can also find a PDF file that has been downloaded and open it with Mozilla Firefox.

Microsoft Application Virtualization: Managing Dynamic Suite Composition

At this point you can see Dynamic Suite Composition as a simple procedure; when you evaluate the DSC Tool by Microsoft things are going to get much simpler.

Getting Started with Microsoft Application Virtualization 4.6 Virtualize your application infrastructure efficiently using Microsoft App-V with this book and eBook
Published: January 2011
eBook Price: $32.99
Book Price: $54.99
See more
Select your format and quantity:
        Read more about this book      

(For more resources on Microsoft, see here.)

Using the Dynamic Suite Composition tool

This Microsoft tool provides even more simplicity to the DSC process. You can easily accomplish creating the dependencies without editing any OSD files.

The Dynamic Suite Composition tool does not need any installation; by running the EXE file you are ready to start using it. You can find it at Microsoft Download Center http://www.microsoft.com/downloads/en/default.aspx.

Here is a look at this simple process, using the previous example of Mozilla Firefox and Adobe Reader:

  1. Open the Dynamic Suite Composition Tool and in Package Root(s) select the content folder in the App-V Server.

    The applications existing in the folder will be loaded, and they should be grayed out until you select a primary application.

  2. In Primary Package select Mozilla Firefox.

  3. In Secondary Package select Adobe Reader 9.3 and click on Add.

  4. Adobe Reader is now added in the Dependencies area.

    If you are using one primary package and several secondaries, you just need to add them inside Dependencies. You can also add the Java Runtime Environment, which is another suitable secondary application for browsers.

  5. Note that you can set the Mandatory variable with just one click.

  6. Click on Save and the change is ready to be used in App-V Clients.

    If you check the Mozilla Firefox OSD file you will see that the same change was made as in the manual process.

  7. Remember to refresh the server in App-V Clients. With that, the applications are ready to work together.

Summary

In this article, you had the chance to review one of the most important features in Microsoft Application Virtualization regarding dynamic and agile environments—Dynamic Suite Composition.

DSC manages dependencies between App-V packages, which you can categorize as primary and secondary applications. Dynamic Suite Composition is an important strategy you can use to prevent large virtualized application size and also gain granular control of the permissions and access you give users for the secondary applications, like plugins.

DSC gives us the possibility to use "one-to-many" scenarios, where you have one primary application with several secondaries. But Dynamic Suite Composition is not in charge of managing and controlling the interaction between all these applications. That's why you must be careful which applications you select as secondary, as not all are suited for this category.

Configuring DSC manually consists mainly in configuring the OSD file from the primary application and adding a simple DEPENDENCIES tag linking to one or several secondary applications. Fortunately, Microsoft also provides us with a much simpler procedure using the Dynamic Suite Composition Tool, which with a simple GUI you can set all the necessary dependencies.


Further resources on this subject:


About the Author :


Augusto Alvarez

A full time computer geek. Working as an IT Manager, coordinating and managing IT areas; envisioning, designing and implementing client-driven solutions. Also working with Microsoft Academics and Technet, collaborating on different technological events.

Books From Packt


Microsoft SQL Server 2008 High Availability
Microsoft SQL Server 2008 High Availability

Software Testing using Visual Studio 2010
Software Testing using Visual Studio 2010

Microsoft Enterprise Library 5.0
Microsoft Enterprise Library 5.0

Microsoft SQL Azure Enterprise Application Development
Microsoft SQL Azure Enterprise Application Development

Microsoft Visio 2010 Business Process Diagramming and Validation
Microsoft Visio 2010 Business Process Diagramming and Validation

Microsoft Windows Workflow Foundation 4.0 Cookbook
Microsoft Windows Workflow Foundation 4.0 Cookbook

Applied Architecture Patterns on the Microsoft Platform
Applied Architecture Patterns on the Microsoft Platform

Microsoft SharePoint 2010 Business Performance Enhancement
Microsoft SharePoint 2010 Business Performance Enhancement


No votes yet

Post new comment

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
r
g
r
1
a
w
Enter the code without spaces and pay attention to upper/lower case.
Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software