Skip to main content

Applications Preventing Reboot (macOS/Windows)

Description

When a Fileset requires a reboot, the FileWave client can warn the user to "Quit All Running Processes" before the restart continues.

Some apps and background processes do not respond cleanly when FileWave Kiosk uses "Quit all" or "Quit Application". A process may restart immediately through LaunchDaemon, or it may ignore the signal FileWave sends. When that happens, users can be blocked from installing Filesets that have the Requires Reboot flag set.

Information

The warning itself is expected, but some listed processes can be surprising. For example:

S8JE03rDHgojhv40-embedded-image-teimxkjz.png

A background service can appear even when the user is not actively using the related application.

Solution

Requirements to prevent this experience are:

  • Customized Kiosk Fileset
  • macOS client: bundle ID of the app or service to exclude
  • Windows client: process name to exclude

You can configure settings.ini to ignore specific apps or processes. Create a Fileset containing settings.ini, then associate it with the target clients. The destination folder depends on the operating system:

macOS
/usr/local/sbin/FileWave.app/Contents/Resources/fwGUI.app/Contents/custom
Windows (FW v15.4.2 or lower)
C:\Program Files (x86)\FileWave\custom
Windows (FW v15.5.0 or higher)
C:\Program Files\FileWave\kiosk\custom

The desktop Kiosk reads these changes after the user logs out and logs in again.

To stop an unexpected process from blocking the reboot, first identify the listed app's bundle ID on macOS or process name on Windows. 

Obtain Bundle ID or Process Name

Windows

  • Send any Fileset with Fileset Properties set to Requires Reboot to the test machine.
  • Hover over the desired process to exclude

OvnDIMUfAFkBZOQo-embedded-image-xe0alvhz.png

In this example, excluding Notepad requires notepad.exe.

macOS

  • Change a test device's Debug Level to 99 through the Client Monitor
  • Send any Fileset with Fileset Properties set to Requires Reboot to the test machine.
  • When the device prompts the user to quit applications, open FWGUI.log in the user's Application Support directory. 
~/Library/Application\ Support/FileWave/FWGUI.log

There should be lines similar to the following, for each process that has prevented the reboot:

|DEBUG|INSTALLER|[addProcessInfo] new process added /Applications/Utilities/Terminal.app pid 67345 bundleID com.apple.Terminal
|DEBUG|INSTALLER|[addProcessInfo] new process added /Applications/Preview.app pid 73400 bundleID com.apple.Preview
|DEBUG|INSTALLER|[addProcessInfo] new process added /Applications/TextEdit.app pid 73718 bundleID com.apple.TextEdit

Configure 'settings.ini'

Configure settings.ini with the following format. Use a comma-separated list for bundle IDs or process names:

[General]
ignoredApplications=com.bar, com.foo

For the example of Windows Notepad, it should read:

[General]
ignoredApplications=notepad.exe

For common Windows shell processes that can appear during reboot prompts, consider ignoring the following:

[General]
ignoredApplications=StartMenuExperienceHost.exe,SearchApp.exe,TextInputHost.exe

For the example of macOS TextEdit, it should read:

[General]
ignoredApplications=com.apple.TextEdit

Combining this with current generic settings, it may look something like:

show_top_downloads=false
window_title="My Customized Kiosk"
hide_system_tray=false

[General]
ignoredApplications=com.adobe.acc.AdobeDesktopService,com.apple.TextEdit

Deployment

Deploy settings.ini to the following locations: 

macOS

/usr/local/sbin/FileWave.app/Contents/Resources/fwGUI.app/Contents/custom

Windows (FW 15.4.2 and lower)

C:\Program Files (x86)\FileWave\custom

Windows (FW 15.5.0 and higher)

C:\Program Files\FileWave\kiosk\custom