none
I am having issues selectively applying patches. What is the order of precedence? RRS feed

  • Question

  • Hello,

    I am trying to setup my task sequences to install patches only for Windows 7 on Windows 7 machines. I am having a hard time preventing the patches from being downloaded for other versions. I am wondering what is the order of precedence for the Apply Patches task sequence step profile, the variable PackageSelectionProfile (in cs.ini) and the PackageGroup variable?

    It seems if I have PackageSelectionProfile=Nothing in my CS.ini, it does not matter what profile I choose in the Apply Patches task sequence step, it will get ignored. Also, if I set a custom package path for PackageGroup001, but the Apply Patches task sequence step has the profile "Nothing", then no packages are installed.

    This is different than what I was able to do with Driver groups and driver profiles. I can set a CS.INI setting to a catch all value like "Generic Drivers" for DriverSelectionProfile, Set DriverGroup001 to a specific driver folder, and have the Inject Driver task sequence step set to "Nothing".

    I know that I can hard code the Apply Patches task sequence step to a specific profile related to each packages folder. However, I work in a lab where we have almost every OS version, architecture and 5 languages that we need to provide via MDT and I am trying to get away from having to edit each TS with specific settings. I am trying to get a task sequence template that is robust enough with conditions to work for all OS versions.

    I feel like I am missing something simple. It makes no sense that I have to specify both the PackageGroup and set the Apply Patches step to a profile. Shouldn't I be able to specify one or the other?

    Here is what I am working with:

    With this setup, no packages get installed on Windows 7 machines. If I change the Apply Patches selection profile to "All Packages", then the packages are installed for Windows 7, but I also see that they are processed and added to the unattend.xml file for other OS versions like Server 2012 R2.

    Regards,

    Darren

    Sunday, April 24, 2016 10:38 PM

Answers

  • The first condition of your If statement does not get evaluated.  MDT has no direct way I am aware of to determine OS as you are describing it.  The closest I can think of is OSVersionNumber.  If you change your condition to that corresponding value, it may help.  Also, you must be certain that the hierarchy under packages matches the value you are using for PackageGroup001.
    Monday, April 25, 2016 1:46 PM
  • If you just set it instead of trying to make it conditional it will work. BiA is correct you need to directly set PackageGroup001 without the conditions because in WinPE they will never evaluate true.

    Many questions such as where do I find logs and what logs are interesting are found in: MDT TechNet Forum - FAQ & Getting Started Guide Please take the time to read it.


    Monday, April 25, 2016 11:07 PM
    Moderator

All replies

  • What jumps out at me is you are trying to add x86 patches to x64 Windows.

    Many questions such as where do I find logs and what logs are interesting are found in: MDT TechNet Forum - FAQ & Getting Started Guide Please take the time to read it.

    Monday, April 25, 2016 6:53 AM
    Moderator
  • The first condition of your If statement does not get evaluated.  MDT has no direct way I am aware of to determine OS as you are describing it.  The closest I can think of is OSVersionNumber.  If you change your condition to that corresponding value, it may help.  Also, you must be certain that the hierarchy under packages matches the value you are using for PackageGroup001.
    Monday, April 25, 2016 1:46 PM
  • Good eye Glander, but as I mentioned my task sequences are conditional. I use the same task sequence template for all my task sequences. The x86 TS step on the TS in my screenshot would evaluate to false and move on to the next step, x64.

    The Operating System option in the If statement seems to work fine for me and my packages folders match the packagegroup value.

    The task sequence conditions and everything works. What I am struggling with is that when the Apply Patches step is set to a profile of "nothing", it does not matter what values are set in PackageGroup, they are ignored and no patches are used.

    If I set to profile to "All Packages", then all of my task sequences will apply the packages, even for different OSs.

    I know my case is a little strange since I use conditional task sequences...

    Regards,

    Darren

    Monday, April 25, 2016 7:41 PM
  • If you just set it instead of trying to make it conditional it will work. BiA is correct you need to directly set PackageGroup001 without the conditions because in WinPE they will never evaluate true.

    Many questions such as where do I find logs and what logs are interesting are found in: MDT TechNet Forum - FAQ & Getting Started Guide Please take the time to read it.


    Monday, April 25, 2016 11:07 PM
    Moderator
  • Thanks guys!

    I just reread this and it makes sense now. I tried it hard coded and it works with the apply patches profile set to nothing.

    I guess the operating system option in the if statements are useless. I will see what I can do about using OSCurrentBuild or OSVersionNumber instead.

    ~Darren

    Monday, April 25, 2016 11:23 PM