The software change returned error code 0x87D00324 (-2016410844)
And the application will be marked as failed in software center.
You may get this error msg for various reasons. Basically the error msg is indicating that the installation is not successful.
Surprisingly if we check AppEnforce.log, it shows looking for exit code:0 which means the installation is successful.
So the application is installed successfully, however the software center showing the deployment as Failed with error code 0x87D00324 (-2016410844).
Now it is time to look at the specified detection rule. If we are using MSI GUID as a product detection rule, make sure that we have correct GUID in the detection clause.
Unfortunately the detection GUID clause is different than the actual installed product GUID. Hence the evaluation of product is failing so the configuration manager flagging the install as failed.
Once I corrected the GUID in detection rule updated the content. Run the machine Policy and Evaluation cycle. As soon as the machine received the new policy, the software center msg changed from Failed to Installed.
What does SCCM actually check on the client to find the existence of the Product Code being detected? The product code I am detecting matches the GUID in the registry (HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall), so that's apparently not how it checks? I would like to be able to emulate manually (preferably from the command line) what SCCM is checking.
ReplyDeleteRun this in powershell, "Get-WmiObject -class win32_product", that is the ID it will be using.
ReplyDeleteOr you can find the Product Code from the applications source. Eg. for Visio look in the source location for a folder named Visio.WW then edit the file VisioWW.xml and look for ProductCode.
ReplyDeletebtw thanks for this post, this solution worked for me :)
This worked!
ReplyDeletecool. thanks for the instructions. it works :-))
ReplyDeletechristina
this is worked good work thanks for sharing
ReplyDeleteGreat info, thanks
ReplyDeleteWhat should the detection method be if I am running an uninstall script?
ReplyDelete