The actual process of migrating applications is performed during an OS deployment task sequence in Configuration Manager.

Application Migration uses a custom task sequence action that calls an Application Migration API. The API gets a list of Configuration Manager Applications and Packages that need to be installed on a computer based on previously installed software titles (determined through inventory) and the migration rules applying to those titles.


When upgrading task sequence tools, you must remove the old 1E Application Migration step and add the same step again in affected Task Sequences. Otherwise, the latest changes will not be accessible and may not work.

Testing the API and getting device details

You can test the API and observe the results for a specific computer from a browser with the following by replacing <WebServiceBaseURL >, <Domain>, and <MachineName> with the necessary details:

<WebServiceBaseURL>/platform/api/applicationmigration/getApplicationsToBeInstalled/?domainName=<Domain>&machineName=<MachineName>

where: 

  • <WebServiceBaseURL> may be either of the host headers configured for Tachyon. See Web Service Base URL below for a more detailed description. 
  • <domain> and <MachineName> specify the computer you are checking the results for.

Browsing to the URL returns a JSON file with a  list of Applications and Packages that will be installed on the specified device when the task sequence executes.

This list is used to populate two series of task sequence variables (one for Applications and the other for Packages) that can be used by the standard Configuration Manager Install Application and Install Package steps to dynamically install each application and package returned by the API.



Configuring the Application Migration Task Sequence step

Example

The following example illustrates how to add the Application Migration step to an existing OS Deployment task sequence. Your own task sequence may differ, but the general positioning of these steps is where Install Application steps would normally be placed (after Install Updates and before the Restore User Files).

  1. From the Configuration Manager console, select the Software Library workspace.
  2. Expand the Operating Systems folder and select Task Sequences.
  3. Right-click the task sequence that Application Migration is to be added to and from the context menu, select Edit.

Application Migration step

Choose Add > 1E OSD > AppMigration.

On the Properties tab, enter the following details:

  1. In Web Service Base URL, enter the location for Tachyon, for example http://tachyon.acme.local/
  2. Under Credentials (for Web service call), enter the D omain\User Name and Password for the Tachyon user you want to use.
  3. Source Computer Domain – in most cases the source computer domain will be the same domain that the OS is being deployed in. If you are migrating computers from one domain to another through the OS deployment process, you must select the Specify Domain option and enter the Fully Qualified Domain Name of the originating domain, as this will be the domain that the computer belongs to in Tachyon from previous inventory.
  4. In Source Computer Name Variable, leave the value at its default SourceComputerName.
  5. In Application Variable, choose the base variable that is used to define the dynamic applications. In our example, it is AppMig.
  6. In Package Variable, choose the base variable that is used to define the dynamic packages. In our example, it is PkgMig.
  7. Click Apply.


1E OSD menu

Install Application step

Choose Add > Software > Install Application.

On the Properties tab:

  1. Select the Install applications according the dynamic variable list option.
  2. In Base variable name, enter the application variable. In our example, it is AppMig (see step 5 above).
  3. If you want the task sequence to continue installing other applications in the event if an application install fails, select the If an application installation fails, continue installing other applications in the list option.

On the Options tab:

  1. Click Add Condition and enter condition to check if Task Sequence Variable APPMIG01 exists (or the application variable you defined in the 1E Application Migration step with 01 appended). 
  2. Click Apply.

Install Application

Install Package step

Choose Add→Software→Install Package.

On the Properties tab:

  1. Select the Install software packages according to dynamic variable list option.
  2. In Base variable name, enter the package variable name used in the 1E Application Migration step. In our example, it is PkgMig (see step 6 above).
  3. If you want the task sequence to continue installing other applications in the event if an application install fails, select the If installation of a software package fails, continue installing other packages in the list option.

On the Options tab:

  1. Click Add Condition and enter the condition to check if the task Sequence Variable PKGMIG001 exists (or the package variable you defined in the 1E Application Migration step and append 001 to it). Click OK to save the condition.
  2. Click Apply to save the changes to the Task Sequence step.

Task sequence variables used by Application Migration

Using migration rules and Role Based Application Sets

Role Based Application Sets can optionally be used in each of the deployment scenarios. 

For this to work, the task sequence must contain the variable IncludeRoleBasedAppsForExistingPC set to a value of true, as shown in the picture opposite.

When using  IncludeRoleBasedAppsForExistingPC  with a value of  true  for role-based application sets, the DeploymentType variable must be set appropriately in the task sequence before the 1E Application Migration step.


Auto Install for Configuration Manager Applications and Packages

Application Migration uses the Install Application and Install Package steps in a Task Sequence to install migrated applications and packages. These Task Sequence steps are dependent on the relevant checkbox (auto install flag) being enabled for each application and package:

  • Allow this application to be installed from the Install Application task sequence action without being deployed
  • Allow this program to be installed from the Install Package task sequence action without being deployed.

If a checkbox is not enabled, the software installation will fail for that application or package. An administrator can enable this checkbox for each application and package by using either of the following methods:

  • in Configuration Manager during or after creating each application and package
  • using the Auto Install feature in Application Migration when creating application associations, rules or Role Based Application sets.



Application Migration's Auto Install feature is able to read the checkbox (auto install flag) for applications and programs, but in order for Application Migration to enable them for you, you'll need to configure related providers in the Settings application of the Tachyon Platform. These should already be configured as a post-installation step. For configuration details, please refer to Post-install configuration.


For more details about using the Auto Install feature, please refer to:

Applications

The checkbox is located on the General Information tab of the Properties window for a Configuration Manager Application as shown opposite.

SCCM Application

Packages

The checkbox is also present on the Advanced tab of the Properties window of a Configuration Manager Package program as shown opposite.

SCCM Package

Support for Computer Replacement scenario

If you intend to use Application Migration to migrate applications from an old computer to a new computer (Replace scenario), you may need to include the Get migration settings step in your Task Sequences. The Get Migration Settings Task Sequence step retrieves information from a Computer Association in Configuration Manager so it can determine the source computer when installing applications on the new computer. It is currently distributed with Nomad and is added to the Task Sequence Editor by installing NomadBranchTools.msi. Please refer to Nomad 7.1 - Installing Nomad tools for operating system deployment for more information.