This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

Applicability Rules Not Working

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 emoticons_happy.png

  • 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

  • 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.

  • 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.

  • 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?

  • 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.

  • 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

  • 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>

  • 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.

  • 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.

  • 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?