Issue: Distribution package detection not evaluating 64-bit hive on 64-bit devices

Version 5

    Verified Product Versions

    Endpoint Manager 9.6

    Issue

     

    If you use detection rule(s) for registry items in distribution packages to evaluate if a software is already installed or not and therefore should be installed you may notice that on 64-bit devices the detection rule is only evaluated against the 32-bit registry hive and not the 64-bit hive. In result 64-bit software cannot be successfully detected through the registry keys.

     

    Solution


    The issue is the .dlls on the client are all 32-bit .dlls. When a 32-bit .dll looks in the HKLM\Software portion of the registry, it will always look in HKLM\Software\Wow6432Node, even if the user specifies HKLM\Software. Once we create the keys in the correct portion of the registry, the reg check on the client works correctly.

     

    However we do know that while the client applications are running as 32-bit dlls, it is possible to access the x64/native registry. Information about getting around the registry redirection in 32-bit apps appears to be outlined here:

    Registry Reflection (Windows)