Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Question
Wednesday, April 16, 2014 11:10 PM
So far I haven't seen a clear explanation for this action. Application evaluation (whether it's applicable/installed/etc..) already seems to occur when application policy is downloaded. What exactly is the purpose of this action and why is not advisable to run it too often?
All replies (6)
Thursday, April 17, 2014 12:09 AM âś…Answered | 1 vote
It re-evaluate all of the global conditions and it also re-detects all applications deployed to the system as required. Any applications deployed as required - install that are no longer detected are reinstalled and any applications deployed as required - uninstall that are installed are uninstalled.
Application deployments are about "intent": should application X be installed or should application Y be uninstalled. The app re-eval cycle enforces this intent on an-going periodic basis instead of just one time (which wouldn't really be useful for enforcing intent).
Global condition evaluation and application detection (along with possible app installation or uninstallation) have overhead so running this too often could affect the end user.
Jason | http://blog.configmgrftw.com
Friday, April 18, 2014 4:59 PM
Sorry, but still not clear. What does the Application Deployment Evaluation Cycle Action do that the Machine Policy Retrieval and Evaluation Cycle doesn't?
After testing, it seems like if a required application installation fails, machine policy would kick it off again, while if it installs fine, but entries in the detection method for that application were modified *afterwards*, then the application will remain in the installed state until the Application Deployment Evaluation Cycle is run which sees that the detection failed and fails the installation afterwards. Would you agree?
Friday, April 18, 2014 5:20 PM | 2 votes
Re-evaluation has nothing to do with "new" policy.
It's about re-evaluating existing application deployments and making sure that they are still enforced (either install or uninstall).
As mentioned, application deployments, like software update deployments, are about intent and the state of the targeted system(s). A required install deployment says I want app X (or update Y) on this system after the deadline. From then on, whenever the deployment re-eval runs, it makes sure that App X is actually installed. Thus, even if someone manually uninstalls app X, ConfigMgr will re-install it (or uninstall it is it was an uninstall deployment).
Machine policy evaluation never kicks off anything expect exactly what its names says, the download of machine policy from the MP. The policy itself dictates what the client should do. It's a somewhat subtle but important difference. Just to reinforce that, a machine policy will not kick off the detection of an application. Only a deadline, a user request to install an app, or the re-eval cycle will do that.
Thus, it's not really about failed deployments, it's about making sure the intent of an application *being* installed (or not installed) is enforced and letting ConfigMgr do that enforcement without us having to micro-manage that process.
Also, to answer the question wouldn't a machine policy evaluation reinitiate a failed installation, the answer is no, not at all (as mentioned above, a machine policy does not initiate any activity on the client). A re-eval will initiate a failed deployment for sure because the detection of the application will fail.
Jason | http://blog.configmgrftw.com
Friday, April 18, 2014 7:14 PM
Thanks for the clarification.
Does the Application Deployment Evaluation Cycle apply to both applications and packages deployments or only applications (since packages don't have a detection method)?
When a required package fails during installation and returns say a -1 error code, when will it reattempt to run?
Friday, April 18, 2014 7:37 PM
The Application Deployment Evaluation Cycle only applies to applications.
A package will rerun the next time it is scheduled to rerun.
My Blog: http://www.petervanderwoude.nl/
Follow me on twitter: pvanderwoude
Friday, April 18, 2014 7:51 PM | 2 votes
To expand on Peter's second statement above, packages won't automatically rerun unless they have an additional schedule. A failure (exit code) is (typically) not a condition that will cause them to rerun. Here's a whole post on this subject I did a while back: http://blog.configmgrftw.com/configmgr-and-failed-program-retry/
Jason | http://blog.configmgrftw.com