11 Replies Latest reply: Apr 4, 2013 12:19 PM by blashmet RSS

Applicability Rules Not Working

blashmet

I'm trying to deploy Trillian by creating a custom package.  I set the applicability rule as anything less than the latest version of Trillian.  It correctly deployed through Windows Update on my system, but all the others are saying "Not Applicable".

 

Any help would be appreciated

 
  • Re: Applicability Rules Not Working
    Pooranivalli Kumaravelu

    There could be several reasons for this behavior. Some of the common reasons and modifications that can be done to the rules.

    Does the registry keys gets created in 64 bit machines under HKEY_LOCAL_MACHINE\Software\Wow6432Node. If yes, then include the registry key and uncheck the option “Use 32-bit registry”.

     

    For the applicability rule you have given, check the option “use 32 bit registry”. Check whether this works.

     

    Otherwise, Enable windows update logging and kindly post it. To enable the logging, follow http://support.microsoft.com/kb/902093/en-us

    • Re: Applicability Rules Not Working
      blashmet

      I'm not using the registry to check for the version.  The applicability rule I am using checks for the existence of  C:\Program Files\Trillian\trillian.exe.  If the version is less than 5.3.0.15, then it's supposed to be applicable.  Most of the machines don't have Trillian installed.  From a previous support ticket, this means the version is automatically less than the one I give, and thus the patch is supposed to install.

       

      This is the error I'm getting: error.png

       

      Attached is the windows update log.  Interestingly, I don't see any reference to Trillian.  In a different log, I saw a line saying a cached cookie had expired and a new PID was available.

  • Re: Applicability Rules Not Working
    jbaits

    There is most likely a difference between the applicability or prerequisite rules you have set and the actual state of a machine without Trillian installed at all or with a previous version. Without knowing what rules you have created I can't give you any specific direction but I would start by looking at an actual users machine or a clean test machine and manually compare your rules to it's current state.

    • Re: Applicability Rules Not Working
      blashmet

      The applicability rule I am using checks for the existence of  C:\Program Files\Trillian\trillian.exe.  If the version is less than 5.3.0.15, then it's supposed to be applicable.  Most of the machines don't have Trillian installed.  From a previous support ticket, this means the version is automatically less than the one I give, and thus the patch is supposed to install.


      I've tried different applicability rules such as operating system greater than windows 2000, and it still says non-appicable for 25+ machines running Windows 7.  I'm thinking some old applicability rules might be cached somewhere.  Do you have any other ideas?

      • Re: Applicability Rules Not Working
        jbaits

        You can clear the update cache from the machine to see if it makes a difference. You will need to turn off the update service, delete C:\Windows\SoftwareDistribution, start the update service, and preform a check for updates. If the package still shows as not applicable then there is a rule preventing install. Personally I avoid static path checks since install paths can vary from machine to machine due to inconsistent manual installs, OS differences, architecture differences, or any number of other reasons. I find it better to use a "file version with registry value" rule. This takes a path in a registry value and looks for the version of a specified file in that directory. By doing this you find the true install location while still being sure the actual file is the correct version. You can usually find a value with the install path in one of the following keys.

         

        HKLM\SOFTWARE\AppName

        HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\App.exe

        HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\AppName or GUID

        • Re: Applicability Rules Not Working
          blashmet

          I chose the static path since I know none of the machines have Trillian installed. I can't really clear the cache that way unless PM has those options.  I need to do that on 25+ machines.

          • Re: Applicability Rules Not Working
            jbaits

            You can clear the cache using patch manager if you have it setup with the proper credentials. You would select the machines you need to clear the cache on and click the "Windows Update Agent Maintenance" option in the action pane on the right of the screen. This will give you several options including deleting the SoftwareDistribution folder. I was mainly suggesting you cleared the cache on a single machine as a test.

  • Re: Applicability Rules Not Working
    Andrew M

    Could you upload the XML for your rules (Prerequisite, Applicability, and Installed) so that we can get a better view of what you are testing? From the package editor, go to each of those three sections and click the View XML button. Copy the XML and paste it into a text file, then upload the file to this ticket.

    • Re: Applicability Rules Not Working
      blashmet

      These are different from the original one I tested, but I believe they should work as well (these rules are "stronger" in that the patch should be applicable if the operating system is greater than windows version 5).  All computers still say not applicable with these rules:

       

      Prerequisite:

       

      -<sdp:PrerequisiteRule SchemaVersion="1.0">
      <bar:WindowsVersion Comparison="GreaterThanOrEqualTo"MajorVersion="5"MinorVersion="0"ServicePackMajor="4"ServicePackMinor="0"/>

      </sdp:PrerequisiteRule>



      Applicability:

       

      -<sdp:ApplicabilityRule SchemaVersion="1.0">
      <bar:WindowsVersion Comparison="GreaterThanOrEqualTo"MajorVersion="5"MinorVersion="0"ServicePackMajor="4"ServicePackMinor="0"/>

      </sdp:ApplicabilityRule>


      Installed:

       

      -<sdp:InstalledRule SchemaVersion="1.0">
      <bar:FileExists Path="C:\Program Files\Trillian\trillian.exe"/>

      </sdp:InstalledRule>

      • Re: Applicability Rules Not Working
        Andrew M

        As you say, these rules should return applicable for any computers running Windows 2000 SP4 or later, though you say that these rules are different from the ones you tested. Two questions:

        1) Have you tested with these rules and what was the result?

        2) What is your "testing" method? What are you doing to cause your test workstations to evaluate the changes you have made to the rules and report the new package status?

        • Re: Applicability Rules Not Working
          blashmet

          Yes, I've tested with these rules.  All computers still say not applicable with the rules I posted above.


          To test, I approve the update for the selected group, and view the status in Patch Manager.  It starts off detecting 0 machines, then they start getting sorted into Installed, Not Applicable, etc.  They all end up in not applicable.