Home > SCCM > Application Dependencies in SCCM 2012

Application Dependencies in SCCM 2012


A new feature in CM 2012 is the ability to set dependencies on applications. This is something that I have been waiting for and it works really well.

For example this is my deployment for AX 2012 Client.

In this scenario I needed to create 4 different dependencies that would all be installed, this is done by pressing “Add” and then adding a dependency, if you add 2 dependencies under the same group it will be “this OR that” but if you add them in different groups it will be “this AND that”.

You can for example have one group and add different versions of Visual C++ Redistributable if the application does not require the latest version it will check if any of those versions are installed, if any of those versions are installed it will skip it.

If you add 2 dependencies under the same group you can also set priority, if none of the dependencies are installed the application with the highest priority is the first one to be installed, the best way here is to only check “Auto Install” on the application you want to install if the device is not satisfying.

A dependency doesn’t have to be something that the application you are installing requires it can be anything.

I created a bunch of applications in a folder I call “Pre Reqs\Microsoft” with the most common pre requisites like SQL Native Client etc etc, stuff that I can use over and over again.

When you deploy an application that have dependencies linked to it the SCCM Client will check what decencies is already installed, if none are installed it will automatically download them and install.

This also works when doing it via task sequence.

If you check Software Center you will see the number of components it downloads if you have 4 dependencies and 1 is installed it will say downloading 4 components (3 dependencies and the program itself)

One thing to keep in mind is that if a dependency fails to install the whole deployment fails. You can see what dependency failed under deployment monitoring. I had one case where my C++ 2010 was an older version and the deployment failed because a newer version was already installed on the computer.

Categories: SCCM Tags:
  1. SCCMAdmin
    October 3, 2012 at 11:08

    Are dependencies installer BEFORE or AFTER the main deployment type? Can you somehow manually define this?

    • October 3, 2012 at 18:14

      Dependencies are always installed before the actuall application. I dont think you can change this. You will have to run 2 different deployments or a task sequence.

  2. January 29, 2013 at 05:47

    how about removal ? do they follow the same sequence ? if not,is there setting to follow the removal of dependencies as well though each deployment type will have both installation and uninstallation commands .

    • January 29, 2013 at 10:45

      Dependencies are only considered when installing an application and not uninstall. i guess you could create second deployment types for the application and all dependencies where you put the uninstall command in the install box and that way uninstall application with all dependencies.

      • January 31, 2013 at 03:24

        i have tried that but that does not work ..

      • January 31, 2013 at 07:45

        OK. when i think about it i realize that it will not detect the app after a uninstall that way and will fail. would be a good suggestion for Microsoft to implement in SP1…

  3. adam
    January 30, 2013 at 16:25

    Do you have to deploy the dependency separately or will it get deployed when the the parent app is.

    • January 31, 2013 at 07:42

      They are deployed when the parent app is.

  4. Lieven De Neef
    February 20, 2013 at 09:08

    What about the order of installation the prerequisites? Can it be manipulated?
    Example:.preA and preB and preC.

    In my test SCCM 2012 doesn’t follow the A B C order.

    • February 20, 2013 at 09:20

      When creating multiple dependency groups (this and that) you cannot choose the order they are installed to do that you need to use a task sequence, you can choose the priority in a single dependency group but it will skip that group if it finds the first deployment type in the list on the targeted computer, so the only use ive had of that is to check a computer for different versions of lets say Visual C++ Redistributed.

  5. Lieven De Neef
    February 20, 2013 at 09:27

    We deploy app’s to User Collections. So I think we cannot use TS because you only can distribute app’s via TS to Device Collections, right?

  6. Lieven De Neef
    February 20, 2013 at 09:44

    I’ll use a wrapper I think. Also thought to make a chain of dependencies but when a certain dependency is used more than once you’ll get problems…

  7. Jason Hill
    March 10, 2013 at 11:07

    How would you suggest handling dependencies that require a reboot?

    I’m trying to deploy a package that requires Windows installer 4.5 many of our XP systems have older versions

    I have added this as dependency (WindowsXP-KB942288-v3-x86.exe) and it does ask for a reboot software centre even shows it however the SCCM client appears to continue on with the deployment if I monitor the AppEnforce.log I can see an exist code of 3010 for the install of the patch then it moves onto the next install I think this is causing my deployment to hang as the update does need a reboot to work correctly I would rather it pauses the deployment pending the reboot.

    • April 6, 2013 at 09:37

      Good question. I guess i would deploy that as a seperate deployment. Or a tasksequence

    • Lionel
      December 17, 2013 at 17:56

      Hi Jason,

      Did you found a way to manage the reboot of one dependency? Because I would like to do the same as you, installing on dependency of the primary packages, doing a reboot then continue installing the package. I CAN’T use the TS because all the packages will be deployed on user collections and nothing else… This behavior is just a basic application management, why SCCM is not able to do it???

  8. Brie
    March 27, 2013 at 18:14

    Incredibly stupid question, but I’m new to Applications and have most of my MS pre-reqs as Packages since they are .exe files. Are you using a Script to install the Visual C++ installs or how is your Visual C++ Applications setup? I see no way to attach to a Package, only another Application?

    • April 6, 2013 at 09:33

      You cannot choose packages as pre reqs only applications. But you can create an application instead and use it as a pre req

  1. No trackbacks yet.

Leave a reply to tjindarr Cancel reply