0x87D00324 (-2016410844) application detection method failing with multiple registry clauses

Steve 401 Reputation points
2021-08-12T17:57:30.897+00:00

I'm occasionally getting 0x87D00324 (-2016410844) errors in Software Center (application always installs fine) when using two registry clauses with Or set the Connector. After a failure, clicking Retry in Software Center then shows the app is installed with no errors. The purpose of having multiple registry clauses to detect ARP info for different product codes for x86 and x64 .msi's.

Does the install iterate through all detection methods until it detects the correct one during the install with "Or" as the Connector?
It appears the detection methods are randomly being chosen without iteration and will fail until it finds the right one after clicking retry in Software Center.

If this is the case, is there a more reliable solution to avoid these detection errors outside of a custom script?

Microsoft Configuration Manager Application
Microsoft Configuration Manager Application
Microsoft Configuration Manager: An integrated solution for for managing large groups of personal computers and servers.Application: A computer program designed to carry out a specific task other than one relating to the operation of the computer itself, typically to be used by end users.
461 questions
{count} vote

Accepted answer
  1. Steve 401 Reputation points
    2021-08-13T18:01:58.977+00:00

    The registry detection issue was resolved by adding Start-Sleep -seconds 15 within the PSADT installer script after the msi install commands. I confirmed that the install iterates through all detection methods with "Or" set as the Connector for all detection methods configured until it detects the correct one. This was done by adding a half dozen incorrect registry detection entries with the correct one buried in the middle.


1 additional answer

Sort by: Most helpful
  1. AllenLiu-MSFT 41,371 Reputation points Microsoft Vendor
    2021-08-13T02:41:45.93+00:00

    Hi, @Steve
    Thank you for posting in Microsoft Q&A forum.

    The purpose of having multiple registry clauses to detect ARP info for different product codes for x86 and x64 .msi's.

    For this purpose, we may use "This registry key is associated with a 32-bit application on 64-bit systems" instead of using two registry clauses.
    122865-1.jpg

    If we check the box "This registry key is associated with a 32-bit application on 64-bit systems" in detection rule of Registry, then SCCM will first check 32-bit registry locations for the specified registry key. If the registry key isn't found, the client searches 64-bit locations. You may check it and try again to see if it help.

    Related documentation:
    https://home.memftw.com/configmgr-2012-and-32-bit-application-installers/
    https://learn.microsoft.com/en-us/mem/configmgr/apps/deploy-use/create-applications#bkmk_detect-rule


    If the response is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.