Check for running .exe, give the User the option to postpone
It would be nice to have an integrated solution for that. I would like to have the option to add the programs ".exe" names to the application in sccm. during deployment, if the .exe is currently running, it should ask the user to close it or give the options:
- postpone deployment
- close the application and start update immediatly
if the .exe is not running, it should just go ahead and install it without asking.
and also a silent version of this: check if the .exe is currently running, if no -> go ahead and install. if it's running -> try again another time.
and yes there are some powershell solutions available for that, but it would be nice and easier to have an integrated solution
There are many comments on this feedback item. We’ve read over them many times while building this feature and feel that we’ve hit the core functionality for this request in the 1702 release and so today we are marking this feedback item as complete.
We look forward to all of your passionate commentary, and votes, on the parts of this feedback that aren’t included in the current release to help us decide where to focus our efforts next.
As always, thank you for your passionate support and feedback.
I agree with Frode F, this should definitely be an option. Just force closing an application seems a little over the top for anything that is required.
Frode F commented
There should be an option for the user to delay a required deployment if they are running an executable that needs to be closed. Either for 1 hour at a time and/or until the executables are closed. AFAIK the only option we have now is to let it fail and try again later (ex. every 24h depending on your application evaluation interval) or force close them which can be unacceptable for software like Citrix Receiver where you have no idea what the user is curently doing.
Would it be possible to also have the ability to select different styles of user notifications for prompting users that install or updated is needed? E.g. Give them a few chances to delay for x number of minutes or hours and after a limit is reached advise them that it is happening. Also, allow for varying degrees of message, eg a message box in the middle of the screen that cannot be moved. We have had to build custom scripts to do this for applications that require restarts or for applications to be closed. And also built another script for silent installs when no-one is logged on. If this logic could be built into SCCM for all applications that would be ideal. E.g. Silent installs for when no one is logged on and prompts that get more aggressive the more the user delays the update when a user is logged on. Also, if the user is logged on but has been idle for a long time. E.g. left it on overnight, force the closure of applications and saving of their data if possible and then update the application and reboot if necessary.
Technical Preview 1702 now includes this ability: https://docs.microsoft.com/en-us/sccm/core/get-started/capabilities-in-technical-preview-1702
So basically everything PsAppDeployToolkit is offering currently...
William France commented
I think this is a good start, but I think it would be better if you could associate the executable with a custom description of the application and possibly associate multiple executables with a single custom message (i.e. winword.exe, excel.exe, etc. associated with MS Office).
Not sure if I am describing this correctly, but see script excerpt below for how I handle this currently to get an idea of what I am describing:
' Check if applicable apps are running
Set oProcesses = oWMI.ExecQuery("Select * From Win32_Process")
For Each oProcess In oProcesses
Select Case UCase(oProcess.Name)
MsgBox "This application cannot be installed while Microsoft Office applications are running." & vbcrlf & vbcrlf &_
"Please close all Microsoft Office applications and then attempt the installation again.", 4112, "Error: Microsoft Office Applications Open During Application Installation"
MsgBox "This application cannot be installed while Nuance Power PDF is running." & vbcrlf & vbcrlf &_
"Please close Nuance Power PDF and then attempt the installation again.", 4112, "Error: Nuance Power PDF Open During Application Installation"
MsgBox "This application cannot be installed while Adobe Acrobat is running." & vbcrlf & vbcrlf &_
"Please close Adobe Acrobat and then attempt the installation again.", 4112, "Error: Adobe Acrobat Open During Application Installation"
Qasim Mashwani commented
This feature is incomplete if the option to force the closing of the application is not included. Also, if force-close feature is to be included it is only useful if the close-application thread kills the entire process tree runs and runs in the system context regardless of the context of the deployment.
Roth, Chase commented
Doesn't show all messages mean it will keep telling the person "new software is available" each time they login also? I don't want that and it seems to do that in my older version (2012 R2 CU3). Maybe that is not an issue with TP/CB. That is a bit off topic though...
However, I do want to the prompt to work when install is initiated by the user. If not initiated by the user it should not prompt, as in a forced install during a Required deployment.
Sascha Stumpler commented
@Jonas: I had to change the Deployment visibility option to show All Messages and Notifications from the default option to show only messages for reboots and errors to see the notification.
I just tested the feature and put notepad.exe in. But i dont see any window saying i should close notepad. Instead the app install fails and is showing an 0x... error. Is this the expected behaviour?
A window with the exact app name would be better for the end user
Please allow installations at logon and logoff.
There was already an idea for that, which was started by the team and then it was removed..why???
Sascha Stumpler commented
Works great but please display the application name instead of (or additional to) the name of the executable. Because not every user is able to identify the application by the name of the executable.
Take IE for example: https://i.imgur.com/VgZ44I5.png
Glenn Turner commented
Perhaps Microsoft could work with Oracle and fix their Java installer so that it just works, even when iexplore.exe is running. I'd chip in to help pay for that.
Ok thanks for that feature.
Let's improve it a little bit:
1. Possbility to give a more "Clear" Name for the User instead of the somewhat.exe
2. Change the State from Failed to something else like "Close Apps" in Software Center
3. Don't show a cryptic return Code if i click on Failed in Software Center, instead show again the app i should Close
4, Give the Admin the Option to close the app and give a Countdown/Message to User
Glenn Turner commented
Perhaps also prohibit new launches of that process until the install is finished.
You can just have a global condition that java.exe is not a running process.
Greg DeGuire commented
As others have said, everyone should be using or investigating the Powershell AppDeploy Toolkit but, also as others have stated, this stuff ought to be in the native product.
Leandro Anderson commented
Thanks! pls help to upgrade or update my mobile nokia lumia 928 windows 10 phone to used android app and google app into google play store with my gmail and google account. Thank you
Travis Adams commented
to expand on Roger's idea, also have the option to add a timer "this install will occur in 15 min please close app x" would be nice and have it count down.
technically speaking you could check for a process running with a customer global condition. the fall out from that would be a failed deployment but if its required it will retry again eventually. its not a perfect workaround but it is a workaround. you could also use the PowerShell application deployment toolkit.