Working with supersedence relationships for Win32 apps

This week is all about Win32 apps in Microsoft Intune. Last year I’ve written a lot about the different features of Win32 apps and now, starting with the 2102 service release of Microsoft Intune, there is a new feature for Win32 apps. That feature is the ability to create supersendence relationships between different Win32 apps. That relationship can be used to update a Win32 app to a newer version of the Win32 app, or to replace a Win32 app with a different version of the Win32 app. Actually, it can even be used to replace a Win32 app with a completely different Win32 app. This post will start with the theory of supersedence relationships for Win32 apps, followed with the steps to configure a supersedence relationship. This post will end by showing the installation experience when using a supersedence relationship.

Introduction to supersedence relationships for Win32 apps

The different supersedence relationships for Win32 apps

Starting with the 2102 service release of Microsoft Intune, it’s possible to create one or more supersedence relationships between Win32 apps. Those supersedence relationships can be used to update or replace any specified Win32 app. When using the supersedence relationship to update a Win32 app, that requires the actual app installer, of the superseding Win32 app, to handle the update intelligence. The app installer should be able to handle the installation, when the superseded Win32 app is already installed on the device. That enables an IT administrator to relatively easy introduce a new version of a Win32 app in an organization. As an example, think about updating FoxitReader from version 9.x to 10.x (see also Figure 3). When using the supersedence relationship to replace a Win32 app, that actually requires nothing special from the app installer, of the superseding Win32 app, itself. The app installer doesn’t need to perform any action, as Microsoft Intune will trigger the uninstallation of the superseded Win32 app. That enables an IT administrator to relatively easy replace a Win32 app with a completely different Win32 app. As an example, think about replacing FoxitReader 10.x with AdobeReader DC 21.x (see also Figure 4).

The number of supersedence relationships for Win32 apps

When configuring supersedence relationships for Win32 apps, it’s important to keep in mind that there is a maximum of 10 supersedence relationships within a chain. That means that when for example a Win32 app of FoxitReader 10 supersedes a Win32 app of FoxitReader 9 and that Win32 app of FoxitReader 9 supersedes a Win32 app of FoxitReader 8, the Win32 app of FoxitReader 10 already has 2 supersedence relationships. Every relationship in the configured chain counts. The good thing, however, is that the information about the number of supersedence relationships is shown during the configuration as the Superseded Count (see also Figure 1).

Important: There is a maximum of 10 supersedence relationships for Win32 apps within a chain.

The information about the supersedence relationships can also be retrieved via the Microsoft Graph API. The basic information information – the number of supersedence relationships – is available as a property of the win32LobApps object and can be retrieved by using a HTTP request to query the endpoint below.

https://graph.microsoft.com/beta/deviceAppManagement/mobileApps

More details can be retrieved by looking at the properties of the mobileAppSupersedences object and can be retrieved by using a HTTP request to the query the endpoint below. The mentioned mobileAppId is simply the id of a Win32 app. As an example of the information that will be showed, below is also a response of the earlier mentioned supersedence relationships of the Win32 app of FoxitReader 10. That Win32 app has a parent and child target type, a replace and update supersedence type and the different counts. Basically all the different configuration options in one query example.

https://graph.microsoft.com/beta//deviceAppManagement/mobileApps/{mobileAppId}/relationships
{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#deviceAppManagement/mobileApps('9e786997-7be1-4b0d-95ae-6b1fbe96097f')/relationships",
    "value": [
        {
            "@odata.type": "#microsoft.graph.mobileAppSupersedence",
            "id": "4006b5e0-c203-46be-af63-e7b57e09a958_9e786997-7be1-4b0d-95ae-6b1fbe96097f",
            "targetId": "4006b5e0-c203-46be-af63-e7b57e09a958",
            "targetDisplayName": "AdobeReader DC 21.001.20145",
            "targetDisplayVersion": "21.001.20145",
            "targetPublisher": "Adobe Systems Incorporated",
            "targetType": "parent",
            "supersedenceType": "replace",
            "supersededAppCount": 1,
            "supersedingAppCount": 0
        },
        {
            "@odata.type": "#microsoft.graph.mobileAppSupersedence",
            "id": "9e786997-7be1-4b0d-95ae-6b1fbe96097f_e8957d7a-62e1-4dc0-b69f-7aaabdbf7f72",
            "targetId": "e8957d7a-62e1-4dc0-b69f-7aaabdbf7f72",
            "targetDisplayName": "FoxitReader 9.7.1.29511",
            "targetDisplayVersion": null,
            "targetPublisher": "Foxit Software Inc",
            "targetType": "child",
            "supersedenceType": "update",
            "supersededAppCount": 0,
            "supersedingAppCount": 1
        }
    ]
}

The assignment behavior of supersedence relationships for Win32 apps

When the supersedence relationship for Win32 apps is configured, it’s important to keep in mind that there is no automatic targeting. Each Win32 app much be explicitly assigned for the supersedence relationship to take effect. When a superseding Win32 app is not assigned and applicable to the device with the superseded Win32 app, nothing will happen. Only when the superseding Win32 is assigned and applicable to the device with the superseded Win32 app, the supersedence relationship will kick in. When the superseded Win32 app is not installed on the device, the superseding Win32 app will just install without any required actions coming from the supersedence relationship. In other words, the supersedence relationship is not a requirement for the installation of the Win32 app.

Note: An available superseding Win32 app will not trigger the supersedence relationship.

A short summary of the behavior of the different supersedence relationships of Win32 apps, in combination with the assignment intent of the superseding Win32 app, is described in the table below.

ScenarioRequired assignmentAvailable assignment
The superseded Win32 app exists on the device and Uninstall previous version is set to Yes (supersedence relationship is replace)– The installation process of the superseding Win32 app is automatically started
– The superseded Win32 app will be uninstalled
– The superseding Win32 app will be installed
– The installation process of the superseding Win32 app must be manually started
– The superseded Win32 app will be uninstalled
– The superseding Win32 app will be installed
The superseded Win32 app exists on the device and Uninstall previous version is set to No (supersedence relationship is update)– The installation process of the superseding Win32 app is automatically started
– The superseding Win32 app will be installed
– The superseded Win32 app is up to the installer
– The installation process of the superseding Win32 app must be manually started
– The superseding Win32 will be installed
– The superseded Win32 app is up to the installer
The superseded Win32 app doesn’t exist on the device– The installation process of the superseding Win32 app is automatically started
– The superseding Win32 app will be installed
– The installation process of the superseding Win32 app must be manually started
– The superseding Win32 app will be installed

Note: Manually starting the installation process of the superseding Win32 app is referring to the Company Portal (app or website).

Configuration of supersedence relationships for Win32 apps

Now let’s have a look at the configuration of a supersedence relationship for Win32 apps. That configuration can be achieved during the steps of adding a new Win32 app and by editing an existing Win32 app. The actual steps for adding a supersedence relationship are the same for both. The four steps below walk through the process of adding a supersedence relationship for an existing Win32 app. As an example AdobeReader DC 21.x is used that will replace FoxitReader 10.x.

Important: Supersedence relationships can only be applied to Win32 apps.

  1. Open the Microsoft Endpoint Manager admin center portal and navigate to Apps > Windows
  2. On the Windows | Windows apps blade, select the superseding Win32 app and navigate to Properties
  3. On the Properties of the superseding Win32 app, perform the following actions and click Review + save
  • Navigate to the Supersedence section and click Edit to open the Edit application wizard
  • On the Supersedence page, click Add
  • On the Add Apps blade, select the superseded Win32 app and click Select

Note: The Superseded Count shows the number of supersedence relationships in the chain connected to that specific Win32 app.

  • On the Supersedence page, with the selected superseded Win32 app, select Yes or No with Uninstall pervious version

Note: The configuration of Uninstall previous version determines the behavior of the supersedence relationship. When using Yes the supersedence relationship will be replace and when using No the supersedence relationship will be update.

  1. On the Review + save page, click Save

Installation experience with supersedence relationships for Win32 apps

The installation experience with supersedence relationships for Win32 apps is interesting to look at. Both, from a notification perspective as from a logging perspective. The first installation experience is of an update supersedence relationship for a Win32 app. Below in Figure 3 is an example of FoxitReader 10.x that will update FoxitReader 9.x. The notifications shown on the right are what the user will see on the device. It informs the user about the update. That information can be related, by the IT administrator, to the information shown in the IntuneManagementExtension.log. A few easy links are highlighted below on the left. That includes the information about the update and a link to the update notification.

The second installation experience is of a replace supersedence relationship for a Win32 app. Below in Figure 4 is an example of AdobeReader 21.x that will replace the earlier updated FoxitReader 10.x. The notifications on the right are what the user will see on the device. It informs the user about the replace (and actually even about the update). The IT administrator can see some interesting information in IntuneManagementExtension.log. That log shows a few interesting pieces of information that are highlighted below on the left. The includes information about the update and the replace supersedence relationships.

More information

For more information about the supersedence relationships for Win32 app in Microsoft Intune, refer to the documentation about Add Win32 app supersedence.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.