Migrating to App-V 5.1 from a Previous Version

With Microsoft Application Virtualization (App-V) 5.1, you can migrate your existing App-V 4.6 or App-V 5.0 infrastructure to the more flexible, integrated, and easier to manage App-V 5.1 infrastructure. However, you cannot migrate directly from App-V 4.x to App-V 5.1, you must migrate to App-V 5.0 first. For more information on migrating from App-V 4.x to App-V 5.0, see Migrating from a Previous Version

Note   App-V 5.1 packages are exactly the same as App-V 5.0 packages. There has been no change in the package format between the versions and therefore, there is no need to convert App-V 5.0 packages to App-V 5.1 packages.

For more information about the differences between App-V 4.6 and App-V 5.1, see the Differences between App-V 4.6 and App-V 5.0 section of About App-V 5.0.

Improvements to the App-V 5.1 Package Converter

You can now use the package converter to convert App-V 4.6 packages that contain scripts, and registry information and scripts from source .osd files are now included in package converter output.

You can also use the –OSDsToIncludeInPackage parameter with the ConvertFrom-AppvLegacyPackage cmdlet to specify which .osd files’ information is converted and placed within the new package.

New in App-V 5.1 Prior to App-V 5.1

New .xml files are created corresponding to the .osd files associated with a package; these files include the following information:

  • environment variables

  • shortcuts

  • file type associations

  • registry information

  • scripts

You can now choose to add information from a subset of the .osd files in the source directory to the package using the -OSDsToIncludeInPackage parameter.

Registry information and scripts included in .osd files associated with a package were not included in package converter output.

The package converter would populate the new package with information from all of the .osd files in the source directory.

Example conversion statement

To understand the new process, review the following example ConvertFrom-AppvLegacyPackage package converter statement.

If the source directory (\\OldPkgStore\ContosoApp) includes the following:

  • ContosoApp.sft

  • ContosoApp.msi

  • ContosoApp.sprj

  • ContosoApp_manifest.xml

  • X.osd

  • Y.osd

  • Z.osd

And you run this command:

ConvertFrom-AppvLegacyPackage –SourcePath \\OldPkgStore\ContosoApp\ 
-DestinationPath \\NewPkgStore\ContosoApp\
-OSDsToIncludeInPackage X.osd,Y.osd

The following is created in the destination directory (\\NewPkgStore\ContosoApp):

  • ContosoApp.appv

  • ContosoApp.msi

  • ContosoApp_DeploymentConfig.xml

  • ContosoApp_UserConfig.xml

  • X_Config.xml

  • Y_Config.xml

  • Z_Config.xml

In the above example:

These Source directory files… …are converted to these Destination directory files… …and will contain these items Description
  • X.osd

  • Y.osd

  • Z.osd

  • X_Config.xml

  • Y_Config.xml

  • Z_Config.xml

  • Environment variables

  • Shortcuts

  • File type associations

  • Registry information

  • Scripts

Each .osd file is converted to a separate, corresponding .xml file that contains the items listed here in App-V 5.1 deployment configuration format. These items can then be copied from these .xml files and placed in the deployment configuration or user configuration files as desired.

In this example, there are three .xml files, corresponding with the three .osd files in the source directory. Each .xml file contains the environment variables, shortcuts, file type associations, registry information, and scripts in its corresponding .osd file.

  • X.osd

  • Y.osd

  • ContosoApp.appv

  • ContosoApp_DeploymentConfig.xml

  • ContosoApp_UserConfig.xml

  • Environment variables

  • Shortcuts

  • File type associations

The information from the .osd files specified in the -OSDsToIncludeInPackage parameter are converted and placed inside the package. The converter then populates the deployment configuration file and the user configuration file with the contents of the package, just as App-V Sequencer does when sequencing a new package.

In this example, environment variables, shortcuts, and file type associations included in X.osd and Y.osd were converted and placed in the App-V package, and some of this information was also included in the deployment configuration and user configuration files. X.osd and Y.osd were used because they were included as arguments to the -OSDsToIncludeInPackage parameter. No information from Z.osd was included in the package, because it was not included as one of these arguments.

Converting packages created using a prior version of App-V

Use the package converter utility to upgrade virtual application packages created using versions of App-V prior to App-V 5.0. The package converter uses PowerShell to convert packages and can help automate the process if you have many packages that require conversion.

Important   After you convert an existing package you should test the package prior to deploying the package to ensure the conversion process was successful.

What to know before you convert existing packages

Issue Workaround

Virtual packages using DSC are not linked after conversion.

Link the packages using connection groups. See Managing Connection Groups.

Environment variable conflicts are detected during conversion.

Resolve any conflicts in the associated .osd file.

Hard-coded paths are detected during conversion.

Hard-coded paths are difficult to convert correctly. The package converter will detect and return packages with files that contain hard-coded paths. View the file with the hard-coded path, and determine whether the package requires the file. If so, it is recommended to re-sequence the package.

When converting a package check for failing files or shortcuts. Locate the item in App-V 4.6 package. It could possibly be a hard-coded path. Convert the path.

Note   It is recommended that you use the App-V 5.1 sequencer for converting critical applications or applications that need to take advantage of features. See, How to Sequence a New Application with App-V 5.1.

If a converted package does not open after you convert it, it is also recommended that you re-sequence the application using the App-V 5.1 sequencer.

How to Convert a Package Created in a Previous Version of App-V

Migrating Clients

The following table displays the recommended method for upgrading clients.

Task More Information

Upgrade your environment to the latest version of App-V 4.6

Application Virtualization Deployment and Upgrade Considerations.

Install the App-V 5.1 client with co-existence enabled.

How to Deploy the App-V 4.6 and the App-V 5.1 Client on the Same Computer.

Sequence and roll out App-V 5.1 packages. As needed, unpublish App-V 4.6 packages.

How to Sequence a New Application with App-V 5.1.

Important   You must be running the latest version of App-V 4.6 to use coexistence mode. Additionally, when you sequence a package, you must configure the Managing Authority setting, which is in the User Configuration is located in the User Configuration section.

Migrating the App-V 5.1 Server Full Infrastructure

There is no direct method to upgrade to a full App-V 5.1 infrastructure. Use the information in the following section for information about upgrading the App-V server.

Task More Information

Upgrade your environment to the latest version of App-V 4.6.

Application Virtualization Deployment and Upgrade Considerations.

Deploy App-V 5.1 version of the client.

How to Deploy the App-V Client.

Install App-V 5.1 server.

How to Deploy the App-V 5.1 Server.

Migrate existing packages.

See the Converting packages created using a prior version of App-V section of this article.

Additional Migration tasks

You can also perform additional migration tasks such as reconfiguring end points as well as opening a package created using a prior version on a computer running the App-V 5.1 client. The following links provide more information about performing these tasks.

How to Migrate Extension Points From an App-V 4.6 Package to a Converted App-V 5.1 Package for All Users on a Specific Computer

How to Migrate Extension Points From an App-V 4.6 Package to App-V 5.1 for a Specific User

How to Revert Extension Points from an App-V 5.1 Package to an App-V 4.6 Package For All Users on a Specific Computer

How to Revert Extension Points From an App-V 5.1 Package to an App-V 4.6 Package for a Specific User

Other resources for performing App-V migration tasks

Operations for App-V 5.1

A simplified Microsoft App-V 5.1 Management Server upgrade procedure