Applications Preventing Reboot (macOS/Windows)
Description
Before the FileWave client reboots a computer, where the Fileset properties are set to reboot, a warning can be expected to 'Quit All Running Processes' with a list for the user to address.
Some processes do not respond to FileWave Clients requests to quit when "Quit all" or "Quit Application" is being used, because they are being immediately restarted by LaunchDaemon after quitting, or do not respond properly to the signals sent to them by FileWave. This can result in users being blocked from installing FileSets with the the "Reboot" Flag set.
Information
Although this warning is usual, there are instances where certain apps or processes can appear in the queue that are unexpected, for example:
As a service, this can show even though the user is not using Adobe Apps at the time.
Solution
Requirements to prevent this experience are:
- Customised Kiosk Fileset
- macOS client - Bundle ID of the App or Service to exclude
- Windows client - Name of running process
A settings file may be configured to allow for certain apps. Please see see Client Kiosk Customization, for details regarding location of the settings file: 'settings.ini'
To exclude an unexpected process from being listed and preventing the reboot, first obtain the Bundle ID or process name of the listed App or Service.
Obtain Bundle ID or Process Name
Windows
- Send any Fileset that has its Fileset Properties set to 'Requires Reboot' to the test machine
- Hover over the desired process to exclude
In this example, to exclude notepad you require: 'notepad.exe'
macOS
- Change a test device's Debug Level to 99 through the Client Monitor
- Send any Fileset that has its Fileset Properties set to 'Requires Reboot' to the test machine
- Once device prompts to quit applications, open the the FWGUI.log found in the users 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'
The 'settings.ini' file should be configured with the following format (Bundle IDs or processes being a comma separated list):
[General]
ignoredApplications=com.bar, com.foo
For the example of Windows Notepad, it should read:
[General]
ignoredApplications=notepad.exe
To avoid the newer default processes Microsoft now include, 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 the 'settings.ini' file as set out in the the Client Kiosk Customization :
macOS
/usr/local/sbin/FileWave.app/Contents/Resources/fwGUI.app/Contents/custom
Windows
C:\Program Files\FileWave\custom
(might be be "Program Files (x86)", depending on the platform)