Microsoft Application Virtualization 4.

6 SP1 Sequencing Guide

White Paper Descriptor
This whitepaper is designed to provide administrators with guidance for sequencing applications to create virtual packages that can be delivered to the end user. This document discusses setting up the App-V Sequencer, sequencing best practices, an example of sequencing, important information related to updating packages, and finally, examples of advanced OSD scripting.

Copyright © 2011 MICROSOFT CORPORATION

Contents
1 2 3 Introduction to Application Sequencing................................................................... 5 Sequencer Workstation Configuration ..................................................................... 6 New features of App-V 4.6 SP1 Sequencer .............................................................. 8

3.1

Changes to the Sequencer in 4.6 SP1 ......................................................... 8 3.1.1 Improved User Interface ................................................................... 8 3.1.2 Package Accelerators ....................................................................... 8 3.1.3 Sequencer Templates....................................................................... 9 3.1.4 Diagnostics (Reporting) .................................................................... 9 3.1.5 Command Line Sequencer Enhancements ...................................... 9

4 5 6 7 8

Recommended Best Practices for Sequencing ..................................................... 10 Classifying Applications for Sequencing ............................................................... 12 Sequencing Limitations ........................................................................................... 13 Sequence files ........................................................................................................... 14 Sample Sequencing .................................................................................................. 15

8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 8.10 8.11 8.12 8.13 8.14
9

Welcome Screen ........................................................................................ 15 Packaging Method ...................................................................................... 16 Prepare Computer ...................................................................................... 17 Type of Application ..................................................................................... 18 Select Installer ............................................................................................ 19 Package Name ........................................................................................... 20 Installation .................................................................................................. 21 8.7.1 Applications that Require a Reboot ................................................ 21 Configure Software ..................................................................................... 22 Installation Report....................................................................................... 23 Customize................................................................................................. 23 Edit Shortcuts ........................................................................................... 25 Prepare for Streaming .............................................................................. 27 Target OS ................................................................................................. 28 Create Package ........................................................................................ 30

Creating a Package Accelerator .............................................................................. 32

9.1
10

Work-flow.................................................................................................... 32

Create a package using a Package Accelerator .................................................... 38

10.1

Work-flow.................................................................................................. 38

...................................................1 12...........................1 16................. HREF .......................................................5 12.......................................................................12 15 OSD Scripts ...................................................9 14......................................................................................... 49 Sequencer Templates .4 16 Sequencer Log Files.........4 14.............................................................. 58 Setting Environment Variables .........................................................2 14............................................................. 45 Dynamic Suite Composition Tool ........... 62 Sequencing Web-Based Applications ... 44 Middleware ....................................... 60 OSD XML Syntax Check ................... 52 OSD: SCRIPTBODY vs............ 64 Finding Additional Information..... 42 Workflow ......................................... 59 Launching Application via Non-Default Provider Policy ...2 16............................... 61 Advanced Sequencing Techniques ........................2 Sequencing Applications That Cannot Install to Q:\ ...................... 65 16.........................................11 Application Package Upgrade ...... 40 11............... 45 Manually Defining the Dependency in the Primary Package ............. 62 15.............................................2 12...................1 14........... 63 15......1 15............4 12........... 51 14..................6 13 14 Advantages.........8 14..................... 57 <REGISTRY> Examples – Registry Customizations................................................................................................................................... 58 Launching Local Applications ..........................3 14................ 39 11.......................6 14..................................................................5 14.............................................. 59 Running an Application as a CONSOLE application .........3 12..........................................................................................................................2 Updating a Package that will Run at the Same Time as the Existing Package .............................................................................................. 66 ............................. 42 12................................................... 65 App-V Team Blog ...3 Sequencing Applications that Require Access to Local Devices and/or Resources .................. 56 <PARAMETERS> Examples .................................. 57 <WORKINGDIR> Examples – Specifying a Working Directory ..................................................... 55 <HREF> Examples ....................10 14....1 Updating a Package that will Replace the Existing Package................................................. 41 12 Dynamic Suite Composition .................... 49 Advanced OSD Scripting ...................................................................3 Error Codes and the Microsoft Knowledge Base ..............................11 14............................................................... 54 <SCRIPTBODY> Examples ................................................................................................................................ 63 15......................7 14............................................... 66 App-V Related Technical Discussion Forums and Web Sites .................. 43 Add-on or Plug-in...........................................

the new features. and built-in diagnostics designed to make the process of sequencing faster and easier. examples of advanced OSD scripting. . an example of sequencing. As such. it’s important to follow Microsoft’s recommended practices and be aware of the different options when sequencing. and finally. This document covers setting up the Sequencer. Settings Templates. sequencing best practices. updating.6 SP1 Sequencer includes a number of powerful new features such as Package Accelerators.1 Introduction to Application Sequencing The Microsoft Application Virtualization (App-V) Sequencer is a component of the App-V suite used to package applications to be deployed to systems using the App-V Client. The release of the App-V 4. Properly sequencing applications is key to a successful App-V implementation.

In addition. %TEMP%. and then noting the Scratch Directory box in the General tab. and its own Scratch Directory for temporary files. Placing the temp directories and the Scratch Directory on different hard drive spindles can improve performance during sequencing. Many applications will be sequenced more than once. the application may be required to be sequenced on the same OS environment that the App-V Client is running on in order to resolve those problems.and OS-dependent and is not guaranteed to work for all application/OS combinations since App-V is not a general-purpose OS compatibility solution. This may be due to additional configuration changes or simply starting over to correct a mistake. Select the sequencing drive letter assignment. The point is that you will be going back to your original configuration on the PC several times.    Configure the temp directories to ensure successful sequencing and improve performance. If problems are encountered.2 Sequencer Workstation Configuration Proper configuration of the sequencing station is imperative to ensure that applications will function properly when launched on a client. however this scenario is both application.6 SP1 Sequencer installer will mount a drive that will serve as the root for all packages. you may want to install any other programs that could be used by the application you are sequencing if they are not going to be a part of the sequence. The Sequencer uses the %TMP%. You can check the location of the Scratch Directory by launching the Sequencer. Many applications will install differently if they recognize that Microsoft Office is already installed on the machine. The Scratch Directory is where the Sequencer will temporarily store files generated during the sequencing process. The 4. It is often possible to sequence on one OS and run the virtualized application on a different OS. with a simple click of a button. This will let you sequence an application and. Microsoft recommends the following configuration when sequencing:  Sequence on a machine that matches the operating system (OS) and configuration of the target clients. You are no longer required to create a disk partition or separate physical disk as you did with previous versions. This assumes that a Microsoft Office suite will be installed locally on all client PCs. Specify the drive letter that matches the drive letter specified on the App-V client. Sequence using Virtual PC. Include Microsoft Office on the base sequencer image if Microsoft Office will be installed traditionally on all desktops in the organization. clicking Options from the Tools menu. revert back to a clean state so you can continue sequencing  . it’s best to attempt sequencing on a machine with Office already installed and activated. if an application is expected to integrate with Microsoft Office. These locations should contain free disk space equivalent to the estimated installation size. Thus. To help facilitate this you may want to use a virtual machine.

Processes and scheduled tasks that normally run on your computer can slow down the sequencing process and cause irrelevant data to be gathered during sequencing. As such. start with a clean sequencing system. Some of these programs include: o o o o o o Windows Defender Antivirus software Disk defragmentation software Windows Search Microsoft Update Any open Windows Explorer session Note: The Sequencer workstation should be fully scanned for viruses and malware and then the antivirus and antimalware software should be disabled before creating a snapshot image of the Sequencer workstation.  Shut down Other Programs. Additionally. .with no down time. it is recommended that the following programs should be shut down before you begin sequencing. The Sequencer will scan for these and other processes before creating a Virtual Application Package. whenever you start a new sequence.

1.1. App-V Package Accelerators save sequencing time and help accelerate your App-V deployments.3 New features of App-V 4.  There are three main options in the Modify Package wizard:    Update Application in Existing Package – Select this option if you are applying an update or patch to an existing package. such as configuring shortcuts and File Type Associations (FTAs).      Improved user interface to simplify sequencing process Package Accelerators Settings Templates Built-in diagnostics Command Line Sequencer enhancements 3. or optimizing for streaming. When creating a new package. or that will be another App-V package that will be linked through Dynamic Suite Composition.1 Changes to the Sequencer in 4. App-V Package Accelerators are created by software vendors or other experienced packagers who have already sequenced complex applications. The configure software wizard page allows you to open applications and prepare them for first-time use by entering licensing information or accepting EULAs. Add New Application – Select this option if you are adding an additional application to an existing package. as well as to increase the likelihood of developing successful sequences when dealing with more complex application suites. 3. .1 Improved User Interface The enhanced wizard will guide you through creating new packages and modifying existing packages. 3. and will launch the application installer after you specify it. the wizard will create a default package root folder based on your package name. Most applications should be sequenced using this option. You can create a basic package or extend the wizard to make optional modifications.6 SP1 Following lists the changes to the App-V 4.6 SP1 Sequencer Powerful new features have been added to streamline the sequencing workflow.6 Sequencer that will be detailed in the section below. Middleware – This option is for sequencing middleware or frameworks that will be configured as dependencies for other virtual applications through Dynamic Suite Composition. There are three main application types in the Create New Package wizard:   Standard Application – The default application type. Edit Package – This option will open your package in the console to let you modify deployment options and package contents.2 Package Accelerators Microsoft Application Virtualization Package Accelerators allow you to convert traditional applications into virtual application packages without manually sequencing an installation. making sequencer faster for the sequencing engineer. Add-ons or Plug-ins – Choose this option if you are sequencing an add-on to another application that is either traditionally installed on the client machine.

Rebase . Append Package Version to Filename.4 Diagnostics (Reporting) This feature helps identify common. Use diagnostics to quickly. Path. The App-V Sequencer extracts the required files from the App-V Package Accelerator and associated installation media to create a virtual package without having to monitor the installation of the application.1.msi). The report also provides information that can enable users to quickly fix the problems. complex applications.1.1. you can now make use of the new App-V Package Accelerator and Template features when using the Sequencer command line interface. Create MSI. Use the /LAUNCHSCRIPT argument to automate the launching of specific processes. You can create and save your own App-V Package Accelerators using the App-V Sequencer. . Use /LAUNCH: to designate specific applications to open. The following general settings are saved with an App-V project template:     Advanced Monitoring Options – Allow Microsoft Update to run during monitoring. Operating Systems. This can help streamline the process of creating virtual application packages. Port.3 Sequencer Templates Use templates to save settings that can then be applied when you create new virtual application packages in your environment. known sequencing issues that prevent successful sequencing as early as possible in the sequencing process. 3. and App-V project templates can be applied to multiple applications. and effectively solve common sequencing issues.dll’s Package Deployment Settings – Protocol.You can use App-V Package Accelerators to automatically sequence large. 3. General Options – Allow use of Windows Installer file (. Exclusion Items – Exclusion pattern list. Enforce Security Descriptors. Allow Virtualization of Events. Allow Virtualization of Services. Host Name. 3. Compress Package.5 Command Line Sequencer Enhancements Creating App-V packages using the command-line interface version of the Sequencer is now easier. App-V project templates differ from App-V Package Accelerators because App-V Package Accelerators are application specific. When you apply an App-V Package Accelerator you are not required to manually install an application to create the virtual application package. After you create App-V Package Accelerators you can share them with other administrators. Also. Microsoft App-V project templates save commonly applied settings associated with an existing virtual application package. early. Use the argument /LAUNCHALL to open each application in order to create a primary feature block for App-V which helps optimize streaming.

It is recommended that you familiarize yourself with the installation and execution of the application prior to sequencing. The installation drive on your Sequencer should match the virtual drive on the client. sequence the LOB application to Q:\AppSuite\LOB. if a package contains a Line of Business Application along with the Oracle Client. after checking the “I am finished installing” box and clicking “next” in the Sequencer. For example. It is recommended to launch each application     . need to be performed in the Sequencer after the installation? What post-installation configuration steps need to take place in the Sequencer? How do users commonly use this application immediately after its launch? Does this application do something that App-V currently does not support? If so. ‘Q:\’ is incorrect. copying updated files. not to a subdirectory. Recommended settings. Sequence to a folder in the root of the drive. Be sure to read all installation instructions associated with the application. In some cases this may not be possible (if. etc. such as adding new files to the package. It is also recommended that you learn how the application runs and the components of the application that the user will need. packaging for multiple organizations). Configure and test the application after installation. Step-by-step documentation will ensure that no unnecessary troubleshooting occurs during the sequencing process since no important steps will be skipped. one should document step-by-step the installation and postconfiguration procedures for the application. Completing the installation of an application often requires performing several manual steps that are not part of the application installation process. and process include:  When sequencing on Windows Vista or Windows 7. configurations. install each application in a subdirectory of the Asset Directory. If the suite has multiple parts. use Q:\AppSuite as the Asset Directory. Documenting the sequencing process in this way will allow you to hand the recipe to someone else in your organization and have them recreate the same package. say. Always document the sequencing process step-by-step creating a “recipe” using a standardized template. These steps can involve configuring a connection to a ‘back-end’ database. To improve the process of sequencing an application. Do these configurations in the “Configure Software” phase. Use the Comments field in the Sequencer (Abstract Tag) to note any details about the package you may want to include. check the Microsoft Knowledge Base to see if a workaround is available. (‘Q:\MYAPP’ is correct. This will allow you to revisit the sequence later and have a record of this information. Items to document in a recipe include:      What application components are needed and will be required to complete the installation of the application? What updates. ‘Q:\Temp_Junk\MYFOLD’ is incorrect). ensure that you have User Account Control (UAC) enabled on the sequencing machine if the client machine you are deploying the application to will have UAC enabled as well.4 Recommended Best Practices for Sequencing This section covers Microsoft’s recommended best practices for sequencing applications. and sequence the Oracle client to Q:\AppSuite\OracleClient. and you may be required to go back and edit the virtual registry or some individual files to point to the correct locations.

Operations made during the “Prepare for Streaming” section will be included in the primary feature block. in Microsoft Word. open a document and misspell a word to include spell check function) so that they are included in the initial streaming of the application and you have an accurate primary feature block. Disable “Auto Update” features.microsoft. Some applications perform different tasks on first launch. This will ensure that each application will have the required initial launch data on the App-V Client. if you are in an environment where bandwidth is limited. Disable “Install on First Use.g. then you want to have an accurate primary feature block so that users are not constantly making calls to the server to download additional files in cache.com/kb/932137 . As a general rule.. it is recommended that the components not be installed. The multiple launches will make sure that any post-installation tasks that are required by the application can be completed (e.g.     multiple times if necessary. For example. when building the primary feature block make sure you execute the application’s most common operations (e. For application components that will not be used by any of the targeted users. Additionally. until the program is in a static state in the Installation Phase. There are online articles relating to sequencing best practices : o Microsoft Support: http://support. If this is not done. use the Wizard to launch each executable in a suite of applications.. and sometimes subsequent launches. accepting a license agreement or setting file type associations). as version control should be performed via sequencing new versions. run the application multiple times to get past all registration and dialog box requests. It is required that none of the components are sequenced with this option. second launch.” Some applications have the option to “Install on First Use” for certain components. users will see delays as they start to use the application and will regard it as being slow if many of the features they use are not in primary feature block. It is necessary to choose either “Run from My Computer” (install this component) or “Not Available” (do not install this component). Some applications have the ability to check a web site or a server for the latest application updates. This feature should be turned off. If deploying via streaming.

but could be longer depending on the size and number of files . altering the . size (both size on disk and number of files).5 Classifying Applications for Sequencing All applications are different and. In rare occurrences you will encounter both. The times are presented only to assist in estimating the time required for a first time non-accelerator project. however it is imperative that. Note: This section includes approximate sequencing times referring to first time sequencing and is not related to sequencing via the use of Package Accelerators. reliance on resources outside of the virtual application. These are also very general in nature. Other hurdles you may encounter are the application’s reliance on files being in a specific place and functions hardcoded to that install. therefore. before you begin. Application Type Simple Description These applications are normally small. These applications are very straightforward and normally small in size (usually under 100MB). This is probably the most common application type. However. These applications may require you to manually edit batch and command files to point to resources in the virtual environment. Every application will be different. Very little. it is highly recommended utilizing a program that can scan multiple files and make several changes at once. You also may be required to install a device driver separately since drivers cannot be virtualized. they may require no changes but have a larger install that takes more time. and finally. Changes you might encounter in these packages would be on the order of making changes to the registry. These are large applications or applications that take four or more hours to install. all the pieces must be in place. modifications are needed to run these applications.osd file to launch with additional parameters and scripts. An example of an application in this category would be WinZip or Adobe Reader. All knowledgeable resources should be engaged and available. sequencing estimates can be put into three categories based on the complexity of the application. if any. In some cases. no application will require the same amount of time to sequence. sequencing hardware should be better than average. These applications might require some changes while sequencing to function correctly. Another item to take special note of before sequencing begins: nothing will slow down the sequencing process more than not having access to someone who inherently understands the full functionality of the application. significant amounts of customization to function in the virtual environment. Packages like these will normally be 3-4 GB in size and may require compression to get the package under the 4GB App-V limit. If this is the case. or there may be additional applications needed to install together as a suite so they can function together. sequencing applications such as these should be done by an experienced sequencer. Applications of this complexity can be sequenced. Table 1: Classifications of Applications Time Scale Typical sequencing time: less than 1 hour Moderate Typical sequencing time: 1-4 hours Complex Typical sequencing time: 4-8 hours. and finally. or both.

Always remember that the virtual “bubble” can see the OS and what’s installed on it but the OS cannot see the “bubble” and interact with it. Also there are certain limitations with App-V. Here is a short list of application functions and limitations of the software. Normally you would include both programs in the same suite. On the same note. Limitation Sequenced package over 4GB (SFT has 4GB limit) Description By utilizing compression within the Sequencer it’s possible to take applications that are larger than 4GB and get them below the limit. This is especially true if one of the reasons you are deploying App-V is to avoid application conflicts. there’s no way for the Sequencer to capture this information. For example. App-V requires a logged in user to initiate the launch of an application. If the application is too large then the Sequencer will not save the application. a program that will initiate a command and launch another program. Such as Internet Explorer • Because COM+ is dynamic and happens at runtime. It is possible to bypass this issue and install the driver locally on the target computer. remember that one “bubble” cannot see another unless they are made dependent on one another via Dynamic Suite Composition. after compression the application must be smaller than 4GB.6 Sequencing Limitations Sometimes there are applications that cannot or should not be sequenced. however if this application launches or initiates commands in several applications it may not be feasible for you to include all of the applications in the same suite. Some user-mode device drivers can be virtualized. However. attempt to compress the file. It will. For example.exe • • • Applications that start services at boot time • Applications that require device drivers • • Applications that are required by several applications for information or access • • Applications that are a part of the OS Applications that use COM+ • COM DLL surrogate virtualization • Table 2: Sequencing Limitations . App-V cannot virtualize drivers. however. DLLs that run in Dllhost.

SPRT Optional: Sequencer Template file. default package settings. . scripts. Manifest Includes definitions of shell integration (FTAs. . shell integration. DDE.ICO Icons associated with each shortcut or FTA defined in an OSD or Manifest. . Shortcuts. classifications and exclusions. package location.MSI Installer to publish and load (“install”) a virtual application package in standalone environments.7 Sequence files When you save your package you will have several files. The following is a list of those files and descriptions of each of them. . . Optionally a DSFT (Differential SFT). These are extracted from application resources. .).CAB Optional: Package Accelerator file.SPRJ . Table 3: Sequencing Output Files File . Embeds all but SFT. dependencies. . etc. Description Sequencing project with references to OSD. list of all parser items.XML Publishing parameters for all applications in a package.OSD Description of an application including environment.SFT Binary file containing all assets and state organized into stream able feature blocks.

open the Application Virtualization Sequencer and select Create a Package from the Welcome Screen.6 SP1 and provides quick access to the common tasks of creating and upgrading a package. 8. Welcome Screen Component Create a New Virtual Application Package Modify an Existing Virtual Application Package Figure 1: Welcome Screen Description This option will launch the wizard for creating a new virtual application package.8 Sample Sequencing This section describes some of the key points to remember during sequencing. To begin. Table 4: Welcome Screen Component Description .1 Welcome Screen The Welcome Screen is new in App-V 4. This option will launch the wizard for modifying or upgrading an existing virtual application package.

Select this option to create a new package from a previously created Package Accelerator. The picture and table below describe the different options that are available. Figure 2: Packaging Method Package Method Component Create Package Create Package Using a Package Accelerator Description Select this option to create a new package from scratch. Table 5: Package Method Component Description .2 Packaging Method Creating a package starts with selecting which method to use to create the package.8.

3 Prepare Computer Next. or there are pending reboots) that might prevent a successful sequencing.8. Figure 3: Prepare Computer . Note in the example below that the Sequencer is recommending to stop the Windows Defender service before continuing. the Sequencer will quickly examine the current operating environment to look for any known process or conditions that are in place (such as if the Sequencer hasn’t been reverted to a clean state after a previous sequencing operation.

Select Standard Application for packages that are self-contained (ex: one application.8. This option will first create the application package for the middleware component and then create the second virtual application package that will contain the primary application.4 Type of Application The Sequencer offers choices for the type of application being sequenced in order to determine the steps in the wizard. Select the Add-on or Plug-in or the Middleware options when creating a package that needs to interoperate or when creating packages for Dynamic Suite Composition solutions. This option can also be used when packaging Add-ons or Plug-ins for locally installed applications like Internet Explorer. Figure 4: Type of Application Advanced Options Component Standard Application Add-on or Plug-in Description Select this option if sequencing a single application or suiting multiple applications into the same virtual application package. Select this option if sequencing multiple applications in separate virtual application packages and linking them using Dynamic Suite Composition. Select this option if sequencing multiple applications in separate virtual application packages and linking them using Dynamic Suite Composition. or one suite of applications that are isolated from other software). Table 6: Type of Application Component Descriptions Middleware .

8. An “installer” can be any executable file designed to install the desired application. point the Sequencer to the installer for the application being sequenced. you can also select to “Perform a custom installation”. This option behaves similar to previous versions of the Sequencer.5 Select Installer Next. Alternatively. Select this option and define the installer file to have the sequencing wizard automatically launch the installer for you. Select this option to start monitoring and then manually launch your application installer(s). The Sequencer will automatically launch the installer when it activates monitoring. This option causes the sequencing wizard to enter monitoring and then wait for you to finish manually launching any installation tasks. Figure 5: Select Installer Advanced Options Component Select the installer for the application Perform a custom installation Description This option typically applies to sequencing only a single application using a single installer. . This option is often useful when sequencing applications that may not have an install or setup file such as applications that just copy from a network share. It is useful when you have multiple application installers or when there is no application installer.

Figure 6: Package Name Advanced Options Component Virtual Application Package Name Primary Virtual Application Directory Description Define a unique name for the virtual application package. Table 8: Package Name Component Description . The Primary Virtual Application Directory is the directory off of the root of the Q: drive that will contain all files for the sequence.6 Package Name Next. This is the primary directory that the application will reside in once cached on the client in the Q: (default) drive.Table 7: Select Installer Component Descriptions 8. Long directory names are supported and the Sequencer will automatically fill in this field as you type the Package Name. define the package name and primary virtual application directory. Select the “Edit” box to manually set the name of the directory.

8. Applications that require a reboot to complete the installation will no longer require the reboot when delivered to the client machines. Once installation is complete. the Sequencer will record the reboot tasks that the application has configured and cancel the reboot. the Sequencer will either begin monitoring or launch the installer defined earlier automatically. Figure 7: Installation 8. . or you will now manually install the application. For applications that give you the choice to reboot. depending on your earlier choice.1 Applications that Require a Reboot The process of App-V sequencing provides an additional benefit over traditional software deployment and installation.7.” The Sequencer will record the reboot tasks that the application has configured and cancel the reboot. If the application forces you to reboot. just click “yes. This is because the Sequencer will monitor the operations that need to be completed during reboot and process them prior to saving the package and prior to delivery to client computers.7 Installation Next. You could also click Run and select an installer to have the Sequencer launch the installer for you. select the I am finished installing check box and click next.

8. Also. execute the application(s) at least once by selecting the application and clicking the “Run Selected” or “Run All” buttons (multiple executions are recommended to ensure and second-run tasks are executed). it is during this execution that you will make any applicable application configuration changes that the Sequencer will capture. the Sequencer will simulate the reboot.Once you check the “I am finished installing” check box and click Next. The Sequencer will simply process the reboot tasks that the Sequencer has recorded and apply them to the package. That is the sequencing workstation will not actually reboot. Figure 8: Configure Software . etc.8 Configure Software Many applications have first-run tasks such as accepting license agreements. At this stage.

Double click an item in the report to view detailed information about the issue as well as suggestions about how to resolve it. Items in the report include:      Excluded Files Drivers COM+ System differences SxS Conflicts Shell Extensions Figure 9: Installation Report 8.9 Installation Report The Sequencer now detects common sequencing issues during sequencing. Warnings. The Installation Report page of the wizard displays diagnostic messages categorized into Errors.10 Customize Next you have the choice to stop and save the sequence at this point or to further customize the package before saving the package. Often.xml file. and Info depending on the severity of the issue.8. there are other steps left to do such as: . Messages from the system preparation report as well as the installation report are summarized upon completing the package and are saved along with the package in a report.

    

Splitting the package into feature blocks to reduce the streaming requirement and save bandwidth. Customizing the name and version numbers of shortcuts and changing their locations and file-type associations. Selecting additional client operating systems that will be permitted to receive this package (the default is the current OS). Configuring the name, port, and location for the package for distribution via the App-V Management Server (if applicable). Further customizing any virtual registry entries.

If you are satisfied that the package you have sequenced will not benefit from any of the above steps, then selecting “Stop Now” may be appropriate. Otherwise, select “Customize.”

Figure 10: Customize

Advanced Options Component Stop now Customize

Description Select this option if you are confident that the application as is requires no additional configuration, and does not require the use of Feature Blocks. Is it recommended to select this option if you are sequencing a larger or more complex application suite and/or if intend to use this package on multiple client operating systems. This option will continue the sequencing process in the same way as previous versions of

the Sequencer, allowing you to:  Edit and create additional shortcuts  Create Feature Blocks to reduce the amount of traffic used for deployment  Define which operating systems may run the package  Customize registry entries Table 9: Customize Component Descriptions

8.11 Edit Shortcuts
Next, the Sequencer will evaluate all of the applications identified during monitoring. Applications may have to be added or removed from this list, based on what is wanted in the final package. Remember, any application in this list will have an associated OSD file created for launching. Also, with web-based applications it is often required to add Internet Explorer as an application because the web-based application will require Internet Explorer to run properly. Each application can be modified to change the name, icon that it uses, file type associations, and locations for shortcuts on destination computers.

Figure 11: Edit Shortcuts Clicking the “Edit” button for any shortcut will bring up the options in the following capture (Figure 12) useful for customizing the name and version of the shortcut that will be displayed to the end user as well as the filename for the shortcut (.osd) that will be saved in the sequence.

Clicking the “Add” button will bring up the same option window as the “Edit” button (Figure 12), but the fields will be blank. You would first click the “Browse” button next to the Application Path and select the executable file that the new shortcut will point to. The Icon, Name, Version and OSD file name fields will auto-propagate based on the information within the selected executable. You can then proceed to edit the information to suit your needs.

Figure 12: Edit Shortcut Options

Configure Apps Component Edit Add Remove

Description At this point you can add or remove icons for applications. Additionally, you can edit the file type associations and the icon locations on the client. Click to create a new application shortcut that was not automatically generated by the Sequencer. Use this option to remove any shortcut from the package that you do not want presented to your users. Table 10: Edit Shortcuts Component Descriptions

During this process. Any pieces of the package that was not included in Feature Block One is placed in to Feature Block Two and resides on the server or storage location until specific resources from within Feature Block Two are called by the App-V client. Doing so without launching any shortcuts will cause the entire virtual application package to be contained within Feature Block One. This also reduces the total network bandwidth used when launching the application for the first time and saves hard disk space on the client by leaving less-used data on the server until it is specifically called by the user. the entire contents of the package will be streamed and cached on the App-V client. At the Prepare for Streaming screen. When a user launches the application for the first time. Select and run each shortcut from the package that you expect the users to execute in their typical day-to-day operations. You also have the option of simply clicking ‘Next’. the App-V client will stream and cache just the data within Feature Block One over the network and will launch the application.8. .12 Prepare for Streaming Feature blocks are designed to optimize the applications for streaming (if applicable). Then. the Sequencer is monitoring which specific pieces of the packages resources are being executed and including them in Feature Block One. you have the option of splitting your package in to feature blocks. In this case. Those pieces are then streamed on-demand and cached on the client. Unless you are deploying your virtual application package using System Center Configuration Manager with the Download and Run option or deploying the virtual application packages via the MSI to standalone mode clients. creating a minimum launch threshold to allow larger applications to launch as soon as enough of the package has been downloaded to allow the user to perform his or her typical functions within the application. perform the common tasks that typical users make use of within each particular application in their typical day-to-day operations. you will be streaming the virtual application package and will likely benefit from splitting your package in to feature blocks. This is typically done for very small application packages where the idea of streaming the entire package does not cause any network bandwidth concerns.

Table 11: Prepare for Streaming Component Descriptions Run All 8. Performs the same operation as the launch component.Figure 13: Prepare for Streaming Launch Applications Component Run Selected Description Here you will launch an application to ensure functionality. This is useful when trying to create Primary and Secondary Feature Blocks for a large suite of applications. If you don’t launch any application then all files will be a part of the Primary Feature Block. any files that are executed during this phase will be tagged as Primary Feature Block. . but launches all identified applications in the package.13 Target OS At the Target OS screen. This will ensure that the application will never be delivered to those machines. you have the option of configuring the package to be deployable to clients running any operating system or to clients running only specific operating systems. If you have packaged an application that you know will not run on 64-bit systems. Additionally. you would make sure to leave all 64-bit OS options deselected. Any remaining files will be tagged as Secondary Feature Block.

Applications sequenced on a 32-bit OS are often likely to run on a 64-bit client OS. Certain applications that are compatible with both 32-bit and 64-bit operating systems may only work if sequenced separately on a 32-bit Sequencer and a 64-bit Sequencer. Figure 14: Target OS .If you have an application that will only run on Windows 7 and not Windows XP. this screen allows you to target two separate packages of the same application to their appropriate client operating systems. However. In this regard. applications sequenced on a 64-bit OS will never run on a 32-bit client OS. you would leave Windows XP deselected to ensure the package is never delivered to those machines.

The compression will have a one-time impact to the end client the first time the virtual application is launched. Table 12: Create Package Component Descriptions .” If you are concerned about the size of the package and the impact it may have on your network you may select to compress the package. Do not save the package in the same folder as the application installer files. One easy method of ensuring that the filename and folder you save in are unique is to use the same PACKAGE NAME that you specified in the Package Information wizard.8.14 Create Package At this stage you’re ready to save your package. Figure 15: Create Package Package Deployment Compress Package Description The package SFT file can be compressed during sequencing to reduce the amount of traffic that will be streamed on the network when loading the package. The default setting is “No Compression. as the client PC will need to decompress the SFT and put the data into the client’s cache. Be sure to save the package in a new folder named using the package name (example: Desktop\WordViewer2007). The decompression algorithm is CPU-intensive.

Messages from the system preparation report as well as the installation report are summarized upon completing the package.The Completion Report page of the wizard displays diagnostic messages categorized into Errors. and Info depending on the severity of the issue. Figure 16: Package Completed . Double click an item in the report to view detailed information about the issue as well as suggestions about how to resolve it. Warnings.xml file. and are saved along with the package in a report.

Supported Installation Media file types can be presented to the Sequencer for creating or using Package Accelerators:      . Behind the scenes.1 Work-flow  Once you have completed a sequence. click the “Tools” pull-down menu and select “Create a Package Accelerator. We recommend that you revert your virtual machine or reimage your physical machine after you apply an App-V Package Accelerator.MSI .SPRJ file Manifest file Any files created by the app at time of sequencing containing customizations etc.9 Creating a Package Accelerator Once you have completed sequencing an application. o Alternatively. the application must be already physically installed on the local system. The wizard will guide you through the process of creating a package using an App-V Package Accelerator. you will first need to extract the files and present the folder containing the extracted set-up files to the sequencer. To use this.” . If using this type.OSD files . you have the option of creating a Package Accelerator. at the Installation Files Screen (Figure #18) you can select the option ‘Files installed on local system’. 9. A Package Accelerator (packagename.CAB) file will contain the following types of files:      . the Sequencer creates a new package from the App-V Package Accelerator and installation media without monitoring the installation of the application.ZIP . that are not provided by the installation files Files necessary for the virtual environment and streaming optimization To create an App-V Package Accelerator you first need to have placed on the Sequencer the installation files for the application as well as the existing virtual application package for the application.CAB Individual files and folders NOTE: Self-extracting executable files are not supported. AppV Package Accelerators assist you in packaging applications easily and automatically without having to manually install the application or follow a step-by-step recipe. The wizard will also guide you through the process of creating an App-V Package Accelerator.

o Select ‘Original installation files’ and browse to and select a root folder that contains all installation files for the application OR o Select ‘Files installed on local system’ and browse to and select the folder to which the application was already installed. specify the location of the application’s installation files. At the Installation Files screen. browse to and select the . Figure 18: Installation Files .  Figure 17: Tools Menu At the Select Package screen. (Must be installed to its default location).SPRJ file for the package to use in order to create the Package Accelerator.

Often many of the files may not actually be needed. In that case. the Sequencer will identify and report on any files that do not appear where the application expects to find them. click the box labeled “Remove these files.” Figure 19: Review Missing Files . At the Review Missing Files screen.

the Sequencer will display all files that have been detected for use in the App-V Package Accelerator. o Example: The Sequencer has included a large temporary or cache location containing copies of the setup files that you know you do not need included in the package. At the Select Files screen. Removing files such as this can help reduce the size of the overall package. Figure 20: Select Files . Uncheck the box next to any files that you do not want included in the Package Accelerator.

 At the Verify Applications screen. Figure 21: Verify Applications . the Sequencer will provide a list of applications that were detected in the package for reference purposes for the engineer who will later create the package from the accelerator. This information is useful for the engineer to know which application installers that will be needed.

txt file containing any special instructions needed for the engineer to create the package using the App-V Package Accelerator. select a location to save the Package Accelerator. At the Select Guidance screen. The App-V Package Accelerator will then display the information to the engineer performing the sequencing later. Save this file to the location of the installation media for easy retrieval. The Package Accelerator consists of a single . Enter the location of this file. create a .   .cab file. Some examples of information to include are: o Name of original packager for internal reference (if applicable) o Names and versions of the specific applications included in the package o Supported platforms o Prerequisites o Special instructions or configurations At the Create a Package Accelerator screen.

10. a.10 Create a package using a Package Accelerator To create a new virtual application package using an App-V Package Accelerator you will first need to have the application installation files and the Package Accelerator (. select the ‘Configure Software’ button to proceed with launching the applications to provide any additional configurations before saving the package. 7. 3. At the Packaging Method screen. enter a name for the package. At the Package Name screen.1 Work-flow 1. browse to and select the relevant Package Accelerator . enter any comments relevant to any customizations you will be making to the package (optional) and select the location to save the new package as well as the option whether or not to compress the package. 6. . At the Run Each Program to manage first-use tasks screen. Continue to save the application. 8. At the Guidance screen. browse to and select the root folder containing the installation files for the application. At the Save the Virtual Application screen. the Sequencer will automatically enter the name of the original package that was used to create the Package Accelerator. 2. Just as earlier in Section 8. upon completion the Sequencer will provide a report detailing any relevant information to the success of the package. you can choose to run all or run specific applications to clear any first-use tasks as well as further customize the application. 11. select ‘Create a Package using a Package Accelerator. 9. 5.cab) file copied to the sequencing VM. If you are certain that no further configuration is necessary you may select to ‘Skip this step’ and proceed directly to saving the package. By default. Select Create a New Virtual Application Package from the welcome screen. At the Select Installation Files screen.’ At the Select Package Accelerator screen. 4. This information can be useful in creating a successful package. 10.CAB file. At the Configure Software screen. read carefully any important information that may be presented to you from the developer of the Package Accelerator.

. To edit a package. Review additional package settings (except operating system file properties). you must have access to the location where the virtual application package is saved. The following list displays the package properties that can be updated if you select Edit Package: • • • • • • • View package properties.11 Application Package Upgrade Throughout the lifecycle of an application. The wizard will walk you through:    Extracting the existing virtual application package on to the Sequencer for updating Installing the application updates Saving the updated package version Edit Package Select this option to modify the properties and configuration associated with an existing virtual application package rather than adding or updating files. You must also have access to the location where the package that contains the application or program you want to modify is saved. Edit registry settings. There are three different types of Application Upgrades that will be presented to you at the Select Task screen (after clicking Modify an Existing Virtual Application Package in the main sequencer screen): • • • Update Application in Existing Package Edit Package Add New Application Update Application in Existing Package (Most Common) Select this option to apply an update to an application or program that is part of an existing virtual application package. Modify OSD file. Create associated Windows Installer (MSI). View package change history. If you select this option you should have the associated installation files saved locally to the computer running the App-V Sequencer. it will need to be updated. and when to use them. View associated package files. It is important to understand the options associated with updating an application.

or other update from the software manufacturer. Complete sequencing as usual. publishing in production:        Copy the package to the Sequencer. service pack. Select the type of upgrade to perform at the Select Task screen. In this case.• • • • • • Compress and uncompress package. Add file type associations. The Sequencer will save the updated package with a _# at the end of the . follow these steps when sequencing and. You would apply this new version to your distribution method (varies) to upgrade or replace the version currently deployed to the clients. In this mode the sequencer will also look for and add new shortcuts for the additional applications. Open the package for Package Upgrade by selecting “Modify an existing Virtual Application Package” from the Welcome Screen. Rename shortcuts. For example you can add Microsoft Excel to an existing Microsoft Office virtual application package.sft) The number corresponds with the version (iteration) of the application package. Set virtualized folder state. Edit virtual file system mappings. launch all shortcuts in the same manner as during the original sequence.1 Updating a Package that will Replace the Existing Package Sometimes. Upgrading a package is a necessary part of the application lifecycle when there is a patch. Add New Application Select this option to add a new application or program to an existing virtual application package. To add a new application you must have access to the location where the virtual application package is saved. (example: WordViewer2007_2. The wizard will walk you through:    Extracting the existing virtual application package on to the sequencer for updating Installing the additional applications Saving the updated package version 11. Set virtualized registry key state (override / merge). a package needs to be updated and to replace the existing package.sft file name. Run the installation wizard and make the appropriate changes to the package. subsequently. . After the installation.

The Sequencer will save the updated package with the new name you specified. This could be used to introduce a new pilot version of the application and. deprecate the previous version after proper testing. Figure 22: Save As New Package . At the Create Package screen. You would apply this new individual package to your distribution method (varies) to deploy for operation in tandem with the previous version on the clients.2 Updating a Package that will Run at the Same Time as the Existing Package Sometimes. select “Continue to modify package without saving using the package editor. follow these steps:         Copy the package to the Sequencer.” Select the “File” pull-down menu then “Save As” to save the package (Figure 22). Perform the steps in the sequencing wizard as usual. Select the type of upgrade to perform at the Select Task screen. eventually. In this scenario. but the business community still wants access to the existing package. a package needs to be updated. Open the package using Modify and existing Virtual Application Package.11. Check the “Save As New Package” checkbox to create a new GUID and a new package root. Run the installation wizard and make the appropriate changes to the package.

Figure 23: DSC Modes . only the secondary package needs to be updated. By sequencing the primary applications without those components and then sequencing the middleware or plug-in as a secondary package. only one level of dependency is supported. This enables the application to interact with the middleware or plugin in the virtual environment. updates to those components would require re-sequencing all the primary applications. 12. including the components. This is useful because a secondary application package can be used with several other applications. such as middleware or a plug-in. Provides better control of access permissions on the secondary applications. However. If you plan to make several primary applications dependent on a single middleware product. 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). where normally this is prevented. referred to as the primary applications. Note: The secondary application can be streamed in the normal way and does not need to be fully cached to run. If each application that used these dependent components needed to be sequenced. A primary package can have more than one secondary package. enabling each primary application to reference the same secondary package. Also. so you cannot define a secondary package as dependent on another secondary package.1 Advantages   Reduce the size of the primary packages. the secondary application can only be middleware or a plug-in and cannot be another full software product.12 Dynamic Suite Composition Dynamic Suite Composition (DSC) in App-V enables you to define an application as being dependent on another application. be sure to test this configuration to determine the potential effect on system performance before deploying it.

The “Add-on or Plug-In” and “Middleware” options are options to create Dynamic Suite Compositions using the Sequencer user interface. . The process of creating Add-on. App-V 4. you are then presented a new screen which provides options for the type of package you are creating. you needed to physically install the previously sequenced primary app on to the Sequencer before sequencing the secondary applications. saving time and effort and improving the reliability of creating Dynamic Suite Composition packages. when sequencing for Dynamic Suite Composition. expanding it to the Sequencer system.6 SP1 Sequencer user interface has been designed to include guided workflows for working with Dynamic Suite Composition. Plug-in or Middleware packages for Dynamic Suite Compositionis detailed in the following sections. When selecting Create a New Virtual Application Package from the Welcome Screen.12.6 SP1 introduces the ability to use the previously packaged SFT. Figure 24: Type of Application In previous versions of the sequencer.2 Workflow The App-V 4.

’ d. Sequence the plug-in a. Note: This process expands (or de-virtualizes) the primary application package physically on to the local system so the necessary bits are available to the add-on or plug-in being virtualized. At the Select Primary screen. i.5) or manually modify the XML code in the relevant . f. Expand the Primary App package back to the clean sequencing virtual machine. 5. 2. Link the dependencies between the two packages a. e. Open the Sequencer and select the Tools | Expand package to local system i. This will cause the sequencer to create a new . Follow the same process in Section 8 of this document. back in the sequencer select the ‘I am finished installing’ check box and click ‘Next. At the Packaging Method screen.exe file that you’ve already expanded back to the Q: drive.OSD file for Excel.’ b. select ‘Create Package. Revert the sequencing virtual machine. In the Sequencer: Select ‘Create a New Virtual Application Package.6). 3.12. You would browse to and select the Excel. Complete the package. for example. a plug-in to Microsoft Excel. select the Add-on or Plug-in option. b.3 Add-on or Plug-in When creating a separate package for a plug-in to the Primary Application. When installation is complete. Select the primary application package.’ h. ii. At the Type of Application Screen select ‘Add-on or Plug-in. browse to the main executable for the parent program.’ c. a. The work flow for plug-ins is: 1. At Select Installer either select the installer file for the Add-on or Plug-in or select ‘Perform a custom installation’ just as in Section 8. Copy the primary app package back to the sequencing virtual machine. Use either the Dynamic Suite Composition tool (Section 12. At the Installation screen. 4. Sequence Primary App (Type of Application: Standard Application (default)) and copy Package files to storage a. At the Package Name screen. install the plug-in. Example: You are sequencing a plug-in for Microsoft Excel.OSD files to create the dependency to the plugin-package (Section 12. create a unique name for the add-on or plug-in package. g. .

a. select the ‘Middleware’ option. for example.aspx?familyid=DAA898DF-455F-438A-AA2A421F05894098&displaylang=en.5) or manually modify the XML code in the relevant . The tool can be installed and used from any machine.’ b.6). The tool facilitates editing the OSD files to support dynamic suiting only. At Select Installer either select the installer file for the Primary Application or select ‘Perform a custom installation’ just as in Section 8. create a unique name for the Primary Application. 2. back in the sequencer select the ‘I am finished installing’ check box and click ‘Next. b.’ c. At the Packaging Method screen. Revert the sequencing virtual machine. e.com/downloads/details.’ d. Follow the same process in Section 8 of this document. At the Type of Application Screen select ‘Standard Application (default). Expand the middleware app package back to the clean sequencing virtual machine. When installation is complete. 4. Sequence the Primary App a. 1.5 Dynamic Suite Composition Tool The Dynamic Suite Composition tool provides a GUI interface that makes it easier to configure packages to take advantage of the dynamic suiting feature. Sequence the middleware application (Type of Application: Middleware) and copy package files to storage a. Copy the middleware app package back to the sequencing virtual machine.OSD files to create the dependency to the plugin-package (Section 12. In the Sequencer: Select ‘Create a New Virtual Application Package. Note: This process expands (or de-virtualizes) the middleware application package physically on to the local system so the necessary bits are available to the primary application being virtualized.microsoft. At the Installation screen. 3. Download the Dynamic Suite Composition tool from: http://www. install the primary app. Note: The Dynamic Suite Composition tool requires properly sequenced packages that will support dynamic suiting. Select the middleware application package. The work flow for middleware is: 1. f. select ‘Create Package. Complete the package. Java or the Oracle client. 5. The following outlines the steps required to use the Dynamic Suite Composition tool. Use either the Dynamic Suite Composition tool (Section 12. At the Package Name screen.’ g. 12. .12. Link the dependencies between the two packages a. This tool also eliminates the possibility of incorrect editing of the OSD files required to take advantage of dynamic suiting. The Dynamic Suite Composition tool also modifies the MSI files created as part of the package to reflect the changes to the embedded OSD files that are necessary for Dynamic Suite Composition. ii. Open the Sequencer and select the Tools | Expand package to local system i.4 Middleware When creating a separate package to contain middleware to be available to other primary applications.

. 4. Run the self-extracting EXE and select a destination directory for the binaries. Open the Dynamic Suite Composition tool. 3. Figure 25: Dynamic Suite Composition Tool Click on Select to choose the directory where the App-V packages for dynamic suiting exist.2. NOTE: The Dynamic Suite Composition tool doesn’t require installation. it is run directly from the directory where it was extracted.

Select Save to apply the changes to the OSD files to support dynamic suiting. . After selecting the package directory. 8. Figure 27: Dynamic Suite Composition Tool Select the Checkbox to the left of any Dependencies that are mandatory or use the All Mandatory / All Non-Mandatory buttons to toggle the setting for multiple dependencies at one time. select the Primary Package from the drop-down list.5. 7. Figure 26: Dynamic Suite Composition Tool Select and Add the Secondary Package(s) from Available list. 6.

Note: The Dynamic Suite Composition tool creates backup copies of the original OSD files with the extension BAK. . These files can be restored using the tool by selecting the primary application and selecting Restore.

Sequencer templates allow the engineer to save frequently changed sequencing options in the areas listed in Figure 29. The engineer can simply apply the Sequencer template before beginning sequencing in order to save time. Parse items and Exclusion items) the engineer can make those changes at any time and select File | Save As Template to save the template file. you can use Notepad as an alternative. meaning that it must be launched before the primary package is launched.2/sample. 3. <VIRTUALENV> <ENVLIST> … </ENVLIST> <DEPENDENCIES> <CODEBASE HREF="rtsp://virt_apps/package.12. The following example shows how the added section should appear. 6.cp" MANDATORY="TRUE" /> </DEPENDENCIES> </VIRTUALENV> 7. For creating a template for changes specific to configuration options within the Tools | Options menu (ex: General sequencer settings.sft" GUID="D54C80FA9DFF-459D-AA33-DD852C9FBFBA" SYSGUARDFILE="package.1\osguard. and then save and close the file. Note: If virtual applications are deployed via MSI installer. On the server. Close the <DEPENDENCIES> tag by inserting the following: </DEPENDENCIES> Review the changes made to the OSD file. Paste the CODEBASE HREF line from the secondary package after the <DEPENDENCIES> tag you just created. the property can be omitted. In environments where the Sequencer’s default configuration is not best suited.1.6 Manually Defining the Dependency in the Primary Package In both above examples. open the OSD file of the secondary package for editing. . 8. (It is advisable to use an XML editor to make changes to the OSD file. you must use the Dynamic Suite Composition tool to link the packages as it also modifies the contents of the MSI files for the primary application.6 SP1 Sequencer provides the ability to create sequencer template files. the primary package will need to be modified to incorporate the secondary package(s) for Dynamic Suite Composition. add the MANDATORY=”TRUE” property inside the CODEBASE tag. however. 2. If the secondary package is a mandatory package.sft" GUID="D54C80FA9DFF-459D-AA33-DD852C9FBFBA" SYSGUARDFILE="package. Open the OSD file of the primary package for editing. 1.) Copy the CODEBASE HREF line from that file. If it’s not mandatory.cp"/> <CODEBASE HREF="rtsp://sample_apps/package. 13 Sequencer Templates The App-V 4. The tag values shown here are for example only.1/package. 4. 5. Insert the <DEPENDENCIES> tag after the close of </ENVLIST> tag at the end of the <VIRTUALENV> section just before the </VIRTUALENV> tag.2\osguard.

the engineer will select File | Save As Template upon completion of a particular sequencing where the engineer has specified these options. Figure 28: Save as Template Figure 29: Template Information . the engineer will select File | New From Template immediately after opening the Sequencer. To Apply a template.To create a template also containing additional options such as Package Deployment Settings and Advanced Monitoring Options.

It is important to understand the OSD files. <SOFTPKG GUID="application GUID" NAME="application name" VERSION="version string"> <IMPLEMENTATION> <CODEBASE HREF="location“ GUID="package" FILENAME="application“ PARAMETERS=“parameters” SYSGUARDFILE="state file"/> <OS VALUE="platform"/>. and their syntax.14 Advanced OSD Scripting In some instances it may be necessary to make modifications to the application to get it to function properly in the App-V environment. The major sections are detailed below:   <SOFTPKG>: This line displays the package’s Globally Unique Identifier (GUID). OSD file: Provides information necessary to launch the application. and any Dynamic Suite Composition dependencies. Each of these fields must be unique across all published applications. <DEPENDENCY>: This section lists any scripts that must be run prior to launching this application. or can be used to “clean up” the environment after the application terminates. and you should always create a backup copy of the original OSD file prior to making any modifications. or can even prevent the application from appearing at all on the clients. Each application requires an OSD file.. whether or not to "terminate" any child processes when the application closes. These scripts can be used to setup or alter the virtual environment before an application executes. so an application can be launched by double-clicking a file. as specified during sequencing. You should list as much information here as necessary to describe the sequencing environment. including the name of the Virtual Application Server from which to stream the application.<OS VALUE="platform"/> <WORKINGDIR>optional working directory</WORKINGDIR> <VIRTUALENV virtual environment configuration options> <ENVLIST>optional variables</ENVLIST> <REGISTRY>optional values</REGISTRY> <POLICIES>optional policies</POLICIES> <DEPENDENCIES> . including what protocol to use when streaming the application. <IMPLEMENTATION>: This section tells the Application Virtualization Client "how" to run the virtual application. Only experienced sequencing engineers should make custom modifications to the OSD file. It also specifies whether a specific version of the App-V Client must be installed on the client to run this application." <MGT_FILEASSOCIATIONS>: This section lists all of File Type Associations that will be registered on the client. These custom modifications can be made using any text editor or XML editor utility. prior to using custom scripting. what server to get the application from.. <MGMT_SHORTCUTLIST>: This section displays where the shortcuts will be placed on the client. name and version. For example. <PACKAGE NAME>: This line lists the name of the package. One of the most common methods is making modifications to the OSD file to allow certain actions to be performed at a specified time during the execution of the application. Placing an incorrect syntax in an OSD file could cause the application to not work properly. etc.      A sample OSD file: Before we talk about scripting here is a generalized look at a typical OSD file. The OSD file is written in an XML format. Scripting in the OSD file is an invaluable tool when sequencing / publishing applications. to place a shortcut on the Start\Programs\Virtual_Applications menu. <ABSTRACT>: This section displays any comments that were listed during sequencing. this would display as "%CSIDL_PROGRAMS%\Virtual Applications.

the script must define where to run the script. either inside the virtual environment or outside. When developing scripts. This script placement can be very useful for troubleshooting.1 OSD Scripts All scripts must be placed between the <DEPENDENCY> tags within the OSD files.. Using the SCRIPT TIMING and EVENT tags.  Post Shutdown: After the virtual application has been closed. An example of a Post-Stream script might be to install a dependent component on the host workstation.  Post Launch: After the application launches. Next. and after the application blocks stream to the client workstation.. You can choose to refer to an existing script by its file name or you can enter the exact syntax of the commands in the script section. or on the local operating system outside the virtual application virtual environment. An example of a Pre-Stream script might be starting a necessary VPN connection to connect to a server that the application requires.0.. An example of a Post-Shutdown script might be to reset the workstation back to a clean state to remove any extraneous files that the application itself may have dropped onto the workstation. but prior to the application blocks streaming to the client workstation and the virtual environment being set-up.0"/> <SCRIPT>optional scripts</SCRIPT> </DEPENDENCY> <MGMT_SHORTCUTLIST><SHORTCUT definition>…<SHORTCUT …></MGMT_SHORTCUTLIST> <MGMT_FILEASSOCIATIONS> <PROGIDLIST>shell integration</PROGIDLIST><FILEEXTENSIONLIST>FTAs</FILEEXTENSIONLIST> </MGMT_FILEASSOCIATIONS> </SOFTPKG> .. The OSD script can be run in one of two locations: either inside the virtual environment or outside..5.  Pre Launch: After the user launches the application. and after the virtual environment has been set-up. the first step is to decide when the script will run. Whatever commands are called in a Pre-Launch script occur within the virtual environment. The PROTECT tag is the only XML tag that defines where the script will run. An example of a Post-Launch script might be calling a script to synchronize a folder inside the virtual environment with one that is outside the virtual environment.. 14. but prior to the virtual environment being set-up. Note: There is no Pre-Shutdown script as it would be impossible to know the exact moment before the user closes the application. Pre Stream: After the user launches the application.<CODEBASE . and after the bits stream to the client workstation. but prior to the user getting access to the application’s interface. the script can be executed at different times during the virtual application launch. The two settings for the PROTECT tag are described below:  TRUE: Allows the script to run within the protected environment. An example of a Pre-Launch script might be to ensure a file exists or a registry key gets added to the virtual environment. MANDATORY="TRUE|FALSE"/>.  Post Stream: After the user launches the application. <SCRIPT TIMING=“PRE” EVENT=“LAUNCH” PROTECT=”TRUE”>  .  FALSE: Allows the script to run outside the virtual environment. This script placement can be very effective when files need to be copied locally to a client but there is no need to penetrate the virtual environment.<CODEBASE MANDATORY="TRUE|FALSE"/> </DEPENDENCIES> </VIRTUALENV> </IMPLEMENTATION> <DEPENDENCY> <CLIENTVERSION VERSION="4.

Pre-Launch script runs (inside or outside Virtual Environment). The WAIT attribute is still supported in version 4. j. Virtual environment is loaded. the PERL runtime must be locally installed on the client machine. A value of FALSE defines that the client can continue onto the next step without waiting for the current step to complete. 1. User exits the virtual application. Virtual Application Launch / Shutdown Progression a. For example. g. Note: Scripts can be written in any language but their language must be installed locally on the client machine. defines how long the client will wait. . The virtual environment is unloaded. Note: The client does not support a SHUTDOWN event with Timing of PRE.6. A value of “0” defines the client will wait indefinitely. If background streaming is enabled for the application.The last two attributes that affect the script operation are TIMEOUT and WAIT. The TIMEOUT attribute. f. l. These two attributes define how much time the script will need to wait to completely execute. c. for backward compatibility. Pre-Stream script runs (outside Virtual Environment). Post-shutdown script runs (outside Virtual Environment). <SCRIPT TIMING=“PRE” EVENT=“LAUNCH” WAIT=”TRUE” TIMEOUT=”0”> The following sequenced list describes the full application launch and shutdown and when the script events occur. A value of TRUE defines that the client should wait for the script to complete before starting the next step in the script. Post-Launch script runs (inside or outside Virtual Environment). User clicks on program shortcut for a virtual application. Page streams FB1. FB2 will stream into the client cache in the background. d. i. The list also shows whether the virtual environment is loaded and whether or not the script could access the virtual environment. e. The virtual application launches. h. k. in seconds. b. if they are using PERL. Post-Stream script runs (outside Virtual Environment).

Href . Uses the “\” as an escape character and as such requires an extra “\” to pass the actual character. Does not create a temporary . Can be used to pass non executable commands such as the DOS make directory (md). 2. This is actually a part of the command. the contents of the script are copied to a temporary . <SCRIPTBODY> Can be used to call an executable by searching for the executable in the client’s Path statement. which are described in more detail: 1.bat file but instead executes the contents of the script directly on the client. HREF – Normally used when executing a single command. <SCRIPTBODY> Can be used to call an executable by searching for the executable in the client’s Path statement. Table 13: Scriptbody vs.14. HREF There are two kinds of scripts. Cannot be used to pass non-executable commands such as the DOS make directory (md). No DOS window appears on the screen unless the process being called is a console application. <SCRIPTBODY> and <HREF>. Does not use the “\” as an escape character.bat file.com. <HREF> Can be used to call an executable by searching for the executable in the client’s Path statement. When used.bat file on the client’s drive.2 OSD: SCRIPTBODY vs. SCRPITBODY – Used when needing more complex operations and/or multiple commands to be run. When used a DOS window appears on the screen during the execution of the script’s . <HREF> Can be used to call an executable by searching for the executable in the client’s Path statement.

cmd\n \\\\sfc-App-V\\shr\editini.avi</SCRIPTBODY> </SCRIPT> </DEPENDENCY> NOTE: In this example.14. the client will check the script's exit code to see if it matches the value in SUCCESSRESULT.3 <SCRIPTBODY> Examples Example 1 – ABORTRESULT and SUCCESSRESULT If ABORTRESULT is specified. .exe c:\\word\\word.microsoft. the sequencing.avi launches the locally installed Media Player.exe</SCRIPTBODY> </SCRIPT> </DEPENDENCY> Example 3 – Embedding Batch File Commands within OSD File <DEPENDENCY> <SCRIPT EVENT="LAUNCH" TIMING="PRE" PROTECT="TRUE" WAIT="TRUE"> <SCRIPTBODY> net use k: \\\\w2k-pdc\\netlogon\n CALL k:\\usr-w2k. the client will check the script's exit code when it completes.exe</SCRIPTBODY> </SCRIPT> </DEPENDENCY> Example 5 – Pre-Launching a Data File (e. AVI file) from within the Sequence <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE"> <SCRIPTBODY>%SFT_MNT%\\App\\Data\\Sequencing.g.com/kb/930973/en-us Example 2 – Pre-Launching Command Prompt <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE"> <SCRIPTBODY>cmd.ini "File Locations" TempPath c:\\temp\n </SCRIPTBODY> </SCRIPT> </DEPENDENCY> Example 4 – Pre-Launching EXE from within the Sequence <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE"> <SCRIPTBODY>%SFT_MNT%\\OfficeXP\\Office10\\proflwiz. <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" PROTECT="TRUE" WAIT="TRUE" TIMEOUT="10" SUCCESSRESULT="1" ABORTRESULT="0"> <SCRIPTBODY>@ if not %COMPUTERNAME% == “SpecialComputer” exit 1 @ exit 0 </SCRIPTBODY> </SCRIPT> </DEPENDENCY> A more detailed explanation of these commands can be found at: http://support. If SUCCESSRESULT is specified (and if ABORTRESULT is not or it does not match the script's exit code).

sequencing. .avi) cannot be specified within the FILENAME entry of the CODEBASE tag as shown below.cpl" </SCRIPTBODY> </SCRIPT> </DEPENDENCY> 14.sft" GUID="A2A6D95E-8898-41C0-8020-797B23A1E917" SIZE="33363442"/> Example 6 – Pre-Launching a Control Panel Applet within the Sequence <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE"> <SCRIPTBODY>%SFT_MNT%\\App\\CPL\\SYSDM.CMD</HREF> </SCRIPT> </DEPENDENCY> NOTE: HREF tag cannot be used with %SFT_MNT% or to launch EXE from within virtual environment.exe</HREF> </SCRIPT> </DEPENDENCY> Example 1a – Accessing Batch File via UNC <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE"> <HREF>\\SRV_NAME\NT_SHR\PRE_SCRIPT.cp" HREF="rtsp://App-V:554/app.avi" NOT ALLOWED SYSGUARDFILE="App\osguard.CPL</SCRIPTBODY> </SCRIPT> </DEPENDENCY> Example 6a – Pre-Launching a Control Panel Applet within the Sequence <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE"> <SCRIPTBODY> "C:\\Program Files\\Common Files\\System\\Mapi\\1033\\mlcfg32.g.NOTE: A data file (e. <CODEBASE FILENAME="App\Data\Sequencing.4 <HREF> Examples Example 1 – Accessing Local Application <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE"> <HREF>c:\winnt\system32\cmd.

6 <WORKINGDIR> Examples – Specifying a Working Directory The WORKINGDIR tag defines where to look for filenames that are not given a full path as in Windows.\Data\cli.sft" GUID="BD9AF94E-4A8E-415D-B57F-54A454911FAA" SIZE="648019522"/> Example 2 – Launching Data File via a Relative Path <CODEBASE FILENAME="App\WordEditor\wordpad.cp" HREF="rtsp://App-V:554/app. An example is placing filename in the PARAMETERS attribute. Example 1 – Generic Example <CODEBASE FILENAME="\ABCD\EXECUTE\Z_RUN.5 <PARAMETERS> Examples The PARAMETERS attribute is used to provide command line arguments to the FILENAME attribute. In the first example below.. like a database file that will be opened when the application is launched.doc’ is located in the following location within the sequence: %SFT_MNT%\App\Data\cli.doc 14. The FILENAME attribute points to the location of the program to execute when launching the virtual application.exe" PARAMETERS="cjm.sft?Customer=Sequencer" FILENAME="np_ecj\notepad.exe" PARAMETERS=" .doc" SYSGUARDFILE="App\osguard.sft?Customer=Sequencer" FILENAME="np_ecj\notepad.txt" GUID="D47C0A23-32CF-11D6-990A-00A0CC6413D5"/> <OS VALUE="WinXP"/> </IMPLENENTATION> .g. it is used make the C:\temp directory the default location to look for files if a referenced file name has no path. %SFT_MNT%).exe" PARAMETERS="cjm. Example 1 <IMPLEMENTATION> <WORKINGDIR>C:\temp</WORKINGDIR> <CODEBASE HREF="rtsp://ds1-soft1:554/np_ecj.\Data\cli. NOTE: The PARAMETERS tag will not support environment variables (e.txt" GUID="D47C0A23-32CF-11D6-990A-00A0CC6413D5"/> <OS VALUE="WinXP"/> </IMPLENENTATION> Example 2 <IMPLEMENTATION> <WORKINGDIR>C:\program files\internet explorer</WORKINGDIR> <CODEBASE HREF="rtsp://ds1-soft1:554/np_ecj.EXE" PARAMETERS="FORM=MRF01 LANG=ENG ZENV=X_POINT_CHAR" SYSGUARDFILE="ACBS\osguard.14.sft" GUID="A2A6D95E-8898-41C0-8020-797B23A1E917" SIZE="33363442"/> NOTE: ‘..cp" HREF="rtsp://hercules:554/ACBS_V2.

the OSD file for an application does not have to open an executable within the virtual environment.txt" GUID="D47C0A23-32CF-11D6-990A-00A0CC6413D5"/> <OS VALUE="WinXP"/> </IMPLENENTATION> 14. There are two examples listed below of launching local applications. In the case of Web add-ins like Microsoft Silverlight.51.sft?Customer=Sequencer" FILENAME="np_ecj\notepad. %SFT_MNT%).7 <REGISTRY> Examples – Registry Customizations <IMPLEMENTATION> <CODEBASE … /> <VIRTUALENV> <REGISTRY> <REGKEY HIVE="HKLM" KEY="Software\Test"> <REGVALUE REGTYPE="REG_SZ" NAME="string">Holas</REGVALUE> <REGVALUE REGTYPE="REG_DWORD" NAME="dword">5051</REGVALUE> <REGVALUE REGTYPE="REG_BINARY" NAME="hex">50.52</REGVALUE> <REGVALUE REGTYPE="REG_SZ">Value of Default Key</REGVALUE> </REGKEY> </REGISTRY> </VIRTUALENV> </IMPLENENTATION> 14.sft" GUID="A2A6D95E-8898-41C0-8020-797B23A1E917" SIZE="33363442"/> <VM VALUE="Win32"> <SUBSYSTEM VALUE=”Windows”/> </VM> . the FILENAME attribute would be pointed to Internet Explorer.g. NOTE: The PARAMETERS tag will not support environment variables (e.exe" PARAMETERS="cjm.cp" HREF="rtsp://App-V:554/app.Example 3 – Example with Variable <IMPLEMENTATION> <WORKINGDIR>%SFT_MNT%\App\Data</WORKINGDIR> <CODEBASE HREF="rtsp://ds1-soft1:554/np_ecj. Example 1 – Launching Application that is local (not part of the Sequence) <CODEBASE FILENAME="C:\Program Files\Internet Explorer\iexplore.8 Launching Local Applications Using the FILENAME attribute.exe" SYSGUARDFILE="App\osguard.

10 Launching Application via Non-Default Provider Policy During installation of the App-V Infrastructure. <CODEBASE FILENAME="Photoshp\Photoshop. In this example.<CODEBASE FILENAME=" C:\Program Files\Windows Media Player\wmplayer.9 Setting Environment Variables Using these steps. The following describes the change to the OSD file for a non-default provider policy (in bold).cp" HREF="rtsp://appvserver:554/adobephotoshop70. the system PATH variable is appended by the Mount path (for eg. Multiple provider policies can be created so that one is used for applications where no license enforcement is needed and another where license enforcement is enabled.. an environment variable can be set which could be used by the application in the virtual environment.</ENVIRONMENT> </ENVLIST> </VIRTUALENV> 14.exe is a local application.avi" SYSGUARDFILE="App\osguard. the application would use this updated PATH environment variable when required.sft?Customer=Sales" GUID="FE72DDCD-6E80-4ABE-8E82-8208A134CB34" SIZE="178299260"/> . and licensing. applications that need to use a provider policy that is not the default must have the OSD file modified. Provider policies can be created and modified to affect the authentication. Hence. a Default Provider Policy is created and assigned usage permissions. Q:) and Visual Studio path. <VIRTUALENV> <ENVLIST> <ENVIRONMENT VARIABLE="PATH">%PATH%.sft" GUID="A2A6D95E-8898-41C0-8020-797B23A1E917" SIZE="33363442"/> <VM VALUE="Win32"> <SUBSYSTEM VALUE=”Windows”/> </VM> NOTE: C:\Program Files\Windows Media Player\wmplayer. In this scenario. where Sales is the name of the non-default provider policy.cp" HREF="rtsp://App-V:554/app. 14.%SFT_MNT%\vs2005\Microsoft SDK\bin\.exe" PARAMETERS=" q:\app\data\sequencing.exe" SYSGUARDFILE="Photoshp\osguard. access permissions of virtual applications.

11 Running an Application as a CONSOLE application THE SUBSYSTEM tag defines the type of application defined in the FILENAME attribute that will be run with two possible elements (windows or console) to define the type of application (windows=windows and console=dos) being executed. and Win64 and are case sensitive. Win32. In this example. The values for the VMVALUE tag are Win16.14. the OSD is describing that the application is a 16-bit DOS application. <SUBSYSTEM VALUE="console"/> </VM> </IMPLEMENTATION> . <OS VALUE="WinXP"/> <OS VALUE="Win2003TS"/> <OS VALUE="WinVista"/> <OS VALUE="Win2008TS"/> <OS VALUE="Win7"/> <OS VALUE="WinXP64"/> <OS VALUE="Win2003TS64"/> <OS VALUE="WinVista64"/> <OS VALUE="Win2008TS64"/> <OS VALUE="Win764"/> <OS VALUE="Win2008R2TS64"/> <VIRTUALENV> <ENVLIST/> </VIRTUALENV> <VM VALUE="Win16"> Can also be “Win32” or “Win64” WARNING! VM Values are case sensitive.

sft" GUID="A9800C2A-E9ED-4711-B90C-808D6DD0AABC" FILENAME="Winzip. change the .ico" /> </MGMT_SHORTCUTLIST> </SOFTPKG> .14.OSD file extension to .0" /> </DEPENDENCY> <SUITE NAME="Winzip_Winzip_901_MNT" /> <TITLE /> <ABSTRACT>Win XP Sp1.XML and drop the .<VM VALUE="Win32"> <SUBSYSTEM VALUE="windows" /> </VM> .cp" SIZE="6225393" /> <OS VALUE="WinXP" /> <OS VALUE="WinVista" /> <OS VALUE="Win7" /> <OS VALUE="Win2003Svr" /> <OS VALUE="Win2003TS" /> <OS VALUE="Win2003TS64" /> <OS VALUE="Win2008TS" /> <OS VALUE="Win2008TS64" /> <OS VALUE="Win2008R2TS64" /> <OS VALUE="WinXP64" /> <OS VALUE="WinVista64" /> <OS VALUE="Win764" /> .0" standalone="no" ?> . IE 6. If there are any open or missing tags the file will not be displayed.<SOFTPKG GUID="26998703-328D-41DE-A256-5AFACD27ED08" NAME="WinZip" VERSION="90"> .5.v1\WINZIP32. Note: XML file editors such as XML Notepad can also be used to check XML file format. Example XML file syntax display: <?xml version="1.EXE" PARAMETERS="" SYSGUARDFILE="Winzip.v1\osguard.<MGMT_SHORTCUTLIST> <SHORTCUT LOCATION="%CSIDL_STARTMENU%" WORKINGDIR="" DISPLAY="WinZip" ICON="%SFT_MIME_SOURCE%/WinZip90.XML file into an Internet Explorer window.12 OSD XML Syntax Check To check the XML format of an OSD file.0 Seq Build 300</ABSTRACT> .<IMPLEMENTATION> <CODEBASE HREF="rtsp://ntlabsg01:554/Winzip_Winzip_901_MNT/Winzip_Winzip_901_ MNT.<VIRTUALENV> <ENVLIST /> </VIRTUALENV> </IMPLEMENTATION> .0.ico" /> <SHORTCUT LOCATION="%CSIDL_DESKTOPDIRECTORY%" WORKINGDIR="" DISPLAY="WinZip" ICON="%SFT_MIME_SOURCE%/WinZip90.<DEPENDENCY> <CLIENTVERSION VERSION="2.

In fact. Sometimes an application uses batch files that look in a specific place to execute a command or an INI file does the same for a configuration.1 Sequencing Applications That Cannot Install to Q:\ At some point while sequencing applications. There are pros and cons when sequencing with this method. only one minor modification will need to be made. •Performance on the client will be affected as well as more files are added to the VFS. Hence.  Allow the application installer to install to its default location. For most applications you will not notice a difference. This by itself does not present a problem when sequencing the application. however when sequencing applications over 1GB in size you will notice a definite slow down in the sequencing process. It is also recommended to be aware of the logs created when sequencing. Pros •You can sequence applications that will not install to Q:\ •You can use existing installation packages for your sequencing. 15.15 Advanced Sequencing Techniques This section will briefly cover some sequencing challenges and how to overcome them. a list of the log files related to the Sequencer process and purpose. These files do not always translate well to being placed in the VFS and may need to be manually edited to reflect their correct location. Cons •More files in the VFS means your sequencing process will slow down. many configurations and settings will already be included. you will most likely run across an application that will not let you install to Q:\ (PowerPoint Viewer). •Some files may not translate well to being placed in the VFS. .

In this case it was a Web plug-in.2 Sequencing Web-Based Applications Internet Explorer is NOT supported in a sequenced application. 15.exe). C:\Program Files\Internet Explorer\iexplore. install it normally via a package or go to the appropriate Web site to get the app. . then the application will fall through to the OS to look for the driver and see that it is installed. This lets you have a clean and secure Internet Explorer that you can lock down on a user’s machine and then allow them to use the plug-ins that you define.microsoft. App-V cannot virtualize drivers..com). you can sequence plug-ins or ActiveX controls for Internet Explorer. However. The applications inside the virtual environment can see the local resources on the OS and can access them. If you can install the driver separately from the application. On the “Edit Shortcuts” page of sequencing . Begin the normal procedure for sequencing an application. http://www.add a shortcut and point to the local Internet Explorer (i. After the Iexplore. you sequence these applications no different than you would any other. When it comes time to install the web app. Finish sequencing the package normally. Figure 30: Sequencing Web-Based Applications Process This pulls the locally installed application into the virtual environment with the additions you have specified.exe enter the web site that you want to launch (i. Devices are another matter.15.e.3 Sequencing Applications that Require Access to Local Devices and/or Resources In many ways.e.

Path: %ProgramFiles%\Microsoft Application Virtualization Sequencer \App-V Sequencer\Logs\Devirtualizer_log.txt Description: The main log file for logging on the Sequencer.txt Description: Stores the actions taken during the reboot processing.txt SFTCallBack.log Files.4 Sequencer Log Files • Sft-seq-log.log Description: A binary log that stores file activity during sequencing. It must be enabled by setting. Path: ProgramFiles%\Microsoft Application Virtualization Sequencer\Logs\Sft-seq-log. Path: %ProgramFiles%\Microsoft Application Virtualization Sequencer \App-V Sequencer\Logs\ Filter. Path: %ProgramFiles%\Microsoft Application Virtualization Sequencer \App-V Sequencer\Logs\ SFTCallBack. HKLM\Software\Softricity\App-V Sequencer\CurrentVersion\Configuration\FileManifest to “1”.txt Filter.txt Description: Records all process starts and stops seen by SystemGuard.txt Sftrbt. (REG_DWORD) Path: %ProgramFiles%\Microsoft Application Virtualization Sequencer\App-V Sequencer\Logs\ File. Path: %ProgramFiles%\Microsoft Application Virtualization Sequencer \App-V Sequencer\Logs\Sftrbt.15.txt Description: Records activity related to unpacking App-V packages when using the Expand to Local System function.1.txt • • • • • .txt Devirtualizer_log.txt Description: Logs all files in the VFS.

implementing.xxxxxxxx or Figure 31: Sample Error Message The first block of 6 characters are around the version build of the platform/client. The knowledge base contains useful information regarding planning.microsoft. A link to the Microsoft knowledge base follows: http://support.16 Finding Additional Information 16. Basically. it’s information-based and will vary depending on: • • • • Major Version Minor Version Patch Version Build The Next Block of 8 Characters Identify • • • File ID Line Info . and troubleshooting App-V.xxxxxxxx . enter the last 8 digits such as 00002AF9. The ending 8 digits of the error code remain constant between all client versions. When you search for an error code.1 Error Codes and the Microsoft Knowledge Base Microsoft has completed the process of migrating data off of the old Softricity knowledge base. xxxxxx . be aware that the first 12 digits are unique to the version of the App-V Client software. when you see these.com Error Code Formats: When searching the knowledge base for error codes. e.g..

Justin Zarb from Premiere Field Engineering in the UK has written an excellent article related to the App-V error codes and what they mean. The blog is updated frequently so keep checking it for more information. This should be the first stop for anyone interested in learning about App-V and sequencing.brianmadden. we can use this knowledge to identify problems and issues as these codes are reused between modules. look through the archives for valuable information.technet. it should be noted that these sites are not affiliated with Microsoft in any way and Microsoft cannot verify any of the information contained within.http://blogs. While these sites contain valuable information about App-V.com/virtualworld/archive/2007/07/27/so-what-do-all-these-errors-actually-mean.3 App-V Related Technical Discussion Forums and Web Sites Here is a list of non-Microsoft sites that contain information related to the App-V product and sequencing.2 App-V Team Blog This is probably the single greatest repository of App-V related information on the web. Some of these sites include useful App-V related technical discussion forums. builds.xml 16.appvirtguru.     http://www.aspx 16. Additionally.technet.technet.com/virtualworld http://social. In addition.technet.The Last Block of 8 Characters show: • Problem Code The last 10 digits of the error code are constant between the App-V builds.com/Forums/en-US/category/appvirtualization . etc. Because the last 10 digits are consistent we tend to use these for identifying and searching out errors. Regardless of the version.. The article can be found at: http://blogs.technet.com http://blogs.http://blogs.microsoft.com/App-V/rss.com/ http://www.   App-V Team Blog .com/b/appv/ RSS Feed .

..1 Error Codes and the Microsoft Knowledge Base.16..65 ....

.....................16............66 ..........2 App-V Team Blog.............

3 App-V Related Technical Discussion Forums and Web Sites 66 .16.

App-V Related Technical Discussion Forums and Web Sites .

and finally. The release of the App-V 4. As such. . Properly sequencing applications is key to a successful App-V implementation. it’s important to follow Microsoft’s recommended practices and be aware of the different options when sequencing.1 Introduction to Application Sequencing The Microsoft Application Virtualization (App-V) Sequencer is a component of the App-V suite used to package applications to be deployed to systems using the App-V Client. the new features. examples of advanced OSD scripting. Settings Templates. an example of sequencing. and built-in diagnostics designed to make the process of sequencing faster and easier. updating. This document covers setting up the Sequencer. sequencing best practices.6 SP1 Sequencer includes a number of powerful new features such as Package Accelerators.

The Sequencer uses the %TMP%. Specify the drive letter that matches the drive letter specified on the App-V client. You can check the location of the Scratch Directory by launching the Sequencer. and its own Scratch Directory for temporary files. if an application is expected to integrate with Microsoft Office. the application may be required to be sequenced on the same OS environment that the App-V Client is running on in order to resolve those problems. Select the sequencing drive letter assignment. These locations should contain free disk space equivalent to the estimated installation size. %TEMP%. In addition. This assumes that a Microsoft Office suite will be installed locally on all client PCs. Placing the temp directories and the Scratch Directory on different hard drive spindles can improve performance during sequencing.1 Sequencer Workstation Configuration Proper configuration of the sequencing station is imperative to ensure that applications will function properly when launched on a client. Many applications will install differently if they recognize that Microsoft Office is already installed on the machine. you may want to install any other programs that could be used by the application you are sequencing if they are not going to be a part of the sequence. Microsoft recommends the following configuration when sequencing:  Sequence on a machine that matches the operating system (OS) and configuration of the target clients. it’s best to attempt sequencing on a machine with Office already installed and activated. It is often possible to sequence on one OS and run the virtualized application on a different OS. Include Microsoft Office on the base sequencer image if Microsoft Office will be installed traditionally on all desktops in the organization.and OS-dependent and is not guaranteed to work for all application/OS combinations since App-V is not a general-purpose OS compatibility solution. Many applications will be sequenced more than once. This may be due to additional configuration changes or simply starting     . If problems are encountered. You are no longer required to create a disk partition or separate physical disk as you did with previous versions. The Scratch Directory is where the Sequencer will temporarily store files generated during the sequencing process. The 4.6 SP1 Sequencer installer will mount a drive that will serve as the root for all packages. however this scenario is both application. Configure the temp directories to ensure successful sequencing and improve performance. Sequence using Virtual PC. Thus. clicking Options from the Tools menu. and then noting the Scratch Directory box in the General tab.

Some of these programs include: ○ ○ ○ ○ ○ ○ Windows Defender Antivirus software Disk defragmentation software Windows Search Microsoft Update Any open Windows Explorer session Note: The Sequencer workstation should be fully scanned for viruses and malware and then the antivirus and antimalware software should be disabled before creating a snapshot image of the Sequencer workstation. start with a clean sequencing system.over to correct a mistake. Additionally. This will let you sequence an application and. The point is that you will be going back to your original configuration on the PC several times. revert back to a clean state so you can continue sequencing with no down time.  Shut down Other Programs. The Sequencer will scan for these and other processes before creating a Virtual Application Package. As such. with a simple click of a button. Processes and scheduled tasks that normally run on your computer can slow down the sequencing process and cause irrelevant data to be gathered during sequencing. To help facilitate this you may want to use a virtual machine. it is recommended that the following programs should be shut down before you begin sequencing. whenever you start a new sequence. .

1. There are three main application types in the Create New Package wizard: • • Standard Application – The default application type.6 SP1 Following lists the changes to the App-V 4. 1.      Improved user interface to simplify sequencing process Package Accelerators Settings Templates Built-in diagnostics Command Line Sequencer enhancements 1. • There are three main options in the Modify Package wizard: • • • Update Application in Existing Package – Select this option if you are applying an update or patch to an existing package. the wizard will create a default package root folder based on your package name. When creating a new package. or optimizing for streaming. making sequencer faster for the sequencing engineer. You can create a basic package or extend the wizard to make optional modifications. and will launch the application installer after you specify it. such as configuring shortcuts and File Type Associations (FTAs). Most applications should be sequenced using this option.1 Package Accelerators . 1. Middleware – This option is for sequencing middleware or frameworks that will be configured as dependencies for other virtual applications through Dynamic Suite Composition.1.1 Changes to the Sequencer in 4. as well as to increase the likelihood of developing successful sequences when dealing with more complex application suites. The configure software wizard page allows you to open applications and prepare them for first-time use by entering licensing information or accepting EULAs. Add New Application – Select this option if you are adding an additional application to an existing package.1 New features of App-V 4. or that will be another App-V package that will be linked through Dynamic Suite Composition.6 SP1 Sequencer Powerful new features have been added to streamline the sequencing workflow. Edit Package – This option will open your package in the console to let you modify deployment options and package contents. Add-ons or Plug-ins – Choose this option if you are sequencing an add-on to another application that is either traditionally installed on the client machine.1 Improved User Interface The enhanced wizard will guide you through creating new packages and modifying existing packages.6 Sequencer that will be detailed in the section below.

Microsoft App-V project templates save commonly applied settings associated with an existing virtual application package.msi).2 Sequencer Templates Use templates to save settings that can then be applied when you create new virtual application packages in your environment. known sequencing issues that prevent successful sequencing as early as possible in the sequencing process. When you apply an App-V Package Accelerator you are not required to manually install an application to create the virtual application package. You can use App-V Package Accelerators to automatically sequence large. Port. General Options – Allow use of Windows Installer file (.Microsoft Application Virtualization Package Accelerators allow you to convert traditional applications into virtual application packages without manually sequencing an installation. Rebase . and effectively solve common sequencing issues.1.1. 1. Use the argument /LAUNCHALL to open each application in order to create a primary feature block for App-V which helps optimize streaming. Use /LAUNCH: to . Compress Package. After you create App-V Package Accelerators you can share them with other administrators. Operating Systems. Enforce Security Descriptors. Path. The App-V Sequencer extracts the required files from the App-V Package Accelerator and associated installation media to create a virtual package without having to monitor the installation of the application. Allow Virtualization of Services. complex applications. Exclusion Items – Exclusion pattern list. Host Name. You can create and save your own App-V Package Accelerators using the App-V Sequencer. 1.1 Diagnostics (Reporting) This feature helps identify common. Use diagnostics to quickly. and App-V project templates can be applied to multiple applications. Append Package Version to Filename. This can help streamline the process of creating virtual application packages. Create MSI. early. App-V Package Accelerators save sequencing time and help accelerate your App-V deployments. App-V Package Accelerators are created by software vendors or other experienced packagers who have already sequenced complex applications. Allow Virtualization of Events.2 Command Line Sequencer Enhancements Creating App-V packages using the command-line interface version of the Sequencer is now easier.dll’s Package Deployment Settings – Protocol. The following general settings are saved with an App-V project template: • • • • Advanced Monitoring Options – Allow Microsoft Update to run during monitoring. App-V project templates differ from App-V Package Accelerators because App-V Package Accelerators are application specific. The report also provides information that can enable users to quickly fix the problems. 1.1.

designate specific applications to open. . you can now make use of the new App-V Package Accelerator and Template features when using the Sequencer command line interface. Use the /LAUNCHSCRIPT argument to automate the launching of specific processes. Also.

and you may be required to go back and edit the virtual registry or some individual files to point to the correct locations. ‘Q:\’ is incorrect. If the suite has multiple parts. For example. and process include:  When sequencing on Windows Vista or Windows 7. It is also recommended that you learn how the application runs and the components of the application that the user will need. sequence the LOB application to Q:\AppSuite\LOB. The installation drive on your Sequencer should match the virtual drive on the client. if a package contains a Line of Business Application along with the Oracle Client. Step-by-step documentation will ensure that no unnecessary troubleshooting occurs during the sequencing process since no important steps will be skipped. Use the Comments field in the Sequencer (Abstract Tag) to note any details about the package you may want to include. In some cases this may not be possible (if. one should document step-by-step the installation and post-configuration procedures for the application. Documenting the sequencing process in this way will allow you to hand the recipe to someone else in your organization and have them recreate the same package. (‘Q:\MYAPP’ is correct.2 Recommended Best Practices for Sequencing This section covers Microsoft’s recommended best practices for sequencing applications. This will allow you to revisit the sequence later and have a record of this information. install each application in a subdirectory of the Asset Directory. ‘Q:\Temp_Junk\MYFOLD’ is incorrect). Recommended settings. need to be performed in the Sequencer after the installation? What post-installation configuration steps need to take place in the Sequencer? How do users commonly use this application immediately after its launch? Does this application do something that App-V currently does not support? If so. packaging for multiple organizations). configurations. say. check the Microsoft Knowledge Base to see if a workaround is available. use Q:\AppSuite as the Asset Directory. Be sure to read all installation instructions associated with the application. and sequence the Oracle client to Q:\AppSuite\OracleClient.    . It is recommended that you familiarize yourself with the installation and execution of the application prior to sequencing. Always document the sequencing process step-by-step creating a “recipe” using a standardized template. Sequence to a folder in the root of the drive. ensure that you have User Account Control (UAC) enabled on the sequencing machine if the client machine you are deploying the application to will have UAC enabled as well. such as adding new files to the package. To improve the process of sequencing an application. Items to document in a recipe include:      What application components are needed and will be required to complete the installation of the application? What updates. not to a subdirectory.

use the Wizard to launch each executable in a suite of applications. accepting a license agreement or setting file type associations). It is required that none of the components are sequenced with this option. There are online articles relating to sequencing best practices : ○ Microsoft Support: http://support. second launch. Some applications perform different tasks on first launch.microsoft. The multiple launches will make sure that any post-installation tasks that are required by the application can be completed (e.com/kb/932137 .g. Disable “Auto Update” features. and sometimes subsequent launches. Do these configurations in the “Configure Software” phase. if you are in an environment where bandwidth is limited. run the application multiple times to get past all registration and dialog box requests.. then you want to have an accurate primary feature block so that users are not constantly making calls to the server to download additional files in cache.. As a general rule. as version control should be performed via sequencing new versions. It is necessary to choose either “Run from My Computer” (install this component) or “Not Available” (do not install this component). Disable “Install on First Use. Operations made during the “Prepare for Streaming” section will be included in the primary feature block.” Some applications have the option to “Install on First Use” for certain components. Some applications have the ability to check a web site or a server for the latest application updates. Additionally. This feature should be turned off. For application components that will not be used by any of the targeted users. etc. after checking the “I am finished installing” box and clicking “next” in the Sequencer. it is recommended that the components not be installed. copying updated files. It is recommended to launch each application multiple times if necessary. open a document and misspell a word to include spell check function) so that they are included in the initial streaming of the application and you have an accurate primary feature block. in Microsoft Word. users will see delays as they start to use the application and will regard it as being slow if many of the features they use are not in primary feature block. until the program is in a static state in the Installation Phase. Completing the installation of an application often requires performing several manual steps that are not part of the application installation process. This will ensure that each application will have the required initial launch data on the App-V Client. If deploying via streaming. These steps can involve configuring a connection to a ‘back-end’ database. If this is not done. when building the primary feature block make sure you execute the application’s most common operations (e. For example.g.      Configure and test the application after installation.

However. Another item to take special note of before sequencing begins: nothing will slow down the sequencing process more than not having access to someone who inherently understands the full functionality of the application.1 Classifying Applications for Sequencing All applications are different and. if any. they may require no changes but have a larger install that takes more time. Every application will be different. An example of an application in this category would be WinZip or Adobe Reader. Changes you might encounter in these packages would be on the order of making changes to the registry. In some cases. These applications might require some changes while sequencing to function correctly. sequencing estimates can be put into three categories based on the complexity of the application. size (both size on disk and number of files). no application will require the same amount of time to sequence. Note: This section includes approximate sequencing times referring to first time sequencing and is not related to sequencing via the use of Package Accelerators. In rare occurrences you will encounter both. or there may be additional applications needed to install together as a suite so they can function together. The times are presented only to assist in estimating the time required for a first time non-accelerator project. This is probably the most common application type.osd file to launch with additional parameters and scripts. These are also very general in nature. These applications are very straightforward and normally small in size (usually under 100MB). therefore. altering the . Very little. Application Type Simple Description These applications are normally small. and finally. reliance on resources outside of the virtual application. Time Scale Typical sequencing time: less than 1 hour Moderate Ty p i c a l s e q u e n c i n g t i m e : 1 . modifications are needed to run these applications.

Ty p i c a l s e q u e n c i n g t i m e : 4 8 h o u r s . b u t c o u l d . sequencing applications such as these should be done by an experienced sequencer. Applications of this complexity can be sequenced. Packages like these will normally be 3-4 GB in size and may require compression to get the package under the 4GB App-V limit. sequencing hardware should be better than average. If this is the case. These applications may require you to manually edit batch and command files to point to resources in the virtual environment. You also may be required to install a device driver separately since drivers cannot be virtualized. and finally.4 h o u r s Complex These are large applications or applications that take four or more hours to install. All knowledgeable resources should be engaged and available. Other hurdles you may encounter are the application’s reliance on files being in a specific place and functions hard-coded to that install. it is highly recommended utilizing a program that can scan multiple files and make several changes at once. or both. before you begin. all the pieces must be in place. significant amounts of customization to function in the virtual environment. however it is imperative that.

b e l o n g e r d e p e n d i n g o n t h e s i z e a n d n u m b e r o f f i l e s Table 1: Classifications of Applications .

• • Applications that start services at boot time • App-V requires a logged in user to initiate the launch of an application. On the same note. Limitation Sequenced package over 4GB (SFT has 4GB limit) • Description By utilizing compression within the Sequencer it’s possible to take applications that are larger than 4GB and get them below the limit. It is possible to bypass this issue and install the driver locally on the target computer. Applications drivers that require device • App-V cannot virtualize drivers. remember that one “bubble” cannot see another unless they are made dependent on one another via Dynamic Suite Composition.2 Sequencing Limitations Sometimes there are applications that cannot or should not be sequenced. a program that will initiate a command and launch another program. attempt to compress the file. however if this application launches or initiates commands in several applications it may not be feasible for you to include all of the applications in the same suite. Some user-mode virtualized. Normally you would include both programs in the same suite. However. Such as Internet Explorer • Applications that are a part of the OS • . Also there are certain limitations with App-V. This is especially true if one of the reasons you are deploying App-V is to avoid application conflicts. If the application is too large then the Sequencer will not save the application. Here is a short list of application functions and limitations of the software. It will. after compression the application must be smaller than 4GB. however. Always remember that the virtual “bubble” can see the OS and what’s installed on it but the OS cannot see the “bubble” and interact with it. device drivers can be • Applications that are required by several applications for information or access • For example.

These are extracted from application resources.SPRJ Description Sequencing project with references to OSD. Publishing parameters for all applications in a package.OSD . Optionally a DSFT (Differential SFT). there’s no way for the Sequencer to capture this information. Binary file containing all assets and state organized into stream able feature blocks. package location. DLLs that run in Dllhost. The following is a list of those files and descriptions of each of them.exe COM DLL surrogate virtualization • Table 2: Sequencing Limitations 1 Sequence files When you save your package you will have several files.ICO . shell integration.). etc. classifications and exclusions. For example. dependencies. default package settings. Installer to publish and load (“install”) a virtual application package in standalone environments. Description of an application including environment.SFT .Applications that use COM+ • Because COM+ is dynamic and happens at runtime. . File . Icons associated with each shortcut or FTA defined in an OSD or Manifest. scripts. Shortcuts.MSI . DDE.XML Manife st . Includes definitions of shell integration (FTAs. list of all parser items.

SPRT Optional: Package Accelerator file.CAB . Optional: Sequencer Template file. Table 3: Sequencing Output Files . .Embeds all but SFT.

2. .6 SP1 and provides quick access to the common tasks of creating and upgrading a package.2 Sample Sequencing This section describes some of the key points to remember during sequencing. To begin.1 Welcome Screen The Welcome Screen is new in App-V 4. Welcome Screen Component Create a New Virtual Application Package Modify an Existing Virtual Application Figure 1: Welcome Screen Description This option will launch the wizard for creating a new virtual application package. open the Application Virtualization Sequencer and select Create a Package from the Welcome Screen. This option will launch the wizard for modifying or upgrading an existing virtual application package.

Package Table 4: Welcome Screen Component Description .

Figure 2: Packaging Method Package Method Component Create Package Create Package Using a Package Accelerator Description Select this option to create a new package from scratch.2. Table 5: Package Method Component Description . Select this option to create a new package from a previously created Package Accelerator. The picture and table below describe the different options that are available.2 Packaging Method Creating a package starts with selecting which method to use to create the package.

Note in the example below that the Sequencer is recommending to stop the Windows Defender service before continuing. or there are pending reboots) that might prevent a successful sequencing. Figure 3: Prepare Computer .2.3 Prepare Computer Next. the Sequencer will quickly examine the current operating environment to look for any known process or conditions that are in place (such as if the Sequencer hasn’t been reverted to a clean state after a previous sequencing operation.

Select the Add-on or Plug-in or the Middleware options when creating a package that needs to interoperate or when creating packages for Dynamic Suite Composition solutions. or one suite of applications that are isolated from other software). Select Standard Application for packages that are selfcontained (ex: one application.4 Type of Application The Sequencer offers choices for the type of application being sequenced in order to determine the steps in the wizard. Select this option if sequencing multiple applications in separate virtual application packages and linking them using Dynamic Suite Composition. This option can also be used when packaging Add-ons or . Figure 4: Type of Application Advanced Options Component Standard Application Add-on or Plug-in Description Select this option if sequencing a single application or suiting multiple applications into the same virtual application package.2.

This option causes the sequencing wizard to enter monitoring and then wait for you to finish manually launching any installation tasks. Middleware Select this option if sequencing multiple applications in separate virtual application packages and linking them using Dynamic Suite Composition. This option will first create the application package for the middleware component and then create the second virtual application package that will contain the primary application.Plug-ins for locally installed applications like Internet Explorer.5 Select Installer Next. Alternatively. Table 6: Type of Application Component Descriptions 2. you can also select to “Perform a custom installation”. Figure 5: Select Installer . This option is often useful when sequencing applications that may not have an install or setup file such as applications that just copy from a network share. The Sequencer will automatically launch the installer when it activates monitoring. point the Sequencer to the installer for the application being sequenced. An “installer” can be any executable file designed to install the desired application.

define the package name and primary virtual application directory. Table 7: Select Installer Component Descriptions 2. Select this option and define the installer file to have the sequencing wizard automatically launch the installer for you. Long directory names are supported and the Sequencer will automatically fill in this field as you type the Package Name.6 Package Name Next. Figure 6: Package Name . It is useful when you have multiple application installers or when there is no application installer. Select the “Edit” box to manually set the name of the directory.Advanced Options Component Select the installer for the application Perform a custom installation Description This option typically applies to sequencing only a single application using a single installer. This option behaves similar to previous versions of the Sequencer. Select this option to start monitoring and then manually launch your application installer(s). The Primary Virtual Application Directory is the directory off of the root of the Q: drive that will contain all files for the sequence.

Once installation is complete. .Advanced Options Component Virtual Application Package Name Primary Virtual Application Directory Description Define a unique name for the virtual application package. or you will now manually install the application. You could also click Run and select an installer to have the Sequencer launch the installer for you. the Sequencer will either begin monitoring or launch the installer defined earlier automatically. select the I am finished installing check box and click next. depending on your earlier choice. This is the primary directory that the application will reside in once cached on the client in the Q: (default) drive.7 Installation Next. Table 8: Package Name Component Description 2.

If the application forces you to reboot. etc. the Sequencer will record the reboot tasks that the application has configured and cancel the reboot.7. just click “yes. Applications that require a reboot to complete the installation will no longer require the reboot when delivered to the client machines.8 Configure Software Many applications have first-run tasks such as accepting license agreements. This is because the Sequencer will monitor the operations that need to be completed during reboot and process them prior to saving the package and prior to delivery to client computers. At this stage. The Sequencer will simply process the reboot tasks that the Sequencer has recorded and apply them to the package.” The Sequencer will record the reboot tasks that the application has configured and cancel the reboot. the Sequencer will simulate the reboot. execute the application(s) at least once by selecting the application and clicking the . That is the sequencing workstation will not actually reboot.1 Applications that Require a Reboot The process of App-V sequencing provides an additional benefit over traditional software deployment and installation.Figure 7: Installation 2. Once you check the “I am finished installing” check box and click Next. For applications that give you the choice to reboot. 2.

Figure 8: Configure Software .“Run Selected” or “Run All” buttons (multiple executions are recommended to ensure and second-run tasks are executed). Also. it is during this execution that you will make any applicable application configuration changes that the Sequencer will capture.

Warnings.1 Customize . Messages from the system preparation report as well as the installation report are summarized upon completing the package and are saved along with the package in a report.9 Installation Report The Sequencer now detects common sequencing issues during sequencing.xml file. and Info depending on the severity of the issue.2. Double click an item in the report to view detailed information about the issue as well as suggestions about how to resolve it. The Installation Report page of the wizard displays diagnostic messages categorized into Errors. Items in the report include: • • • • • Excluded Files Drivers COM+ System differences SxS Conflicts Shell Extensions Figure 9: Installation Report 1.

If you are satisfied that the package you have sequenced will not benefit from any of the above steps. then selecting “Stop Now” may be appropriate. there are other steps left to do such as: • • • • • Splitting the package into feature blocks to reduce the streaming requirement and save bandwidth.” Figure 10: Customize Advanced Options Component Description . and location for the package for distribution via the AppV Management Server (if applicable). Configuring the name. Further customizing any virtual registry entries. Selecting additional client operating systems that will be permitted to receive this package (the default is the current OS). Often. Otherwise.Next you have the choice to stop and save the sequence at this point or to further customize the package before saving the package. Customizing the name and version numbers of shortcuts and changing their locations and file-type associations. select “Customize. port.

with web-based applications it is often required to add Internet Explorer as an application because the web-based application will require Internet Explorer to run properly. allowing you to: • Edit and create additional shortcuts • Create Feature Blocks to reduce the amount of traffic used for deployment • Define which operating systems may run the package • Customize registry entries Table 9: Customize Component Descriptions Customize 1. the Sequencer will evaluate all of the applications identified during monitoring. This option will continue the sequencing process in the same way as previous versions of the Sequencer. Also. Each application can be modified to change the name. and locations for shortcuts on destination computers. file type associations. . Remember. any application in this list will have an associated OSD file created for launching.Stop now Select this option if you are confident that the application as is requires no additional configuration. and does not require the use of Feature Blocks. icon that it uses. based on what is wanted in the final package.1 Edit Shortcuts Next. Is it recommended to select this option if you are sequencing a larger or more complex application suite and/or if intend to use this package on multiple client operating systems. Applications may have to be added or removed from this list.

Version and OSD file name fields will auto-propagate based on the information within the selected executable. Clicking the “Add” button will bring up the same option window as the “Edit” button (Figure 12).osd) that will be saved in the sequence. The Icon.Figure 11: Edit Shortcuts Clicking the “Edit” button for any shortcut will bring up the options in the following capture (Figure 12) useful for customizing the name and version of the shortcut that will be displayed to the end user as well as the filename for the shortcut (. but the fields will be blank. You would first click the “Browse” button next to the Application Path and select the executable file that the new shortcut will point to. Name. You can then proceed to edit the information to suit your needs. .

Table 10: Edit Shortcuts Component Descriptions Add Remove . Click to create a new application shortcut that was not automatically generated by the Sequencer.Figure 12: Edit Shortcut Options Configure Apps Component Edit Description At this point you can add or remove icons for applications. Additionally. Use this option to remove any shortcut from the package that you do not want presented to your users. you can edit the file type associations and the icon locations on the client.

Then. Unless you are deploying your virtual application package using System Center Configuration Manager with the Download and Run option or deploying the virtual application packages via the MSI to standalone mode clients. During this process. Any pieces of the package that was not included in Feature Block One is placed in to Feature Block Two and resides on the server or storage location until specific resources from within Feature Block Two are called by the App-V client.2 Prepare for Streaming Feature blocks are designed to optimize the applications for streaming (if applicable). perform the common tasks that typical users make use of within each particular application in their typical day-to-day operations. you have the option of splitting your package in to feature blocks. the entire contents of the package will be streamed and cached on the App-V client.1. . the App-V client will stream and cache just the data within Feature Block One over the network and will launch the application. You also have the option of simply clicking ‘Next’. In this case. This also reduces the total network bandwidth used when launching the application for the first time and saves hard disk space on the client by leaving less-used data on the server until it is specifically called by the user. you will be streaming the virtual application package and will likely benefit from splitting your package in to feature blocks. the Sequencer is monitoring which specific pieces of the packages resources are being executed and including them in Feature Block One. This is typically done for very small application packages where the idea of streaming the entire package does not cause any network bandwidth concerns. Those pieces are then streamed ondemand and cached on the client. When a user launches the application for the first time. At the Prepare for Streaming screen. Doing so without launching any shortcuts will cause the entire virtual application package to be contained within Feature Block One. Select and run each shortcut from the package that you expect the users to execute in their typical day-to-day operations. creating a minimum launch threshold to allow larger applications to launch as soon as enough of the package has been downloaded to allow the user to perform his or her typical functions within the application.

This is useful when trying to create Primary and Secondary Feature Blocks for a large suite of applications. Performs the same operation as the launch component. If you don’t launch any application then all files will be a part of the Primary Feature Block. Table 11: Prepare for Streaming Component Descriptions Run All 1. Any remaining files will be tagged as Secondary Feature Block.3 Target OS . any files that are executed during this phase will be tagged as Primary Feature Block. Additionally. but launches all identified applications in the package.Figure 13: Prepare for Streaming Launch Applications Component Run Selected Description Here you will launch an application to ensure functionality.

applications sequenced on a 64-bit OS will never run on a 32-bit client OS. you have the option of configuring the package to be deployable to clients running any operating system or to clients running only specific operating systems. you would make sure to leave all 64-bit OS options deselected. Applications sequenced on a 32-bit OS are often likely to run on a 64-bit client OS. In this regard. you would leave Windows XP deselected to ensure the package is never delivered to those machines. However. Figure 14: Target OS .At the Target OS screen. If you have an application that will only run on Windows 7 and not Windows XP. Certain applications that are compatible with both 32-bit and 64-bit operating systems may only work if sequenced separately on a 32-bit Sequencer and a 64-bit Sequencer. this screen allows you to target two separate packages of the same application to their appropriate client operating systems. If you have packaged an application that you know will not run on 64-bit systems. This will ensure that the application will never be delivered to those machines.

The default setting is “No Compression. as the client PC will need to decompress the SFT and put the data into the client’s cache. Be sure to save the package in a new folder named using the package name (example: Desktop\WordViewer2007). One easy method of ensuring that the filename and folder you save in are unique is to use the same PACKAGE NAME that you specified in the Package Information wizard.4 Create Package At this stage you’re ready to save your package.” If you are concerned about the size of the . Do not save the package in the same folder as the application installer files. The compression will have a one-time impact to the end client the first time the virtual application is launched. The decompression algorithm is CPU-intensive.1. Figure 15: Create Package Package Deployment Compress Package Description The package SFT file can be compressed during sequencing to reduce the amount of traffic that will be streamed on the network when loading the package.

package and the impact it may have on your network you may select to compress the package. Table 12: Create Package Component Descriptions .

Double click an item in the report to view detailed information about the issue as well as suggestions about how to resolve it. Warnings. Figure 16: Package Completed .The Completion Report page of the wizard displays diagnostic messages categorized into Errors. Messages from the system preparation report as well as the installation report are summarized upon completing the package.xml file. and are saved along with the package in a report. and Info depending on the severity of the issue.

click the “Tools” pull-down menu and select “Create a Package Accelerator. The wizard will guide you through the process of creating a package using an App-V Package Accelerator. We recommend that you revert your virtual machine or reimage your physical machine after you apply an App-V Package Accelerator. ○ Alternatively. Behind the scenes. To use this. you have the option of creating a Package Accelerator.1 Work-flow • Once you have completed a sequence.ZIP .OSD files . The wizard will also guide you through the process of creating an App-V Package Accelerator. you will first need to extract the files and present the folder containing the extracted set-up files to the sequencer. 1. Supported Installation Media file types can be presented to the Sequencer for creating or using Package Accelerators: • • • • • .MSI . A Package Accelerator (packagename.SPRJ file Manifest file Any files created by the app at time of sequencing containing customizations etc. at the Installation Files Screen (Figure #18) you can select the option ‘Files installed on local system’. If using this type.2 Creating a Package Accelerator Once you have completed sequencing an application.CAB) file will contain the following types of files: • • • • • . the application must be already physically installed on the local system.CAB Individual files and folders NOTE: Self-extracting executable files are not supported. App-V Package Accelerators assist you in packaging applications easily and automatically without having to manually install the application or follow a stepby-step recipe. the Sequencer creates a new package from the App-V Package Accelerator and installation media without monitoring the installation of the application.” . that are not provided by the installation files Files necessary for the virtual environment and streaming optimization To create an App-V Package Accelerator you first need to have placed on the Sequencer the installation files for the application as well as the existing virtual application package for the application.

SPRJ file for the package to use in order to create the Package Accelerator. specify the location of the application’s installation files. ○ Select ‘Original installation files’ and browse to and select a root folder that contains all installation files for the application OR ○ Select ‘Files installed on local system’ and browse to and select the folder to which the application was already installed. At the Installation Files screen. .• • Figure 17: Tools Menu At the Select Package screen. browse to and select the . (Must be installed to its default location).

the Sequencer will identify and report on any files that do not appear where the application expects to find them.” .• Figure 18: Installation Files At the Review Missing Files screen. click the box labeled “Remove these files. In that case. Often many of the files may not actually be needed.

Figure 19: Review Missing Files .

○ Example: The Sequencer has included a large temporary or cache location containing copies of the setup files that you know you do not need included in the package.• At the Select Files screen. Removing files such as this can help reduce the size of the overall package. Figure 20: Select Files . the Sequencer will display all files that have been detected for use in the App-V Package Accelerator. Uncheck the box next to any files that you do not want included in the Package Accelerator.

the Sequencer will provide a list of applications that were detected in the package for reference purposes for the engineer who will later create the package from the accelerator. This information is useful for the engineer to know which application installers that will be needed.• At the Verify Applications screen. Figure 21: Verify Applications .

Some examples of information to include are: ○ Name of original packager for internal reference (if applicable) ○ Names and versions of the specific applications included in the package ○ Supported platforms ○ Prerequisites ○ Special instructions or configurations At the Create a Package Accelerator screen. The Package Accelerator consists of a single . • • .• At the Select Guidance screen.txt file containing any special instructions needed for the engineer to create the package using the App-V Package Accelerator. create a . Enter the location of this file.cab file. The App-V Package Accelerator will then display the information to the engineer performing the sequencing later. select a location to save the Package Accelerator. Save this file to the location of the installation media for easy retrieval.

By default. At the Configure Software screen. 1. At the Run Each Program to manage first-use tasks screen. At the Package Name screen. browse to and select the relevant Package Accelerator .1 Create a package using a Package Accelerator To create a new virtual application package using an App-V Package Accelerator you will first need to have the application installation files and the Package Accelerator (. 2. . a.1 Work-flow 1. At the Packaging Method screen. 11. enter a name for the package. 8. 6. Continue to save the application. If you are certain that no further configuration is necessary you may select to ‘Skip this step’ and proceed directly to saving the package. At the Guidance screen. enter any comments relevant to any customizations you will be making to the package (optional) and select the location to save the new package as well as the option whether or not to compress the package. select the ‘Configure Software’ button to proceed with launching the applications to provide any additional configurations before saving the package. you can choose to run all or run specific applications to clear any first-use tasks as well as further customize the application. At the Select Package Accelerator screen. Just as earlier in Section 8. At the Save the Virtual Application screen.’ 3. This information can be useful in creating a successful package. the Sequencer will automatically enter the name of the original package that was used to create the Package Accelerator. browse to and select the root folder containing the installation files for the application. select ‘Create a Package using a Package Accelerator. upon completion the Sequencer will provide a report detailing any relevant information to the success of the package. At the Select Installation Files screen. read carefully any important information that may be presented to you from the developer of the Package Accelerator. 7.cab) file copied to the sequencing VM.CAB file. 10. 4. 5. Select Create a New Virtual Application Package from the welcome screen. 9.

View associated package files. View package change history. There are three different types of Application Upgrades that will be presented to you at the Select Task screen (after clicking Modify an Existing Virtual Application Package in the main sequencer screen): • • • Update Application in Existing Package Edit Package Add New Application Update Application in Existing Package (Most Common) Select this option to apply an update to an application or program that is part of an existing virtual application package. It is important to understand the options associated with updating an application. Create associated Windows Installer (MSI). If you select this option you should have the associated installation files saved locally to the computer running the App-V Sequencer. You must also have access to the location where the package that contains the application or program you want to modify is saved. you must have access to the location where the virtual application package is saved. and when to use them. it will need to be updated.1 Application Package Upgrade Throughout the lifecycle of an application. Edit registry settings. . Review additional package settings (except operating system file properties). The following list displays the package properties that can be updated if you select Edit Package: • • • • • • View package properties. To edit a package. The wizard will walk you through: • • • Extracting the existing virtual application package on to the Sequencer for updating Installing the application updates Saving the updated package version Edit Package Select this option to modify the properties and configuration associated with an existing virtual application package rather than adding or updating files.

1 Updating a Package that will Replace the Existing Package Sometimes. subsequently.sft file name. Edit virtual file system mappings. After the installation. In this case. publishing in production:        Copy the package to the Sequencer. Add file type associations. Set virtualized folder state. The wizard will walk you through: • • • Extracting the existing virtual application package on to the sequencer for updating Installing the additional applications Saving the updated package version 1. Complete sequencing as usual. . (example: WordViewer2007_2. Compress and uncompress package. Select the type of upgrade to perform at the Select Task screen. Open the package for Package Upgrade by selecting “Modify an existing Virtual Application Package” from the Welcome Screen. service pack. follow these steps when sequencing and. Run the installation wizard and make the appropriate changes to the package. a package needs to be updated and to replace the existing package. To add a new application you must have access to the location where the virtual application package is saved. or other update from the software manufacturer. You would apply this new version to your distribution method (varies) to upgrade or replace the version currently deployed to the clients. Set virtualized registry key state (override / merge). The Sequencer will save the updated package with a _# at the end of the . Add New Application Select this option to add a new application or program to an existing virtual application package.• • • • • • • Modify OSD file. launch all shortcuts in the same manner as during the original sequence. Upgrading a package is a necessary part of the application lifecycle when there is a patch. For example you can add Microsoft Excel to an existing Microsoft Office virtual application package. In this mode the sequencer will also look for and add new shortcuts for the additional applications. Rename shortcuts.sft) The number corresponds with the version (iteration) of the application package.

.

select “Continue to modify package without saving using the package editor.  . This could be used to introduce a new pilot version of the application and. eventually. but the business community still wants access to the existing package.1. In this scenario. Perform the steps in the sequencing wizard as usual. deprecate the previous version after proper testing. follow these steps:        Copy the package to the Sequencer. Select the type of upgrade to perform at the Select Task screen. The Sequencer will save the updated package with the new name you specified. Check the “Save As New Package” checkbox to create a new GUID and a new package root.1 Updating a Package that will Run at the Same Time as the Existing Package Sometimes. a package needs to be updated. At the Create Package screen. You would apply this new individual package to your distribution method (varies) to deploy for operation in tandem with the previous version on the clients. Run the installation wizard and make the appropriate changes to the package. Open the package using Modify and existing Virtual Application Package.” Select the “File” pull-down menu then “Save As” to save the package (Figure 22).

only the secondary package needs to be updated. You can use Dynamic Suite Composition when sequencing applications that depend on plugins such as ActiveX controls or for applications that depend on middleware such as OLE DB or the Java Runtime Environment (JRE).1 Advantages • • Reduce the size of the primary packages. By sequencing the primary applications without those components and then sequencing the middleware or plug-in as a secondary package. 1. enabling each primary application to reference the same secondary package. If each application that used these dependent components needed to be sequenced. referred to as the primary applications. including the components. This enables the application to interact with the middleware or plug-in in the virtual environment. where normally this is prevented. . such as middleware or a plug-in.Figure 22: Save As New Package 1 Dynamic Suite Composition Dynamic Suite Composition (DSC) in App-V enables you to define an application as being dependent on another application. Provides better control of access permissions on the secondary applications. This is useful because a secondary application package can be used with several other applications. updates to those components would require re-sequencing all the primary applications.

The “Add-on or Plug-In” and “Middleware” options are options to create Dynamic Suite Compositions using the Sequencer user interface.1 Workflow The App-V 4. you are then presented a new screen which provides options for the type of package you are creating. so you cannot define a secondary package as dependent on another secondary package. A primary package can have more than one secondary package. If you plan to make several primary applications dependent on a single middleware product. Also.Note: The secondary application can be streamed in the normal way and does not need to be fully cached to run. be sure to test this configuration to determine the potential effect on system performance before deploying it. . When selecting Create a New Virtual Application Package from the Welcome Screen. However. Figure 23: DSC Modes 1. only one level of dependency is supported.6 SP1 Sequencer user interface has been designed to include guided workflows for working with Dynamic Suite Composition. the secondary application can only be middleware or a plug-in and cannot be another full software product.

expanding it to the Sequencer system. you needed to physically install the previously sequenced primary app on to the Sequencer before sequencing the secondary applications.Figure 24: Type of Application In previous versions of the sequencer. Plug-in or Middleware packages for Dynamic Suite Compositionis detailed in the following sections. .6 SP1 introduces the ability to use the previously packaged SFT. saving time and effort and improving the reliability of creating Dynamic Suite Composition packages. The process of creating Add-on. when sequencing for Dynamic Suite Composition. App-V 4.

At the Package Name screen. i. back in the sequencer select the ‘I am finished installing’ check box and click ‘Next. install the plug-in. At the Packaging Method screen. At the Installation screen. 5.2 Add-on or Plug-in When creating a separate package for a plug-in to the Primary Application. 3. Sequence the plug-in a.’ d. Expand the Primary App package back to the clean sequencing virtual machine. create a unique name for the add-on or plug-in package.’ c. You would browse to and select the Excel. select ‘Create Package.OSD files to create the dependency to the plugin-package (Section 12. The work flow for plug-ins is: 1. Open the Sequencer and select the Tools | Expand package to local system i. Revert the sequencing virtual machine. Complete the package. This will cause the sequencer to create a new .OSD file for Excel. . e.1. 2. a. for example. Follow the same process in Section 8 of this document.’ h.exe file that you’ve already expanded back to the Q: drive. Copy the primary app package back to the sequencing virtual machine. select the Add-on or Plug-in option. ii.6). 4. Sequence Primary App (Type of Application: Standard Application (default)) and copy Package files to storage a. Use either the Dynamic Suite Composition tool (Section 12. b. At the Select Primary screen. In the Sequencer: Select ‘Create a New Virtual Application Package. At Select Installer either select the installer file for the Add-on or Plug-in or select ‘Perform a custom installation’ just as in Section 8. Select the primary application package. At the Type of Application Screen select ‘Add-on or Plug-in. f.5) or manually modify the XML code in the relevant . browse to the main executable for the parent program. g. a plug-in to Microsoft Excel. Link the dependencies between the two packages a. Example: You are sequencing a plug-in for Microsoft Excel. When installation is complete.Note: This process expands (or de-virtualizes) the primary application package physically on to the local system so the necessary bits are available to the add-on or plug-in being virtualized.’ b.

for example. select ‘Create Package. Open the Sequencer and select the Tools | Expand package to local system i. The following outlines the steps required to use the Dynamic Suite Composition tool.’ b.Note: This process expands (or de-virtualizes) the middleware application package physically on to the local system so the necessary bits are available to the primary application being virtualized. Revert the sequencing virtual machine. When installation is complete.’ d. a. 5. This tool also eliminates the possibility of incorrect editing of the OSD files required to take advantage of dynamic suiting.1 Dynamic Suite Composition Tool The Dynamic Suite Composition tool provides a GUI interface that makes it easier to configure packages to take advantage of the dynamic suiting feature. At the Packaging Method screen. The tool can be installed and used from any machine. Link the dependencies between the two packages a. At the Installation screen.’ c. select the ‘Middleware’ option. Expand the middleware app package back to the clean sequencing virtual machine. ii. Copy the middleware app package back to the sequencing virtual machine. . Sequence the Primary App a. e. 4. f.1 Middleware When creating a separate package to contain middleware to be available to other primary applications. Select the middleware application package. The work flow for middleware is: 1. back in the sequencer select the ‘I am finished installing’ check box and click ‘Next.OSD files to create the dependency to the plugin-package (Section 12. create a unique name for the Primary Application. At Select Installer either select the installer file for the Primary Application or select ‘Perform a custom installation’ just as in Section 8.’ g. At the Package Name screen. The Dynamic Suite Composition tool also modifies the MSI files created as part of the package to reflect the changes to the embedded OSD files that are necessary for Dynamic Suite Composition.6). Sequence the middleware application (Type of Application: Middleware) and copy package files to storage a. Follow the same process in Section 8 of this document. install the primary app. Complete the package.1. b. In the Sequencer: Select ‘Create a New Virtual Application Package. 1.5) or manually modify the XML code in the relevant . 3. Java or the Oracle client. Use either the Dynamic Suite Composition tool (Section 12. 2. At the Type of Application Screen select ‘Standard Application (default).

.microsoft. Figure 25: Dynamic Suite Composition Tool 4. it is run directly from the directory where it was extracted.aspx?familyid=DAA898DF-455F-438AAA2A-421F05894098&displaylang=en.com/downloads/details. Download the Dynamic Suite Composition tool from: http://www. Click on Select to choose the directory where the App-V packages for dynamic suiting exist. The tool facilitates editing the OSD files to support dynamic suiting only. 2. 3. Run the self-extracting EXE and select a destination directory for the binaries.Note: The Dynamic Suite Composition tool requires properly sequenced packages that will support dynamic suiting. Open the Dynamic Suite Composition tool. NOTE: The Dynamic Suite Composition tool doesn’t require installation. 1.

After selecting the package directory. Select and Add the Secondary Package(s) from Available list. Figure 26: Dynamic Suite Composition Tool 6. select the Primary Package from the dropdown list.5. Figure 27: Dynamic Suite Composition Tool .

8. Select Save to apply the changes to the OSD files to support dynamic suiting. Note: The Dynamic Suite Composition tool creates backup copies of the original OSD files with the extension BAK. . Select the Checkbox to the left of any Dependencies that are mandatory or use the All Mandatory / All Non-Mandatory buttons to toggle the setting for multiple dependencies at one time.7. These files can be restored using the tool by selecting the primary application and selecting Restore.

meaning that it must be launched before the primary package is launched. 1 Sequencer Templates The App-V 4. you can use Notepad as an alternative. On the server.6 SP1 Sequencer provides the ability to create sequencer template files. however. 4. <VIRTUALENV> <ENVLIST> … </ENVLIST> <DEPENDENCIES> <CODEBASE HREF="rtsp://virt_apps/package. Insert the <DEPENDENCIES> tag after the close of </ENVLIST> tag at the end of the <VIRTUALENV> section just before the </VIRTUALENV> tag. Paste the CODEBASE HREF line from the secondary package after the <DEPENDENCIES> tag you just created. 5. Open the OSD file of the primary package for editing.1\osguard. 3. Sequencer templates allow the engineer to save frequently changed sequencing options in the areas . If the secondary package is a mandatory package.sft" GUID="D54C80FA-9DFF-459D-AA33-DD852C9FBFBA" SYSGUARDFILE="package.1. The following example shows how the added section should appear. In environments where the Sequencer’s default configuration is not best suited.1 Manually Defining the Dependency in the Primary Package In both above examples. Review the changes made to the OSD file.) 2. the property can be omitted. 7. The tag values shown here are for example only. and then save and close the file. 6.2\osguard. 1.sft" GUID="D54C80FA-9DFF-459D-AA33-DD852C9FBFBA" SYSGUARDFILE="package.cp" MANDATORY="TRUE" /> </DEPENDENCIES> </VIRTUALENV> Note: If virtual applications are deployed via MSI installer. you must use the Dynamic Suite Composition tool to link the packages as it also modifies the contents of the MSI files for the primary application. open the OSD file of the secondary package for editing.1/package. Close the <DEPENDENCIES> tag by inserting the following: </DEPENDENCIES> 8. If it’s not mandatory. add the MANDATORY=”TRUE” property inside the CODEBASE tag.cp"/> <CODEBASE HREF="rtsp://sample_apps/package.1. Copy the CODEBASE HREF line from that file.2/sample. the primary package will need to be modified to incorporate the secondary package(s) for Dynamic Suite Composition. (It is advisable to use an XML editor to make changes to the OSD file.

The engineer can simply apply the Sequencer template before beginning sequencing in order to save time. To Apply a template.listed in Figure 29. For creating a template for changes specific to configuration options within the Tools | Options menu (ex: General sequencer settings. To create a template also containing additional options such as Package Deployment Settings and Advanced Monitoring Options. the engineer will select File | New From Template immediately after opening the Sequencer. Figure 28: Save as Template . the engineer will select File | Save As Template upon completion of a particular sequencing where the engineer has specified these options. Parse items and Exclusion items) the engineer can make those changes at any time and select File | Save As Template to save the template file.

Figure 29: Template Information .

OSD file: Provides information necessary to launch the application. including what protocol to use when streaming the application. what server to get the application from. or can be used to “clean up” the environment after the application terminates. For example. One of the most common methods is making modifications to the OSD file to allow certain actions to be performed at a specified time during the execution of the application. and any Dynamic Suite Composition dependencies. and their syntax. <PACKAGE NAME>: This line lists the name of the package. this would display as "%CSIDL_PROGRAMS %\Virtual Applications. These custom modifications can be made using any text editor or XML editor utility. • • • • • A sample OSD file: Before we talk about scripting here is a generalized look at a typical OSD file. You should list as much information here as necessary to describe the sequencing environment. whether or not to "terminate" any child processes when the application closes. These scripts can be used to setup or alter the virtual environment before an application executes." <MGT_FILEASSOCIATIONS>: This section lists all of File Type Associations that will be registered on the client. Each application requires an OSD file. as specified during sequencing. prior to using custom scripting. <IMPLEMENTATION>: This section tells the Application Virtualization Client "how" to run the virtual application.2 Advanced OSD Scripting In some instances it may be necessary to make modifications to the application to get it to function properly in the App-V environment. to place a shortcut on the Start\Programs\Virtual_Applications menu. including the name of the Virtual Application Server from which to stream the application. The major sections are detailed below: • • <SOFTPKG>: This line displays the package’s Globally Unique Identifier (GUID). <DEPENDENCY>: This section lists any scripts that must be run prior to launching this application. The OSD file is written in an XML format. or can even prevent the application from appearing at all on the clients. <MGMT_SHORTCUTLIST>: This section displays where the shortcuts will be placed on the client. It also specifies whether a specific version of the App-V Client must be installed on the client to run this application. and you should always create a backup copy of the original OSD file prior to making any modifications. name and version. Scripting in the OSD file is an invaluable tool when sequencing / publishing applications. <ABSTRACT>: This section displays any comments that were listed during sequencing. so an application can be launched by double-clicking a file. It is important to understand the OSD files. Placing an incorrect syntax in an OSD file could cause the application to not work properly. etc. <SOFTPKG GUID="application GUID" NAME="application name" VERSION="version string"> . Each of these fields must be unique across all published applications. Only experienced sequencing engineers should make custom modifications to the OSD file.

MANDATORY="TRUE|FALSE"/> </DEPENDENCIES> </VIRTUALENV> </IMPLEMENTATION> <DEPENDENCY> <CLIENTVERSION VERSION="4. An example of a Pre-Stream script might be starting a necessary VPN connection to connect to a server that the application requires. An example of a Post-Stream script might be to install a dependent component on the host workstation.. and after the bits stream to the client workstation.<OS VALUE="platform"/> <WORKINGDIR>optional working directory</WORKINGDIR> <VIRTUALENV virtual environment configuration options> <ENVLIST>optional variables</ENVLIST> <REGISTRY>optional values</REGISTRY> <POLICIES>optional policies</POLICIES> <DEPENDENCIES> <CODEBASE .. but prior to the application blocks streaming to the client workstation and the virtual environment being set-up. and after the virtual environment has been set-up. • Pre Stream: After the user launches the application. An example of a Post-Launch script might be calling a script to synchronize a folder inside the virtual environment with one that is outside the virtual environment. Post Stream: After the user launches the application. An example of a Pre-Launch script might be to ensure a file exists or a registry key gets added to the virtual environment. Whatever commands are called in a Pre-Launch script occur within the virtual environment. An example of a PostShutdown script might be to reset the workstation back to a clean state to remove • • • • .5.<IMPLEMENTATION> <CODEBASE HREF="location“ GUID="package" FILENAME="application“ PARAMETERS=“parameters” SYSGUARDFILE="state file"/> <OS VALUE="platform"/>.0"/> <SCRIPT>optional scripts</SCRIPT> </DEPENDENCY> <MGMT_SHORTCUTLIST><SHORTCUT definition>…<SHORTCUT … ></MGMT_SHORTCUTLIST> <MGMT_FILEASSOCIATIONS> <PROGIDLIST>shell integration</PROGIDLIST><FILEEXTENSIONLIST>FTAs</FILEEXTENSIONLIST> </MGMT_FILEASSOCIATIONS> </SOFTPKG> 1. but prior to the virtual environment being set-up.0. the script can be executed at different times during the virtual application launch. MANDATORY="TRUE|FALSE"/>. and after the application blocks stream to the client workstation.. but prior to the user getting access to the application’s interface.. the first step is to decide when the script will run. Post Launch: After the application launches.. Post Shutdown: After the virtual application has been closed.. You can choose to refer to an existing script by its file name or you can enter the exact syntax of the commands in the script section. Pre Launch: After the user launches the application. When developing scripts.<CODEBASE . Using the SCRIPT TIMING and EVENT tags..1 OSD Scripts All scripts must be placed between the <DEPENDENCY> tags within the OSD files..

• FALSE: Allows the script to run outside the virtual environment. This script placement can be very effective when files need to be copied locally to a client but there is no need to penetrate the virtual environment. 1. <SCRIPT TIMING=“PRE” EVENT=“LAUNCH” PROTECT=”TRUE”> The last two attributes that affect the script operation are TIMEOUT and WAIT. The virtual application launches. The virtual environment is unloaded. Pre-Stream script runs (outside Virtual Environment). If background streaming is enabled for the application. defines how long the client will wait. i. g.6. Note: The client does not support a SHUTDOWN event with Timing of PRE. in seconds. Post-Launch script runs (inside or outside Virtual Environment). The list also shows whether the virtual environment is loaded and whether or not the script could access the virtual environment.any extraneous files that the application itself may have dropped onto the workstation. Virtual a. for backward compatibility. The WAIT attribute is still supported in version 4. The PROTECT tag is the only XML tag that defines where the script will run. d. Note: There is no Pre-Shutdown script as it would be impossible to know the exact moment before the user closes the application. Next. k. e. These two attributes define how much time the script will need to wait to completely execute. Pre-Launch script runs (inside or outside Virtual Environment). User exits the virtual application. Application Launch / Shutdown Progression User clicks on program shortcut for a virtual application. j. A value of “0” defines the client will wait indefinitely. or on the local operating system outside the virtual application virtual environment. l. This script placement can be very useful for troubleshooting. The two settings for the PROTECT tag are described below: • TRUE: Allows the script to run within the protected environment. c. the script must define where to run the script. The OSD script can be run in one of two locations: either inside the virtual environment or outside. Virtual environment is loaded. FB2 will stream into the client cache in the background. Post-shutdown script runs (outside Virtual Environment). A value of TRUE defines that the client should wait for the script to complete before starting the next step in the script. The TIMEOUT attribute. f. h. . either inside the virtual environment or outside. A value of FALSE defines that the client can continue onto the next step without waiting for the current step to complete. <SCRIPT TIMING=“PRE” EVENT=“LAUNCH” WAIT=”TRUE” TIMEOUT=”0”> The following sequenced list describes the full application launch and shutdown and when the script events occur. Post-Stream script runs (outside Virtual Environment). Page streams FB1. b.

Note: Scripts can be written in any language but their language must be installed locally on the client machine. . For example. the PERL runtime must be locally installed on the client machine. if they are using PERL.

<HREF> Can be used to call an executable by searching for the executable in the client’s Path statement. No DOS window appears on the screen unless the process being called is a console application. HREF There are two kinds of scripts.bat file.bat file but instead executes the contents of the script directly on the client. Uses the “\” as an escape character and as such requires an extra “\” to pass the actual character.1. Table 13: Scriptbody vs. <HREF> Can be used to call an executable by searching for the executable in the client’s Path statement. SCRPITBODY – Used when needing more complex operations and/or multiple commands to be run. <SCRIPTBODY> Can be used to call an executable by searching for the executable in the client’s Path statement. which are described in more detail: 1.com. Does not create a temporary .1 OSD: SCRIPTBODY vs. HREF – Normally used when executing a single command. the contents of the script are copied to a temporary . <SCRIPTBODY> and <HREF>. This is actually a part of the command. 2.bat file on the client’s drive. When used. Href . When used a DOS window appears on the screen during the execution of the script’s . Does not use the “\” as an escape character. Cannot be used to pass non-executable commands such as the DOS make directory (md). Can be used to pass non executable commands such as the DOS make directory (md). <SCRIPTBODY> Can be used to call an executable by searching for the executable in the client’s Path statement.

.g.1 <SCRIPTBODY> Examples Example 1 – ABORTRESULT and SUCCESSRESULT If ABORTRESULT is specified. the client will check the script's exit code when it completes.exe</SCRIPTBODY> </SCRIPT> </DEPENDENCY> Example 5 – Pre-Launching a Data File (e.microsoft.ini "File Locations" TempPath c:\\temp\n </SCRIPTBODY> </SCRIPT> </DEPENDENCY> Example 4 – Pre-Launching EXE from within the Sequence <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE"> <SCRIPTBODY>%SFT_MNT%\\OfficeXP\\Office10\\proflwiz. the client will check the script's exit code to see if it matches the value in SUCCESSRESULT.avi</SCRIPTBODY> </SCRIPT> </DEPENDENCY> NOTE: In this example. <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" PROTECT="TRUE" WAIT="TRUE" TIMEOUT="10" SUCCESSRESULT="1" ABORTRESULT="0"> <SCRIPTBODY>@ if not %COMPUTERNAME% == “SpecialComputer” exit 1 @ exit 0 </SCRIPTBODY> </SCRIPT> </DEPENDENCY> A more detailed explanation of these commands can be found at: http://support.avi launches the locally installed Media Player.com/kb/930973/en-us Example 2 – Pre-Launching Command Prompt <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE"> <SCRIPTBODY>cmd.cmd\n \\\\sfc-App-V\\shr\editini. AVI file) from within the Sequence <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE"> <SCRIPTBODY>%SFT_MNT%\\App\\Data\\Sequencing.1.exe</SCRIPTBODY> </SCRIPT> </DEPENDENCY> Example 3 – Embedding Batch File Commands within OSD File <DEPENDENCY> <SCRIPT EVENT="LAUNCH" TIMING="PRE" PROTECT="TRUE" WAIT="TRUE"> <SCRIPTBODY> net use k: \\\\w2k-pdc\\netlogon\n CALL k:\\usr-w2k. If SUCCESSRESULT is specified (and if ABORTRESULT is not or it does not match the script's exit code).exe c:\\word\\word. the sequencing.

sft" GUID="A2A6D95E-8898-41C0-8020-797B23A1E917" SIZE="33363442"/> Example 6 – Pre-Launching a Control Panel Applet within the Sequence <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE"> <SCRIPTBODY>%SFT_MNT%\\App\\CPL\\SYSDM.cp" HREF="rtsp://App-V:554/app.avi" NOT ALLOWED SYSGUARDFILE="App\osguard.NOTE: A data file (e.2 <HREF> Examples Example 1 – Accessing Local Application <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE"> <HREF>c:\winnt\system32\cmd.CPL</SCRIPTBODY> </SCRIPT> </DEPENDENCY> Example 6a – Pre-Launching a Control Panel Applet within the Sequence <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE"> <SCRIPTBODY> "C:\\Program Files\\Common Files\\System\\Mapi\\1033\\mlcfg32.g.avi) cannot be specified within the FILENAME entry of the CODEBASE tag as shown below. sequencing. <CODEBASE FILENAME="App\Data\Sequencing.cpl" </SCRIPTBODY> </SCRIPT> </DEPENDENCY> 1. .exe</HREF> </SCRIPT> </DEPENDENCY> Example 1a – Accessing Batch File via UNC <DEPENDENCY> <SCRIPT TIMING="PRE" EVENT="LAUNCH" WAIT="TRUE" PROTECT="TRUE"> <HREF>\\SRV_NAME\NT_SHR\PRE_SCRIPT.CMD</HREF> </SCRIPT> </DEPENDENCY> NOTE: HREF tag cannot be used with %SFT_MNT% or to launch EXE from within virtual environment.

sft?Customer=Sequencer" FILENAME="np_ecj\notepad.cp" HREF="rtsp://hercules:554/ACBS_V2.1.cp" HREF="rtsp://App-V:554/app. The FILENAME attribute points to the location of the program to execute when launching the virtual application.doc" SYSGUARDFILE="App\osguard.sft" GUID="BD9AF94E-4A8E-415D-B57F-54A454911FAA" SIZE="648019522"/> Example 2 – Launching Data File via a Relative Path <CODEBASE FILENAME="App\WordEditor\wordpad.4 <WORKINGDIR> Examples – Specifying a Working Directory The WORKINGDIR tag defines where to look for filenames that are not given a full path as in Windows. In the first example below.\Data\cli.g.doc 1.exe" PARAMETERS="cjm.doc’ is located in the following location within the sequence: %SFT_MNT%\App\Data\cli. like a database file that will be opened when the application is launched.sft" GUID="A2A6D95E-8898-41C0-8020-797B23A1E917" SIZE="33363442"/> NOTE: ‘.txt" GUID="D47C0A23-32CF-11D6-990A-00A0CC6413D5"/> <OS VALUE="WinXP"/> </IMPLENENTATION> Example 2 <IMPLEMENTATION> <WORKINGDIR>C:\program files\internet explorer</WORKINGDIR> <CODEBASE HREF="rtsp://ds1-soft1:554/np_ecj. An example is placing filename in the PARAMETERS attribute. NOTE: The PARAMETERS tag will not support environment variables (e. it is used make the C:\temp directory the default location to look for files if a referenced file name has no path.txt" GUID="D47C0A23-32CF-11D6-990A-00A0CC6413D5"/> <OS VALUE="WinXP"/> </IMPLENENTATION> .sft?Customer=Sequencer" FILENAME="np_ecj\notepad.3 <PARAMETERS> Examples The PARAMETERS attribute is used to provide command line arguments to the FILENAME attribute.exe" PARAMETERS="cjm. Example 1 – Generic Example <CODEBASE FILENAME="\ABCD\EXECUTE\Z_RUN. %SFT_MNT%).. Example 1 <IMPLEMENTATION> <WORKINGDIR>C:\temp</WORKINGDIR> <CODEBASE HREF="rtsp://ds1-soft1:554/np_ecj.EXE" PARAMETERS="FORM=MRF01 LANG=ENG ZENV=X_POINT_CHAR" SYSGUARDFILE="ACBS\osguard.\Data\cli.exe" PARAMETERS=" ..

cp" HREF="rtsp://App-V:554/app. the FILENAME attribute would be pointed to Internet Explorer. There are two examples listed below of launching local applications.6 Launching Local Applications Using the FILENAME attribute. the OSD file for an application does not have to open an executable within the virtual environment.g. NOTE: The PARAMETERS tag will not support environment variables (e.sft" GUID="A2A6D95E-8898-41C0-8020-797B23A1E917" SIZE="33363442"/> <VM VALUE="Win32"> <SUBSYSTEM VALUE=”Windows”/> </VM> .5 <REGISTRY> Examples – Registry Customizations <IMPLEMENTATION> <CODEBASE … /> <VIRTUALENV> <REGISTRY> <REGKEY HIVE="HKLM" KEY="Software\Test"> <REGVALUE REGTYPE="REG_SZ" NAME="string">Holas</REGVALUE> <REGVALUE REGTYPE="REG_DWORD" NAME="dword">5051</REGVALUE> <REGVALUE REGTYPE="REG_BINARY" NAME="hex">50.Example 3 – Example with Variable <IMPLEMENTATION> <WORKINGDIR>%SFT_MNT%\App\Data</WORKINGDIR> <CODEBASE HREF="rtsp://ds1-soft1:554/np_ecj. In the case of Web add-ins like Microsoft Silverlight. Example 1 – Launching Application that is local (not part of the Sequence) <CODEBASE FILENAME="C:\Program Files\Internet Explorer\iexplore. %SFT_MNT%).51.sft?Customer=Sequencer" FILENAME="np_ecj\notepad.52</REGVALUE> <REGVALUE REGTYPE="REG_SZ">Value of Default Key</REGVALUE> </REGKEY> </REGISTRY> </VIRTUALENV> </IMPLENENTATION> 1.exe" PARAMETERS="cjm.txt" GUID="D47C0A23-32CF-11D6-990A-00A0CC6413D5"/> <OS VALUE="WinXP"/> </IMPLENENTATION> 1.exe" SYSGUARDFILE="App\osguard.

<CODEBASE FILENAME=" C:\Program Files\Windows Media Player\wmplayer. 1.. Provider policies can be created and modified to affect the authentication. The following describes the change to the OSD file for a non-default provider policy (in bold). the system PATH variable is appended by the Mount path (for eg. a Default Provider Policy is created and assigned usage permissions. the application would use this updated PATH environment variable when required.7 Setting Environment Variables Using these steps. where Sales is the name of the non-default provider policy.cp" HREF="rtsp://App-V:554/app.avi" SYSGUARDFILE="App\osguard. and licensing.</ENVIRONMENT> </ENVLIST> </VIRTUALENV> 1. an environment variable can be set which could be used by the application in the virtual environment.sft?Customer=Sales" GUID="FE72DDCD-6E80-4ABE-8E82-8208A134CB34" SIZE="178299260"/> .sft" GUID="A2A6D95E-8898-41C0-8020-797B23A1E917" SIZE="33363442"/> <VM VALUE="Win32"> <SUBSYSTEM VALUE=”Windows”/> </VM> NOTE: C:\Program Files\Windows Media Player\wmplayer. Hence.exe" SYSGUARDFILE="Photoshp\osguard. Multiple provider policies can be created so that one is used for applications where no license enforcement is needed and another where license enforcement is enabled. applications that need to use a provider policy that is not the default must have the OSD file modified. In this scenario. <CODEBASE FILENAME="Photoshp\Photoshop.8 Launching Application via Non-Default Provider Policy During installation of the App-V Infrastructure. In this example.cp" HREF="rtsp://appvserver:554/adobephotoshop70. access permissions of virtual applications.exe is a local application. Q:) and Visual Studio path.exe" PARAMETERS=" q:\app\data\sequencing.%SFT_MNT%\vs2005\Microsoft SDK\bin\. <VIRTUALENV> <ENVLIST> <ENVIRONMENT VARIABLE="PATH">%PATH%.

The values for the VMVALUE tag are Win16. In this example. <OS VALUE="WinXP"/> <OS VALUE="Win2003TS"/> <OS VALUE="WinVista"/> <OS VALUE="Win2008TS"/> <OS VALUE="Win7"/> <OS VALUE="WinXP64"/> <OS VALUE="Win2003TS64"/> <OS VALUE="WinVista64"/> <OS VALUE="Win2008TS64"/> <OS VALUE="Win764"/> <OS VALUE="Win2008R2TS64"/> <VIRTUALENV> <ENVLIST/> </VIRTUALENV> <VM VALUE="Win16"> Can also be “Win32” or “Win64” WARNING! VM Values are case sensitive.1. Win32. <SUBSYSTEM VALUE="console"/> </VM> </IMPLEMENTATION> . and Win64 and are case sensitive.9 Running an Application as a CONSOLE application THE SUBSYSTEM tag defines the type of application defined in the FILENAME attribute that will be run with two possible elements (windows or console) to define the type of application (windows=windows and console=dos) being executed. the OSD is describing that the application is a 16-bit DOS application.

ico" /> <SHORTCUT LOCATION="%CSIDL_DESKTOPDIRECTORY%" WORKINGDIR="" DISPLAY="WinZip" ICON="%SFT_MIME_SOURCE%/WinZip90.<IMPLEMENTATION> <CODEBASE HREF="rtsp://ntlabsg01:554/Winzip_Winzip_901_MNT/Winzip_Winzip_901_ MNT.0" /> </DEPENDENCY> <SUITE NAME="Winzip_Winzip_901_MNT" /> <TITLE /> <ABSTRACT>Win XP Sp1.cp" SIZE="6225393" /> <OS VALUE="WinXP" /> <OS VALUE="WinVista" /> <OS VALUE="Win7" /> <OS VALUE="Win2003Svr" /> <OS VALUE="Win2003TS" /> <OS VALUE="Win2003TS64" /> <OS VALUE="Win2008TS" /> <OS VALUE="Win2008TS64" /> <OS VALUE="Win2008R2TS64" /> <OS VALUE="WinXP64" /> <OS VALUE="WinVista64" /> <OS VALUE="Win764" /> .0 Seq Build 300</ABSTRACT> .<VM VALUE="Win32"> <SUBSYSTEM VALUE="windows" /> </VM> .XML file into an Internet Explorer window.XML and drop the . IE 6.<DEPENDENCY> <CLIENTVERSION VERSION="2.10OSD XML Syntax Check To check the XML format of an OSD file.<VIRTUALENV> <ENVLIST /> </VIRTUALENV> </IMPLEMENTATION> .5.ico" /> </MGMT_SHORTCUTLIST> </SOFTPKG> .0" standalone="no" ?> .v1\WINZIP32. change the .<SOFTPKG GUID="26998703-328D-41DE-A256-5AFACD27ED08" NAME="WinZip" VERSION="90"> .1.EXE" PARAMETERS="" SYSGUARDFILE="Winzip. Example XML file syntax display: <?xml version="1. If there are any open or missing tags the file will not be displayed.OSD file extension to .sft" GUID="A9800C2A-E9ED-4711-B90C-808D6DD0AABC" FILENAME="Winzip.0. Note: XML file editors such as XML Notepad can also be used to check XML file format.<MGMT_SHORTCUTLIST> <SHORTCUT LOCATION="%CSIDL_STARTMENU%" WORKINGDIR="" DISPLAY="WinZip" ICON="%SFT_MIME_SOURCE%/WinZip90.v1\osguard.

. • Allow the application installer to install to its default location. you will most likely run across an application that will not let you install to Q:\ (PowerPoint Viewer). It is also recommended to be aware of the logs created when sequencing. 2.1 Sequencing Applications That Cannot Install to Q:\ At some point while sequencing applications. This by itself does not present a problem when sequencing the application. There are pros and cons when sequencing with this method. only one minor modification will need to be made.2 Advanced Sequencing Techniques This section will briefly cover some sequencing challenges and how to overcome them. In fact. a list of the log files related to the Sequencer process and purpose.

1. 1.2 Sequencing Applications that Require Access to Local Devices and/or Resources In many ways. Devices are another matter. then the application will fall through to the OS to look for the driver and see that it is installed. you sequence these applications no different than you would any other.1 Sequencing Web-Based Applications Internet Explorer is NOT supported in a sequenced application. In this case it was a Web plug-in. App-V cannot virtualize drivers. The applications inside the virtual environment can see the local resources on the OS and can access them. However. Figure 30: Sequencing Web-Based Applications Process This pulls the locally installed application into the virtual environment with the additions you have specified. If you can install the driver separately from the application. you can sequence plug-ins or ActiveX controls for Internet Explorer. This lets you have a clean and secure Internet Explorer that you can lock down on a user’s machine and then allow them to use the plug-ins that you define. .

3 Sequencer Log Files • Sft-seq-log.txt Sftrbt.txt Description: Records all process starts and stops seen by SystemGuard.txt Devirtualizer_log.1.1. Path: %ProgramFiles%\Microsoft Application Virtualization Sequencer \App-V Sequencer\Logs\ SFTCallBack. Path: %ProgramFiles%\Microsoft Application Virtualization Sequencer \App-V Sequencer\Logs\ Filter.log Description: A binary log that stores file activity during sequencing.txt Description: Stores the actions taken during the reboot processing. (REG_DWORD) Path: %ProgramFiles%\Microsoft Application Virtualization Sequencer\App-V Sequencer\Logs\ File.txt Filter.txt • • • • • . It must be enabled by setting. Path: ProgramFiles%\Microsoft Application Virtualization Sequencer\Logs\Sft-seqlog.txt Description: Records activity related to unpacking App-V packages when using the Expand to Local System function. Path: %ProgramFiles%\Microsoft Application Virtualization Sequencer \App-V Sequencer\Logs\Sftrbt. HKLM\Software\Softricity\App-V Sequencer\CurrentVersion\Configuration\FileManifest to “1”. Path: %ProgramFiles%\Microsoft Application Virtualization Sequencer \App-V Sequencer\Logs\Devirtualizer_log.txt Description: Logs all files in the VFS.txt SFTCallBack.log Files.txt Description: The main log file for logging on the Sequencer.

1 Error Codes and the Microsoft Knowledge Base Microsoft has completed the process of migrating data off of the old Softricity knowledge base. and troubleshooting App-V. Basically.com Error Code Formats: When searching the knowledge base for error codes.microsoft. it’s information-based and will vary depending on: • • • • • Major Version Minor Version Patch Version Build File ID The Next Block of 8 Characters Identify . when you see these.1 Finding Additional Information 1. be aware that the first 12 digits are unique to the version of the App-V Client software. enter the last 8 digits such as 00002AF9.xxxxxxxx or Figure 31: Sample Error Message The first block of 6 characters are around the version build of the platform/client. implementing. The ending 8 digits of the error code remain constant between all client versions. When you search for an error code. The knowledge base contains useful information regarding planning. xxxxxx .g. e.xxxxxxxx . A link to the Microsoft knowledge base follows: http://support..

Because the last 10 digits are consistent we tend to use these for identifying and searching out errors.1 App-V Team Blog This is probably the single greatest repository of App-V related information on the web. • • App-V Team Blog .technet. Additionally.com/virtualworld/archive/2007/07/27/so-what-do-all-these-errorsactually-mean.com http://blogs.microsoft.com/ http://www. Some of these sites include useful App-V related technical discussion forums.brianmadden.1 App-V Related Technical Discussion Forums and Web Sites Here is a list of non-Microsoft sites that contain information related to the App-V product and sequencing.http://blogs.com/App-V/rss..technet.com/virtualworld http://social. etc. Regardless of the version. • • • • http://www.xml 1.technet.technet.aspx 1. we can use this knowledge to identify problems and issues as these codes are reused between modules. While these sites contain valuable information about App-V. In addition.com/b/appv/ RSS Feed . This should be the first stop for anyone interested in learning about App-V and sequencing. Justin Zarb from Premiere Field Engineering in the UK has written an excellent article related to the App-V error codes and what they mean.com/Forums/en-US/category/appvirtualization . The article can be found at: http://blogs. look through the archives for valuable information. it should be noted that these sites are not affiliated with Microsoft in any way and Microsoft cannot verify any of the information contained within. The blog is updated frequently so keep checking it for more information.• • • Line Info Problem Code The Last Block of 8 Characters show: The last 10 digits of the error code are constant between the App-V builds. builds.technet.http://blogs.appvirtguru.

Sign up to vote on this title
UsefulNot useful