Suppressing Office 2016’s First Run dialog windows
As part of preparing to deploy Office 2016 in my own environment, I wanted to be able to suppress the various “What’s New” dialog windows which are displayed on Office 2016 applications’ first launch to market the applications’ features.
Using the Microsoft Volume License installer to install Office 2016 (or using the volume license serializer package to install the volume license) will include automatic functionality to stop the version-specific “What’s New” dialog windows from appearing. However, I also needed to be able to suppress the initial “What’s New” dialog windows that appear the first launch of Office applications.
In order to suppress the initial “What’s New” dialog windows, certain settings need to be applied to the following files:
- /Library/Preferences/com.microsoft.Outlook.plist
- /Library/Preferences/com.microsoft.PowerPoint.plist
- /Library/Preferences/com.microsoft.Excel.plist
- /Library/Preferences/com.microsoft.Word.plist
- /Library/Preferences/com.microsoft.onenote.mac.plist
Setting: kSubUIAppCompletedFirstRunSetup1507 – boolean value (true / false)
Function: Suppresses the “What’s New” dialog for Office 2016 applications’ first launch.
Applied to the following files:
/Library/Preferences/com.microsoft.Outlook.plist
/Library/Preferences/com.microsoft.PowerPoint.plist
/Library/Preferences/com.microsoft.Excel.plist
/Library/Preferences/com.microsoft.Word.plist
/Library/Preferences/com.microsoft.onenote.mac.plist
Setting: FirstRunExperienceCompletedO15 – boolean value (true / false)
Function: Suppresses additional “What’s New” dialog for Outlook and OneNote.
Applied to the following files:
/Library/Preferences/com.microsoft.Outlook.plist
/Library/Preferences/com.microsoft.onenote.mac.plist
Note: That is a capital letter O in O15, not zero15.
Setting: SendAllTelemetryEnabled – boolean value (true / false)
Function: Suppresses the offer to send crash reports to Microsoft.
Applied to the following files:
/Library/Preferences/com.microsoft.Outlook.plist
/Library/Preferences/com.microsoft.PowerPoint.plist
/Library/Preferences/com.microsoft.Excel.plist
/Library/Preferences/com.microsoft.Word.plist
/Library/Preferences/com.microsoft.onenote.mac.plist
To automate the deployment of these settings, I’ve developed a script. For more details, see below the jump.
This script is designed to check for individual Office 2016 applications. If an Office 2016 application is found on the Mac in question, the specific settings to suppress the “What’s New” dialog for that application are applied.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Office 2016 for Mac presents "first run" dialogs to the user to market some of its new features. | |
# This script will suppress these "first run" dialogs using the following settings: | |
# | |
# Setting: kSubUIAppCompletedFirstRunSetup1507 – boolean value (true / false) | |
# Function: Suppresses the "What’s New" dialog for Office 2016 applications' first launch | |
# | |
# Setting: FirstRunExperienceCompletedO15 – boolean value (true / false) | |
# Function: Suppresses additional "What’s New" dialog for Outlook and OneNote. | |
# Note: That is a capital letter O in "O15", not zero15. | |
# | |
# Setting: SendAllTelemetryEnabled – boolean value (true / false) | |
# Function: Suppresses the offer to send crash reports to Microsoft | |
# | |
# Source for settings: | |
# http://macops.ca/disabling-first-run-dialogs-in-office-2016-for-mac/ | |
# Set whether you want to send diagnostic info back to Microsoft. If you want to | |
# offer the choice of sending diagonostic data back to Microsoft, set the following | |
# value for the submit_diagnostic_data_to_microsoft variable: | |
# | |
# submit_diagnostic_data_to_microsoft=true | |
# | |
# By default, the values in this script are set to send no diagnostic data to Microsoft: | |
submit_diagnostic_data_to_microsoft=false | |
DisableOffice2016FirstRun(){ | |
# This function will disable the first run dialog windows for all Office 2016 apps. | |
# It will also set the desired diagnostic info settings for Office application. | |
/usr/bin/defaults write /Library/Preferences/com.microsoft."$app" kSubUIAppCompletedFirstRunSetup1507 -bool true | |
/usr/bin/defaults write /Library/Preferences/com.microsoft."$app" SendAllTelemetryEnabled -bool "$submit_diagnostic_data_to_microsoft" | |
# Outlook and OneNote require one additional first run setting to be disabled | |
if [[ $app == "Outlook" ]] || [[ $app == "onenote.mac" ]]; then | |
/usr/bin/defaults write /Library/Preferences/com.microsoft."$app" FirstRunExperienceCompletedO15 -bool true | |
fi | |
} | |
# Run the DisableOffice2016FirstRun function for each detected Office 2016 | |
# application to disable the first run dialogs for that Office 2016 application. | |
if [[ -e "/Applications/Microsoft Excel.app" ]]; then | |
app=Excel | |
DisableOffice2016FirstRun | |
fi | |
if [[ -e "/Applications/Microsoft OneNote.app" ]]; then | |
app=onenote.mac | |
DisableOffice2016FirstRun | |
fi | |
if [[ -e "/Applications/Microsoft Outlook.app" ]]; then | |
app=Outlook | |
DisableOffice2016FirstRun | |
fi | |
if [[ -e "/Applications/Microsoft PowerPoint.app" ]]; then | |
app=Powerpoint | |
DisableOffice2016FirstRun | |
fi | |
if [[ -e "/Applications/Microsoft Word.app" ]]; then | |
app=Word | |
DisableOffice2016FirstRun | |
fi |
The script and an associated payload-free package are available on Github at the following address:
any idea how to suppress office 2016’s template dialog windows (word. excel, power point) ?
I would really like to use this script. However, it seems that these .plist files don’t exist in the non volume-licensed Office 365 version of 2016. Or, at least they don’t exist in the last few current versions, since about 15.18 or so. I wonder if this is a fundamental difference between the volume licensed version and the Office 365 activated version.
Would you have any insight into how I can do what you outline in this article, given the limitations I’ve outlined?
I really like this script (Thanks Rich)
I noticed with the arrival of 15.21 VL Installer and 15.22 Suite the extra Outlook/OneNote section no longer works for OneNote.
Poking around the Container OneNote plist I noticed the format to stop the What’s New prompts is now a plist array.
I added this to the end of the above script and have tested it over the last few days.
# Disable OneNote What’s New in Office 2016 v15.22 which is not disabled by the above script
# All commands apear to be required to suppress OneNote What’s New message
# Remember to check the array integers as the sequence and numbers appear to change with each OneNote since around 15.18 release
# Also the first command deletes the FirstRunExperienceCompletedO15 key created by the above script as it is not needed and I didn’t want to break the script.
/usr/bin/defaults delete /Library/Preferences/com.microsoft.onenote.mac FirstRunExperienceCompletedO15
sleep 5
/usr/bin/defaults write /Library/Preferences/com.microsoft.onenote.mac ONWhatsNewShownItemIds -array
sleep 5
/usr/bin/defaults write /Library/Preferences/com.microsoft.onenote.mac ONWhatsNewShownItemIds -array-add -int 5
sleep 5
/usr/bin/defaults write /Library/Preferences/com.microsoft.onenote.mac ONWhatsNewShownItemIds -array-add -int 10
sleep 5
/usr/bin/defaults write /Library/Preferences/com.microsoft.onenote.mac ONWhatsNewShownItemIds -array-add -int 1
sleep 5
/usr/bin/defaults write /Library/Preferences/com.microsoft.onenote.mac ONWhatsNewShownItemIds -array-add -int 11
sleep 5
/usr/bin/defaults write /Library/Preferences/com.microsoft.onenote.mac ONWhatsNewShownItemIds -array-add -int 4
sleep 5
/usr/bin/defaults write /Library/Preferences/com.microsoft.onenote.mac ONWhatsNewShownItemIds -array-add -int 9
sleep 5
/usr/bin/defaults write /Library/Preferences/com.microsoft.onenote.mac ONWhatsNewShownItemIds -array-add -int 2
sleep 5
/usr/bin/defaults write /Library/Preferences/com.microsoft.onenote.mac ONWhatsNewShownItemIds -array-add -int 7
sleep 5
it works for me, so here it is for peer review and I hope others find it useful?
I’m not a big scripter so If someone can wrap it up in a well written script as Rich has here, then thank you.
You can rewrite that for one line 🙂
defaults write com.microsoft.onenote.mac ONWhatsNewShownItemIds -array-add -int 5 -int 10 -int 1 -int 11 -int 4 -int 9 -int 2 -int 7
Just downloaded 15.24.0 OneNote Update and using your guidance used these 2 lines below in a post install script in munki…..
/usr/bin/defaults write /Library/Preferences/com.microsoft.onenote.mac ONWhatsNewShownItemIds -array
/usr/bin/defaults write /Library/Preferences/com.microsoft.onenote.mac ONWhatsNewShownItemIds -array-add -int 10 -int 1 -int 11 -int 13 -int 4 -int 9 -int 14 -int 2 -int 7 -int 12
Works great, many thanks.
Does this work for Office365 Installs
Extraordinarily user friendly. Nice work, Microsoft. Outstanding!
*** ouch ***
My desk keeps smacking my head.
Still new at deploying scripts/plists. We use Lanrev for deployment here, and trying to wrap my head around how to deploy this as a config profile. Any help would be awesome!
Does this work for office 2019 for mac?