Enhance Install Behavior for detecting open applications
SCCM 1702 introduced the Install Behavior tab for deployment types which lets you specify executables for the application to monitor during deployment. Currently, if the deployment is "Available" or "Available but before the deadline" then the install fails and users receive a pop-up indicating which executables need to be closed prior to your application running.
1. Modify the feature so that the pop-up appears before the application install fails. If the user clicks "OK" then the application will perform the check again. If the executables are still open then the pop-up appears again. The pop-up will continue to appear until the user successfully closes the executables. Then the application install will continue. If no action is taken then the install will fail after the maximum allowed run time. This is similar behavior to the PowerShell App Deploy Toolkit.
2. Modify the feature to work even if a required deployment has hit the deadline. If the required deployment is past the deadline then the pop-up should appear until the monitored executables are closed. Again, if no action is taken then the install will fail after the maximum allowed run time.
3. Allow the same behavior to occur for both Install and Uninstall deployments.
The changes described above would allow for required deployments to exceed the deadline and always prompt a user to close applications before an install/uninstall occurs. It would also reduce confusion caused by failure messages presented before the pop-up explaining which executables need to be closed.
James Sweeney commented
Agree - Install Behavior should be extended to AppV application deployment types. Likewise, User Experience tab available for MSI/Script Installer deployment types should be extended to AppV deployment types. In particular, I'd like to be able to set Logon requirements for AppV deployment types.
I made some test and I am surprised by the result (in a bad way).
1- In case of uninstallation, the processes are not checked.
2- In case of installation (deadline not reached and "Automatically close any running executables" is check), a notification appears to inform the user that he must close a list of applications then if the user click on OK, the processes are not closed automatically and the program falls in failed.
For me, the user validation should closed the processes.
3- In case of installation as required (deadline is reached and "Automatically close any running executables" is check), user receives a notification but it's to late, the processes have been closed without any counter...
For me, the user must receive a notification with a counter. If the user click on OK, the processes are closed automatically or if the counter is reached, the processes are also closed automatically.
The counter must be configurable in the SCCM client settings.
App-v applications should have the install behavior too!
I like all the recommendations and fully agree with them BUT I'd like these features for 'All Deployment types' especially APP-V ones !
Russell Johnson commented
All instances of the executable need to be killed, too, such as chrome.exe which exists multiple times. When the deadline is reached, the executable(s) should be forced to close. It is a deadline, after all.
Ron M commented
I also would like to see the install behavior to grant the user the option to force the applications closed now and retry, or retry letting users manually close the conflicting applications, or cancel failing the install.
José Manuel Pérez Bethencourt commented
Also, for application supersedence, I have observed that running processes are only examined during install, not uninstall. That leads to the superseded app being uninstalled unconditionally, and install of the new app could be blocked by an process. It's inconsistent and troublesome behaviour.
Matthew DeBoer commented
I'd also like to see the following scenario:
- I add an executable to the "Install behavior" screen
- I deploy the application as required, but without checking the force close executable checkbox
- I expect the application to wait for the application to close before the install executes, however what happens is the application enforcement fails and it is not retried until the next application evaluation cycle.
What I would like to see in this scenario is the application wait for the executable to close before the application enforcement begins (because I am not force closing the executable). In other words, treat it the same as the user experience logon requirement (Install only when no user is logged on). Simply wait until the executable is closed.
In the case of force closing executables with available deployments, Adam's suggestion makes most sense.
It would be nice if the name of the application was clearly displayed to the user, right now you have to click on More information.
Mike Murray commented
I would add that if an application is required and is set to force close an application when the deadline is reached, if the user clicks Install prior to the deadline, the monitored application should be force closed. The message already states that when the deadline is reached some applications will be closed automatically. As it is now, clicking the install button early causes a failure if the user doesn't manually close the monitored application