How To Use Dynamic Suite Composition

Updated: December 1, 2008

Applies To: Application Virtualization

Dynamic Suite Composition in Application Virtualization enables you to define an application as being dependent on another application, such as middleware or a plug-in. This enables the application to interact with the middleware or plug-in in the virtual environment, where normally this is prevented. This is useful because a secondary application package can be used with several other applications, referred to as the primary applications, enabling each primary application to reference the same secondary package.

You can use Dynamic Suite Composition when sequencing applications that depend on plug-ins such as ActiveX controls or for applications that depend on middleware such as OLE DB or the Java Runtime Environment (JRE). If each application that used these dependent components needed to be sequenced including the components, updates to those components would require re-sequencing all the primary applications. By sequencing the primary applications without those components and then sequencing the middleware or plug-in as a secondary package, only the secondary package needs to be updated.

One advantage of this approach is that it reduces the size of the primary packages. Another advantage is that it provides you with better control of access permissions on the secondary applications. Note that the secondary application can be streamed in the normal way and does not need to be fully cached to run.

A primary package can have more than one secondary package. However, only one level of dependency is supported, so you cannot define a secondary package as dependent on another secondary package. Also the secondary application can only be middleware or a plug-in and cannot be another full software product.

If you plan to make several primary applications dependent on a single middleware product, be sure to test this configuration to determine the potential effect on system performance before deploying it.

ImportantImportant
Package dependencies can be specified as mandatory for a primary application. If a secondary package is flagged as mandatory and it cannot be accessed for some reason during loading, the load of the secondary package will fail. Also, the primary application will fail when the user tries to start it.

You can use the following procedures to create a secondary package, for either a plug-in or a middleware component, and then you can use the final procedure to define the dependency in the OSD file of the secondary package.

To create a secondary package for a plug-in by using Dynamic Suite Composition

  1. On a sequencing computer that is set up with a clean image, install Application Virtualization Sequencer and save the computer state.

  2. Sequence the primary application, and save the package to the Content folder on the server.

  3. Restore the sequencing computer to its saved state from step 1.

  4. Install and configure the primary application locally on the sequencing computer.

    ImportantImportant
    You must specify a new package root for the secondary package.

  5. Start the sequencer monitoring phase.

  6. Install the plug-in on the sequencing computer and configure it as needed.

  7. Open the primary application, and confirm that the plug-in is working properly.

  8. In the sequencer console, create a dummy application to represent the secondary package that will contain the plug-in and select an icon.

  9. Save the package to the Content folder on the server.

    noteNote
    To assist with management of secondary packages, it is recommended that the package name include the term “Secondary package” to emphasize that this is a package that will not function as a stand-alone application—for example, [Plug In Name] Secondary package.

To create a secondary package for middleware by using Dynamic Suite Composition

  1. On a sequencing computer that is set up with a clean image, install Application Virtualization Sequencer and save the computer state.

  2. Install the middleware locally on the sequencing computer, and configure it.

  3. Sequence the primary application, and save the package to the Content folder on the server.

  4. Restore the sequencing computer to its saved state from step 1.

  5. Start the sequencer to create a new package.

  6. Start the sequencer monitoring phase.

  7. Install the middleware application on the sequencing computer, and configure it as in a normal installation.

  8. Complete the sequencing process.

  9. Save the package to the Content folder on the server.

    noteNote
    To assist with management of secondary packages, it is recommended that the package name include the term “Secondary package” to emphasize that this is a package that will not function as a stand-alone application—for example, [Middleware Name] Secondary package.

To define the dependency in the primary package

  1. On the server, open the OSD file of the secondary package for editing. (It is advisable to use an XML editor to make changes to the OSD file; however, you can use Notepad as an alternative.)

  2. Copy the CODEBASE HREF line from that file.

  3. Open the OSD file of the primary package for editing.

  4. Insert the <DEPENDENCIES>tag after the close of </ENVLIST> tag at the end of the <VIRTUALENV> section just before the </VIRTUALENV> tag.

  5. Paste the CODEBASE HREF line from the secondary package after the <DEPENDENCIES> tag you just created.

  6. If the secondary package is a mandatory package, meaning that it must be launched before the primary package is launched, add the MANDATORY=”TRUE” property inside the CODEBASE tag. If it’s not mandatory, the property can be omitted.

  7. Close the <DEPENDENCIES> tag by inserting the following:

    </DEPENDENCIES>

  8. Review the changes made to the OSD file, and then save and close the file. The following example shows how the added section should appear. The tag values shown here are for example only.

    <VIRTUALENV>

         <ENVLIST>

         </ENVLIST>

         <DEPENDENCIES>

              <CODEBASE HREF="rtsp://virt_apps/package.1/package.1.sft" GUID="D54C80FA-9DFF-459D-AA33-DD852C9FBFBA" SYSGUARDFILE="package.1\osguard.cp"/>

              <CODEBASE HREF="rtsp://sample_apps/package.2/sample.sft" GUID="D54C80FA-9DFF-459D-AA33-DD852C9FBFBA" SYSGUARDFILE="package.2\osguard.cp" MANDATORY="TRUE" />

         </DEPENDENCIES>

    </VIRTUALENV>

See Also

Did you find this information useful? Please click the following link to send your suggestions and comments about the documentation to the Application Virtualization Doc Feedback alias appvdoc@microsoft.com.
Tags :


Page view tracker