SCCM is one of the best tools for deploying applications and updates on a large scale. But as good as it is, occasionally, you may still face deployment issues such as the 0X87D00324 error.
This error code, specifically, means that the application was installed, but it couldn’t be detected by the configuration manager. As for why this happens, in most cases, either the detection method or the values in use are incorrect.
Validating these will resolve this error for most users, but there are a few other solutions you can try as well. We’ve listed the steps to apply all these in the guide below.
What Causes Error 0X87D00324 During SCCM Deployment?
How to Fix Error 0X87D00324 During SCCM Deployment?
Since an incorrect detection method causes this error in most cases, validating it and ensuring all the values are correct will resolve this error most of the time. You’ll find all the necessary details regarding this in the sections below.
Validate the Detection Method
The Configuration Manager detects an application by verifying its GUID (Unique Application Identifier) from the registry. If the verification fails due to an incorrect path or wrong GUID, or any other reason, the detection fails, and error 0X87D00324 is returned. The steps to resolve these issues are listed below:
- In the ConfigMgr console, navigate to Software Library > Overview > Application Management > Applications.
- Select an application and click Deployment Types or Deployment Properties.
- Right-click the application and select Properties.
- In the MSI file properties window, switch to the Detection Method tab.
- Select the specified detection method and click on Edit or Edit Clause.
- In the Detection Rule window, select Windows Installer as the setting type.
- Verify that the listed product code is correct by checking the registry entry on the client machine. The registry path is:
32 bit:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
64 bit:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
- The list of keys in curly brackets {} are the product codes for various programs. Select one of them and check the Display Name. Repeat this until you find the program you’re trying to install.
- Once you find that, verify that the GUID matches with the product code used in the Detection Clause.
Even after the detection clause is corrected, you may still encounter this error. This is likely because ConfigMgr uses binary differential replication (BDR). Basically, it only resends new or changed content instead of sending all the source files to minimize network bandwidth usage. You can easily fix this issue by refreshing the deployment with the following steps:
- Open the Configuration Manager properties on the client computer.
- Run the Machine Policy Request and Evaluation Cycle in the Action tab.
- Once the new policy is received, the deployment will work, and the application will install without any errors.
Add Delay to Detection
Some installers can spawn a child process to perform the actual installation. If the initial process exits but the installation isn’t complete yet, ConfigMgr will try to detect the product but inevitably fail.
In cases like this, adding a simple script to add a timeout is enough to fix this issue. You can also add a sleep period after the installation process by adding Start-Sleep -seconds 60
within the PSADT installer script after the msi install commands. A 60-second delay is generally enough, but you can modify it as you prefer.
User Reported Fixes
One user reported facing the 0X87D00324 error because he only copied the GUID (product code), and not the curly brackets, as he didn’t think they were necessary. We tend not to notice small things like this, so make sure you give the product code a double check.
Another user reported that he wrote a script but couldn’t deploy it as an application. The reason why this happened was that the script was running as an account that didn’t have network access. Using a network access account and ensuring it has access to the application you’re trying to deploy will resolve the issue in such scenarios.