One identified issue is that some EXE based installers (and many EXE based uninstallers) spawn additional processes to perform installation tasks and then exit before these sub-processes finish. ConfigMgr has no way to know that this is happening and can
only tell when the main EXE exits. Thus, these sub-processes may still be performing installation tasks when ConfigMgr thinks the installation is done and the criteria for installation you've defined may not actually be there yet but by the time you go and
manually check, it's there.
At this time, the only solution (if this is indeed what is happening), is to wrap your EXE installation in a script that pauses for some arbitrary amount of time, like 5 seconds, after the exe executes to give these sub-processes time to complete.
Jason | http://blog.configmgrftw.com