Manage Conflicting Processes when Updating Third-Party Applications

When updating third-party applications, there may be cases where you need to close an application that is currently open by an end-user. This guide will explain the option “Notify the user to close the application” within the custom right-click option Manage conflicting processes.

Topics covered in this article:

Video Walkthrough of Notify the user to close the application feature

If you prefer to watch a video guide of how this feature works, please check out the video below.

Configuration Options for Notify the user to close the application

There are a variety of options available for this feature. Below you can find detailed explanations of each option.

  • Notify Timeout Configuration
    • This option controls how long the user notification will remain open on the screen.
    • Time out after… – maximum value depends on the platform. See below for details.
      • While the user notification is displayed, the update or application install is considered to be running. The run time here would contribute to the max run time of your applications and updates, and consume time during a maintenance window, for example.
      • Platform Specific Maximums: Max runtimes account for a 15-minute buffer to allow the application to install after a notification has timed out or closed. (Note: There are newer features in ConfigMgr to default this to a higher value that Patch My PC will investigate)
        • Updates Max: 5 minutes
          • Third-party updates in ConfigMgr can have a few default values for Maximum Runtime depending on your version of ConfigMgr. We default to assuming the maximum runtime of third-party updates will be 15 minutes. Because of this, we have the maximum set to 5 minutes, allowing 10 minutes for the update to run before it would exceed the update maximum run time. See the ‘use maximum run time’ info below for a workaround to this.
        • ConfigMgr App Max: 705 minutes
          • This is the maximum configurable run time for a ConfigMgr application minus a 15-minute buffer.
        • Intune (Applications and Updates) Max: 45 minutes
          • Intune has a non-configurable run time of 60 minutes for Win32 applications. The notification max is this 60 minutes minus a 15-minute buffer.
    • Option to use ‘maximum run time’ from the respective update or app.
      • ConfigMgr Update Max: Will use configured update ‘max run time’ as configured in ConfigMgr for the update.
        • Note: Update max run time must be edited before the update is deployed for a client to recognize the change.
        • If either the maximum run time in ConfigMgr, or the Notify Timeout Configuration, is under 15 minutes, the timeout notification will default to 5 minutes. This is because a 15-minute buffer is applied. For example, a 60-minute max run time will have a 45-minute UI timeout.
      • ConfigMgr App Max: Will use the configured deployment time ‘max run time.’
      • Intune App/Update Max: Will use the maximum run time of an Intune Win32 app (60 minutes minus the 15-minute buffer).
    • Once the timeout is reached, the options defined in the ‘Defer Policy’ section described below will either increment or start the day deferral count, depending on your settings.
  • Notification behavior if the application is running and focus assist is enabled
    • This option will configure whether the notification should appear when focus assist is enabled on the machine and whether it should impact deferral counts.
      • Discard the notification
      • Always show the notification
      • Show the notification if the deferral policy is reached
  • Allow the user to defer the installation
    • Note that when a user selects to defer, the application will ‘fail’ to install.
    • This option will control whether the user can defer the installation to a later time. The following options are available when this setting is enabled:
      • Indefinitely: The user can defer the update indefinitely.
        • Keep in mind this may result in updates never being installed.
      • Up to 5 Times: The user can defer up to the specified number of times.
        • The installation will try again during the next application or update evaluation cycle, which will depend on the platform that is being used, ConfigMgr Software Updates, ConfigMgr Apps, or Intune Win32 applications.
        • This has a minimum value of 1 and a maximum value of 100.
      • First notification displayed + 5 days: The user can delay the software installation up to the specified number of days after the first notification was displayed, or the first notification would have been displayed based on focus assist settings described above.
        • The installation will try again during the next application or update evaluation cycle, which will depend on the platform that is being used, ConfigMgr Software Updates, ConfigMgr Apps, or Intune Win32 applications.
        • This has a minimum value of 1 and a maximum value of 15.
  • If the timeout expired and no action is taken…
    • There are two options for when the user does not provide any response to a conflicting process notification within the timeout period. The below event will happen if the notification is left to expire without any user interaction.
      • Defer the installation on behalf of the user (Default):
        • The notification will timeout and be closed and count towards deferral, whether that is a count-based deferral or a time-based deferral.
        • Note: With this option enabled, the software will force close when the deferral count is met, such as having the count set to 5, and the user missing 5 notifications. The application would close and update after the 5 notification timeout.
      • Close the application and perform the update:
        • The notification will timeout, the application will be force-closed, and the update for the application will begin to install.
        • Note: With this option enabled, the software will force close if someone is not present to dismiss the notification, such as being at the lock screen or otherwise not present.
  • Proceed with the installation even if the application is still running after the countdown (Auto close application):
    • This option will show a countdown matching your selected timeout setting and force close the application if the user does not choose to close and update before the timer is completed.
  • Prevent the end-user from opening an application while the application is updating
    • If the installation is running and a user attempts to start a known conflicting process, they will receive a message box letting them know the startup of the application is blocked.
    • Refer to the ‘Update in progress…‘ section for more detailed information.

Update in progress user notification

    More InformationNote: If an update is snoozed, or if the notification times out the software will return a 1618 (fast retry) exit code.

    Manage Process List

    The Mange process list option allows you to add and remove apps that need to close in order for the update to process (This applies only if you have Auto-close or Notify option enabled).

    The UI notification for Conflicting Processes now lists all processes which are conflicting in a dropdown. This is to make it more clear what software will be closed.

    Add Custom Branding for Notifications

    In the Manage default settings options, you can configure a customer banner image and company name.

    You can also preview how it will appear for an end-user by clicking Preview how it will appear.

    Patch My PC Close and Update UI Popup

    Custom Banner Images for Custom Usage

    We have various banner images available below. You can use these images to customize the experience of the popup or use your company banner.

    Download our default JPG banner image below.

    Default Notification Banner

    Download the light-theme GIF image below to show an application close and update completed.

    Patch My PC - Close Application GIF - 370x100

    Download the dark-theme GIF image below to show an application close and update completed.

    Patch My PC Close and Update UI Popup - Dark Theme

    Customize Notification

    In the Mange default settings option, you can customize the notification and add multiple languages under the Localization section.

    You can add languages by selecting Add/Remove under Localization and then fill in the fields for those unique languages and their requirements. The language that is then chosen is based on the language of the machine in question at the time of the UI prompt opening.

    More InformationNote: Keep in mind that you MUST provide content for each selected language in each possible intended state. This means cycling through the drop downs under Selected Language and Intent. Otherwise you won’t be able to select the OK button.

    More InformationNote: You can add additional blank lines when modifying text in these boxes using [Ctrl}+{Enter] 

    When to enable: Notify the user to close the application

    This option can help third-party products whose installers will fail if the application is currently running in the background by an end-user. The option to notify the user to close the application can be less impactful than the option to auto close application process before installation.

    This option is only needed for products that have issues updating while in use. The majority of products can update while in use, but may just require a reboot to fully apply.

    Below is a list of products we are aware of that will generally fail to update while in use.

    Product NameError Code or Behavior
    3Dconnexion 3DxWare 10 (EXE-x64)Leaves old entries in Add/Remove Programs
    3Dconnexion 3DxWare 10 (EXE-x86)Leaves old entries in Add/Remove Programs
    BIMvision (EXE-x86)Update hands and does not run unless all instances fo BIMVision are closed
    CopyQ (EXE-x86)Update will hang and not run unless all instances of CopyQ are closed
    CopyQ (User-x86)Update will hang and not run unless all instances of CopyQ are closed
    Dell Display Manager 10x87D00705
    Dell Display Manager 20x87D00705
    Ditto (EXE-x64)Update will hang and not run unless all instances of Ditto are closed
    Ditto (EXE-x86)Update will hang and not run unless all instances of Ditto are closed
    Everything (x64) - EXE Install0x87D0070C
    Everything (x64) - MSI Install0x87D0070C
    Everything Lite (x64) - EXE Install0x87D0070C
    Git (x64)0x80070643
    Git (x86)0x80070643
    Greenshot0x87D00705
    IrfanView (x64)Returns Exit Code 0, but application is not updated
    IrfanView (x86)Returns Exit Code 0, but application is not updated
    Lenovo Dock Manager5 or 0x80070005. Installation may partially complete.
    Microsoft Azure Information ProtectionUninstall might fail if outlook.exe is running.
    Microsoft Visual Studio Code (x64)5 or 0x80070005, also, see this known issue from the vendor.
    Microsoft Visual Studio Code (x86)5 or 0x80070005, also, see this known issue from the vendor.
    Mimecast for Outlook (x64)Update will fail if software is running.
    Mimecast for Outlook (x86)Update will fail if software is running.
    MOOS Project Viewer (EXE-x86)Update will succeed, however application will freeze and become unusable.
    Notepad++ (x64)0x87D00705, or the binaries are not updated, but the Add Remove Programs entry is.
    Notepad++ (x86)0x87D00705, or the binaries are not updated, but the Add Remove Programs entry is.
    OBS Studio (x64)Exit Code 6 - Package In Use Error. Install will fail.
    OpenLens (EXE-x64)Returns Exit Code 1, update will fail if application is open during update process.
    OpenLens (User-x64)Returns Exit Code 1, update will fail if application is open during update process.
    pgAdmin 4 (EXE-x64)Popup that will block installation from continuing
    pgAdmin 4 (User-x64)Popup that will block installation from continuing
    PingID (EXE-x86)Update will fail to install
    PSPad Editor (EXE-x64)Update will hang and not run unless all instances of PSPad are closed
    Python 3.10 (x64)Installation will complete, but executable versions may not update.
    Python 3.10 (x86)Installation will complete, but executable versions may not update.
    Python 3.11 (x64)Installation will complete, but executable versions may not update.
    Python 3.11 (x86)Installation will complete, but executable versions may not update.
    Python 3.7 (x64)Installation will complete, but executable versions may not update.
    Python 3.7 (x86)Installation will complete, but executable versions may not update.
    Python 3.8 (x64)Installation will complete, but executable versions may not update.
    Python 3.8 (x86)Installation will complete, but executable versions may not update.
    Python 3.9 (x64)Installation will complete, but executable versions may not update.
    Python 3.9 (x86)Installation will complete, but executable versions may not update.
    RationalPlan Viewer (EXE-x86)Update will succeed, however application will freeze and become unusable.
    ScreenToGif (MSI-x64)Update will fail if software is running.
    ScreenToGif (MSI-x86)Update will fail if software is running.
    Snapform Viewer (EXE-x64)Returns Exit Code 1, update will fail if application is open during update process.
    Snapform Viewer (EXE-x86)Returns Exit Code 1, update will fail if application is open during update process.
    SoapUINew version will install, but will not remove the old version.
    Viscosity1 or 0x1. If a conflicting process is running at the time of install, the users will receive a prompt to close all instances of Viscosity. This prompt cannot be suppressed.
    WinMerge (x64)0x80070005
    WinMerge (x86)0x80070005
    WinSCP5 or 0x80070005
    Wireshark (MSI-x64)0x80070005
    Wireshark (MSI-x86)0x80070005
    Wireshark (x64)0x80070005
    Wireshark (x86)0x80070005

    Update in progress…

     

    When the option is set to ‘Prevent the end-user from opening an application while the application is updating‘ we use the Image File Execution Options feature to stop the application from opening. Example usage of this can be seen below.

    Image File Execution Options debugger

    The user would expect to see a message box that says ‘An update is currently being installed on your computer. Please, do not try to start <Application Name>‘ or in some cases ‘The requested operation requires elevation’ depending on the version of PatchMyPC-Scriptrunner.exe.

    This message box would appear if the user attempts to launch the software while it is being updated. In some cases, these registry entries may be left behind if the Scriptrunner process is forcefully closed or otherwise closes unexpectedly. If this happens you may see the above messages even though no application installation or update is occurring. If this happens you can delete the registry key named after the process, such as the highlighted notepad++.exe registry key in the above image.

     

    More InformationNote: You will want to check both registry hives below depending on the architecture of the Operating System and the process which started ScriptRunner.

    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
    • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

     

    The following PowerShell code can be used to find and delete all Patch My PC created process blocking registry entries:

    Get-ChildItem “HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options” -ea SilentlyContinue | Where {if ($_.Property -contains “Debugger”){($_|Get-ItemProperty).Debugger -like “*PreventStart*”}} | Remove-Item -Force -Recurse;
    Get-ChildItem “HKLM:\SOFTWARE\Microsoft\WOW6432Node\Windows NT\CurrentVersion\Image File Execution Options” -ea SilentlyContinue | Where {if ($_.Property -contains “Debugger”){($_|Get-ItemProperty).Debugger -like “*PreventStart*”}} | Remove-Item -Force -Recurse;
    Published On February 23, 2021