RSS

SCCM 2012: Superseding Applications, a real world example…

11 Dec

In many projects I design and implement SCCM 2012 Site infrastructures. Most organizations are looking to optimize Operating System Deployment and Patch Management. In some cases, an existing SCCM 2007 Site infrastructure is already deployed. Migration strategies are developed to migrate all clients from SCCM 2007 to SCCM 2012.

The new feature used for application management is somewhat challenging for most administrators, especially if they already have a lot of Packages created in SCCM 2007. They tend to keep using this method in SCCM 2012 as well, but they’re missing a lot of comprehensive features Application Management provides.

This blog provides a nice feature of Application Management: superseding applications…

Superseding applications allows administrators to do the following:

  • Replacing an older application with a new version
  • Replacing an application by a different application of a different vendor

This blog demonstrates superseding Adobe Reader X with Adobe Reader XI. In this example, I downloaded the standard MSI files of both versions (10.0.0. and 11.0.0.). No customizations are used since the demonstration focuses on the installation of both versions.

Two applications have been created, one for each version. Since the installations are MSI, SCCM 2012 will configure the applications automatically and no additional configuration is required.

Each application has a standard deployment to a client machine, both are set as Available deployments.

Adobe Reader X is installed first, nothing special so far.

In order to have Adobe Reader XI installed and Adobe Reader X uninstalled first, I created a Supersedence in Adobe Reader XI first.

The screenshot shows that version XI supersedes version X, it will automatically uninstall version X before installing version XI.

Sidenote: it often happens that numerous versions of Adobe Reader are used as well. You can add these versions for as well to allow uninstallation of all previous versions so you maintain only one version of an application.

In the References property of version X, you can see that version X is superseded by version XI.

Once the supersedence is in place, you may want to stop any deployments of the superseded application. This can be done by deleting all deployments. Additionally, you might want to retire version X.

On the client machine, once the installation of version XI is started, it will automatically uninstall version X and install XI.

If the application is part of a Task Sequence, then you need to modify the Task Sequence with the new version…

Advertisements
 

26 responses to “SCCM 2012: Superseding Applications, a real world example…

  1. John

    03/06/2013 at 12:33

    Thanks this is exactly what I was after.

     
  2. Joe

    31/07/2013 at 18:07

    An important note that took me days to sort out. If you define a supersedence relationship that uninstalls an application, before you retire it, YOU MUST DISTRIBUTE the application to the DPs or task sequences will stick at downloading 0% with very little detail as to why!

     
    • mwesterink

      01/08/2013 at 06:00

      Hi Joe, that’s true. The application that is superseded will use the uninstall command. In order to use this command it needs the actual program to execute it, which requires the application to be distributed to your DP’s. An .msi and scripted install are treated the same way…

       
  3. pxedave

    29/08/2013 at 15:24

    Bug alert! We are on SCCM 2012 SP1 CU1 and we found that, if you add a superseding application to a Task Sequence and make this Task Sequence “Available” to a PC, if the PC has the old superseded software installed it will automatically try and upgrade it! We noticed this when all of our PCs magically started upgrading to never versions of applications when all we did was make an OSD task sequence available to them. A call has been raised with MS…

     
    • prime

      26/10/2013 at 22:00

      pxedave, did MS respond to your call? We’re experiencing the same bug.

       
    • drkcambria

      05/11/2013 at 16:58

      pxedave, we ran into the same issue. I set Lync 2013 to supersede Lync 2010. Immediately all my Lync 2010 installations were removed and upgraded to Lync 2013, even though the Lync 2013 package was not deployed. Did you receive any guidance on this?

       
    • sysgae

      19/06/2015 at 14:56

      Bug confirmed and always present 2012 SP1 or 2012 R2 ! Microsoft confirmed it, answer is “by design” but MS will fix it in the next release, R3 it seems …

       
  4. Mike

    02/01/2014 at 18:40

    Good article. One thing I am facing (real world here) is replacing Autodesk NavisWorks 2011 Simulate (including the English Pack), Navis 32bit exporters that come with it (including the English Pack), 64 bit exporters (including the English Pack). I have have each of these msi to Applications and i have made my Autodesk NavisWorks Simulate 2014 supersede all of these. Well normally you cannot uninstall the language pack until the app for that pack is uninstalled first. Therefore I had trouble. If I leave out the english packs then all works great. Old simulate, 64bitexporters, and 32 bit exporters are gone. But when i try to add the english packs it seems there is no way to tell SCCM 2012 SP1 what order to go by on the uninstalls. If there is an order I’d love to know! Thank You

     
    • mwesterink

      03/01/2014 at 10:16

      Hi Mike,

      You should be able to supersede both the English Pack and NavisWorks 2011. You should put the English Pack on top of the list which will have it uninstalled first (unless the application itself does something fancy). I don’t know NavisWorks 2011 (but I’ve had my share of Autodek apps in the past), but if more applications (>1 .msi) are affected by the supersedence, then you need to include all of them.

      It’s quite puzzling sometimes to determine the workflow. I try to determine the workflows first before I do something in ConfigMgr.

      Hope this helps,

      Marc

       
  5. Aaron Maricic

    11/04/2014 at 17:11

    When deploying updates to something such as Adobe Flash Player which is updated frequently, should the latest version supersede ALL older versions or only the version prior to it?

    Thanks.

     
    • mwesterink

      11/04/2014 at 22:25

      Hi Aaron,

      this depends on what update scenarios Adobe Flash Player supports. I believe you can supersede all older versions with the latest one, but I’m not sure. Configuration Manager itself allows it though…

       
  6. MS Mouse

    04/01/2015 at 20:59

    Hi Marc,

    I’m curious, after you created the superseded application and distributed its contents did you also have to deploy it as you would have with version X? Or does SCCM see that there is a different deployment, due to supersedence, and deploys the new version without having to deploy (By clicking Deploy) the new version? Microsoft’s and your posting seem vague on this.

    Thanks!

     
    • mwesterink

      05/01/2015 at 10:51

      Hi MS Mouse,

      Yes, you do have to deploy the application that supersedes the previous one. Supersedence only allows administrators to replace applications without the hassle of doing an uninstall of the superseded application prior to deploy the superseding application.

      In scenarios such as these I recommend removing the deployment of the superseded application once the superseding application is deployed. This prevents the old application to be installed and uninstalled again due to the supersedence that has been configured.

       
  7. A.J.

    07/01/2016 at 15:32

    Let’s say you already have a new version of an application added in SCCM (already deployed as well) that supersedes an older version of the same application. If you go to add another superseded older version to the new version of application (existing and deployed), do you need to re-deploy the new version of the application again? Or will SCCM Clients recognize this and try to uninstall (if selected) the newly added superseded application?

    Thanks!

     
    • mwesterink

      07/01/2016 at 16:04

      Hi A.J.,

      Supersedence is defined by Configuration Manager and doesn’t look/care about the versioning of the application itself. For example, if you want to deploy Adobe Reader X by superseding Adobe Reader XI, then Configuration Manager will try to have Adobe Reader XI uninstalled before installing Adobe Reader. If the ‘Uninstall’ checkbox is not checked, then you more or less depend on the behavior of the application. To be honest, I think you may expect some strange results by doing so.

      So I would always recommend to have the superseded application uninstalled prior to installing the superseding application.

      Hope this helps…

       
  8. A.J.

    12/01/2016 at 15:39

    Hi Marc,

    Thank you for your quick response. I do understand what you have said, but I think what I was asking was misunderstood and a bit confusing. My question is surround Deployments of applications after creating them. I’ll try to rephrase the scenario and questions the best I can:

    Let’s say you already have a new version of an application (Application A v3.0) added in SCCM (already deployed as well) that supersedes an older version of the same application (Application A v1.0). It is also set to uninstall Application A v1.0. Let’s say a user manually downloads and installs Application A v2.0, which does not exist anywhere in SCCM. When this happens, when Application A v3.0 tries to install, it is not able to find Application A v1.0 using MSI Uninstall string and uninstall it since it does not exist on the endpoint (Workstation A). Instead of manually uninstalling Application A v2.0 on the endpoint (Workstation A), we want to add the Application A v2.0 as an Application within our SCCM environment. So we create the application in SCCM and update the supersedence of Application A v3.0 to look for APplication A v2.0 and uninstall, if found. Once we do this, do we need to re-deploy Application A v3.0 AGAIN to same collections, or will Workstation A automatically pick this up next time it runs an Application Deployment Evaluation Cycle, and then try to uninstall the newly added Application A v2.0 (which is superseded)?

    I hope this makes more sense.

    Thanks!

     
    • mwesterink

      22/01/2016 at 21:26

      Hi A.J.,

      The scenario that you describe depends strongly on the deployment chosen. I’d only create a deployment on v3.0 to prevent either v1.0 and v2.0 to be deployed by ConfigMgr. In that case that particular deployment would clean up all older versions if you configure them as superseded applications for v3.0. You have to keep the older versions in ConfigMgr to allow detection of them. You should see some references in AppEnforce.log to see what happens. The evaluation cycle should then take care of it.

      I assume for now that you use Required deployments…

      If you use a Required deployment for v3.0 and a user uninstalls v3.0 and installs v2.0, then the next cycle will correct that by uninstalling v2.0 and installing v3.0…

      Hope this helps..

      Marc

       
  9. David Schoellkopf

    05/02/2016 at 15:22

    Mark, I have set up a new application for a client and I also set up an application for the previous client to use supersedence. The application version that is being superseded was not sent out by SCCM. To have supersedence work do I need to deploy the Superseded version first to have SCCM see that it is installed or will it check at the deployment of the new version and see if the superseded version is present?

     
    • mwesterink

      10/02/2016 at 11:36

      Hi David,

      You do not have to deploy the superseded application to have it replaced by the superseding application.
      ConfigMgr’s detection mechanism (specified by the admin) will check if the superseded application is present.
      You can have it uninstalled if you want to.

      Hope this helps,

      Marc

       
  10. Jonathan W.

    05/07/2016 at 22:30

    Hi Marc,

    Thanks for the article and I have a related query you may be able to offer some insight on.

    In the example you use Adobe Reader msi files. The Adobe Reader XI msi will natively upgrade (via uninstall) instances of Adobe Reader X if found during install – what are the pros & cons of using supersedence vs built-in vendor upgrade functionality in cases such as this when the vendor has already legislated in their msi for an older version possibly being present?

    Thanks!

     
    • mwesterink

      06/07/2016 at 10:59

      Hi Jonathan,

      Using supersedence allows you to map out and manage application lifecycles.
      The benefit of supersedence is it allows you configure more than one application that will be superseded with the superseding one.
      For Adobe Reader it is more an administrative thing than rather a technical one.

      It’s true that Adobe Reader has this built-in mechanism of automatically uninstalling older instances of it (Microsoft Office is another example), I guess this a ‘nice to have’.
      Adobe can’t assume everyone is using ConfigMgr so they added this feature, but it is quite a wild guess from my side.

      But personally I prefer to use supersedence to allow more management of applications.

      Hope this helps!

       
  11. P.

    22/03/2018 at 23:00

    Hi

    You write: Once the supersedence is in place, you may want to stop any deployments of the superseded application. This can be done by deleting all deployments. Additionally, you might want to retire version X.

    I am wondering myself:

    why superseding/replacing the deploymenttype first
    then stopping/deleting the deployments

    Doesn’t this render the deploymenttype replacement useless if there is no deployment?

    Cannot find a word of stopping deployments after supersedence in the docs

    Or is this more a „if old application is replaced everywhere already“ advice?

    Thanks for clarifying

     
    • mwesterink

      27/03/2018 at 10:35

      Hi P,

      Deleting all deployments of the superseded application makes sure that it will never be installed again.
      You may encounter the situation that a superseded application was already present before it was deployed by ConfigMgr, so supersedence will take of that using the detection mechanisms.

      It’s true the docs don’t mention anything of stopping the deployment of the superseded application, this is something I do myself to make sure it won’t be deployed anymore (just in case).
      I use this approach in conjuction with any Release Management processes if they exist within an organization.

      Hope this helps.

       
  12. Julian Revheim Askeland

    22/11/2018 at 07:09

    Hi,

    I have a few applications that are Available in SCCM Software Center for a user to choose to install (Ex: VLC and Notepad++).
    In my tests:
    A user have installed an optional application.
    I download and deploy an new version that supersedes the installed on.
    The new one appears in Software Center, but the old application is still installed.

    Is there a way to make a deployment available, but still make sure the computers that have the superseded application installed updates automatically?

    Thanks! 🙂

     
    • Julian Revheim Askeland

      22/11/2018 at 07:25

      Hi again,

      I just fond the answer to my question.

      For anyone else that might ask the same question.
      There is a checkbox during the “Deploy Software Wizard” under “Deployment Settings” that says “Automatically upgrade any superseded version of this application”

      // Julian

       
      • mwesterink

        22/11/2018 at 09:54

        Hi Julian,

        It’s good to see you already found the answer.
        I didn’t have time to look at it yet.

        I would recommend that if you want to supersede an application, you should no longer have a deployment for the superseded application to prevent unwanted installations.

        Hope this helps!

        Marc

         

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

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

 
Steve Thompson [MVP]

The automation specialist

Boudewijn Plomp

Cloud and related stuff...

Anything about IT

by Alex Verboon

MDTGuy.WordPress.com

Deployment Made Simple

Modern Workplace

Azure, Hybrid Identity & Enterprise Mobility + Security

Daan Weda

This WordPress.com site is all about System Center and PowerShell

IT And Management by Abheek

Microsoft certified Trainer -Abheek

Heading To The Clouds

by Marthijn van Rheenen

%d bloggers like this: