The User-Centric App Installer feature in UDI is used to report any applications installed during the UDI deployment process to the Application Catalog feature in Configuration Manager 2012. The User-Centric App Installer feature provides the link between the applications selected on the ApplicatonPage wizard page in the UDI Wizard and any optional Configuration Manager 2012 applications advertised to the users.
For more information on the Application Catalog feature in Configuration Manager 2012, see Application Management in Configuration Manager.
The following is the high-level process for how the App Install feature works in UDI:
1. Configuration Manager applications are created in Configuration Manager 2012.
For more information about creating and managing Configuration Manager 2021 applications, see the following resources:
2. The Configuration Manager 2012 user collections are created, and users are added to the collection.
For more information about creating and managing user collections and adding users to collections, see the following resources:
3. The Configuration Manager 2012 applications are deployed to the user collections.
For more information about how to deploy the applications to user collections, see How to Deploy Applications in Configuration Manager.
4. The Configuration Manager 2012 applications are made available on the ApplicatonPage wizard page using the UDI Wizard Designer.
For more information about how to make Configuration Manager 2012 applications available on the ApplicatonPage wizard page, see the section, Step 5-11: Customize the UDI Wizard Configuration File for the Target Computer, in the MDT document Quick Start Guide for User-Driven Installation.
5. UDA is configured using one of the following methods:
· In the Configuration Manger console (For more information about configuring UDA in the Configuration Manager console, see How to Manage User Device Affinity in Configuration Manager.)
· On the UDAPage wizard page in the UDI Wizard (For more information about the UDAPage wizard page, see UDAPage.)
After UDA is configured, the specified user account will be the primary user for the target computer.
Note UDA can only be configured by UDI in the New Computer deployment scenario. It cannot be configured in the Refresh Computer or Replace Computer deployment scenarios.
6. The task sequence is run, and the user selects the Configuration Manager 2012 applications on the ApplicatonPage wizard page in the UDI Wizard.
The UDI Wizard is run in the UDI Wizard task sequence step in the Preinstall group of the task sequence. When the user selects Configuration Manager 2012 applications on the ApplicatonPage wizard page, the wizard page creates a separate task sequence variable for each application selected.
For more information on selecting the Configuration Manager 2012 applications on the ApplicatonPage wizard page in the UDI Wizard, see the section, Step 6-4: Start the Target Computer with the Task Sequence Bootable Media, in the MDT document Quick Start Guide for User-Driven Installation.
7. The task sequence installs the Configuration Manager 2012 applications that were selected in the previous step.
The Configuration Manager 2012 applications are installed using the following task sequence steps in the Install Applications group in the task sequence:
· Convert list to two digits
· Install Application
8. The task sequence performs the following tasks in the OSD Results and Branding group prior to starting the target operating system for the first time:
· Copies the information used for OSDResults.exe to the %WINDIR%\UDI folder on the target computer in the Cache OSD Results task sequence step
· Records the task sequence variables created in step 6 for the Configuration Manager 2012 applications in the registry on the target computer in the Branding to Reg and Branding to Reg x64 task sequence steps
The tasks sequence variables are saved in the following location in the registry:
· Configures the target operating system to automatically run OSDResults.exe when the computer starts prior to the Windows logon screen in the Run OSD Results task sequence step
· Configures the target operating system to automatically run AppInstall.exe when a user logs on to the computer for the first time in the Run OSD Results task sequence step
· Configures a task on the target operating system to remove the %WINDIR%\UDI folder one month from the date of the deployment
9. The target computer is started, and OSDResults.exe is run.
For more information about OSDResults.exe, see OSDResults Reference.
10. A user logs on to the target computer, and AppInstall.exe starts automatically.
11. AppInstall checks whether the currently logged-on user is a primary user who was configured in UDA.
A primary user is a user who uses the device on a regular basis and is considered the owner, or one of the owners, of the device.
If the currently logged-on user is:
· Not a primary user, then AppInstall.exe stops
· A primary user, then AppInstall.exe reads the registry entries saved in step 8 to determine which applications were installed
12. AppIntaller connects to Configuration Manager 2012 and reads the Application Catalog using the following steps:
a. AppInstall will wait 5 minutes after it starts to allow the Configuration Manager 2012 policies to be available.
b. After 5 minutes, AppInstall attempts to connect to the Application Catalog.
c. If AppInstall is unable to connect, then it will wait for a period of time before attempting to connect again.
d. AppInstall attempts to connect up to five times before exiting.
You can configure the connection time-out delay and the number of retries for AppInstall using the AppInstall.exe.config file, which resides in the Tools\OSDResults folder in the MDT files Configuration Manager package. Table 11 lists the configuration settings in the AppInstall.exe.config file.
Table 11. Configuration Settings in the AppInstall.exe.config File
This setting allows you to specify the length of time for AppInstall to wait for a response from the Configuration Manager 2012 Application Catalog before timing out. The value is specified in minutes. The default value for this setting is 5.
This setting allows you to specify the length of time for AppInstall to wait prior to attempting the connection to the Configuration Manager 2012 Application Catalog. The value is specified in minutes. The default value for this setting is 5.
13. AppInstall compares the list of applications discovered in the registry with the list of applications available from the Configuration Manger 2012 Application Catalog for the user currently logged on.
If the application discovered in the registry:
· Is available in the Application Catalog, then AppInstall.exe maps the applications and identifies the applications as existing both in the registry and in the Application Catalog. These applications will be used in the following step.
· Is not available in the Application Catalog, then AppInstall.exe does not create a mapping. These applications will not be used in the following step.
14. AppInstall uses Configuration Manager 2012 APIs to initiate the installation of the mapped applications.
The applications used in this step were mapped in the previous step. That is to say, they were both listed in the registry and found in the Application Catalog.
15. As a part of the installation process, Configuration Manager 2012 detects whether the application is already installed.
Because the application has already been installed, Configuration Manager 2012 records that the application has been successfully deployed to that user, and the application will be listed in Software Center for that user. Configuration Manager 2012 begins management and monitoring of the application for that user.
The folder is retained for 1 month so that the primary users have an opportunity to be log on and run AppInstall.exe.