Office 2011 Settings

From AFP548 Wiki
Jump to: navigation, search

First-Launch User Experience Settings[edit]

Note: These directions only apply to the Volume Licensed version of Office 2011. Also, if you have MCX, use WGM to manage the files listed rather then placing them on the image.

In order to configure Office 2011 and not have it run the setup assistant, some settings must be put into place on your InstaDMG image.

These settings include:

~/Library/Preferences/com.microsoft.autoupdate2.plist
~/Library/Preferences/com.microsoft.error_reporting.plist
~/Library/Preferences/com.microsoft.office.plist
~/Library/Preferences/com.microsoft.office.setupassistant.plist Note: This file is probably not required.

The easiest way to configure these settings is to install Office 2011 on a machine, run the setup assistant on a clean account and then grab these files after it is completely configured. The only problem with this approach is that they will have unnecessary information in them. You can use the following and it should work.


~/Library/Preferences/com.microsoft.autoupdate2.plist
This lists all the applications that autoupdate will update and also if autoupdate is set to manual or automatic. This is set to manual.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Applications</key>
	<dict>
		<key>/Applications/Microsoft Office 2011/Microsoft Excel.app</key>
		<dict>
			<key>Application ID</key>
			<string>MSOf14</string>
			<key>LCID</key>
			<integer>1033</integer>
		</dict>
		<key>/Applications/Microsoft Office 2011/Microsoft Outlook.app</key>
		<dict>
			<key>Application ID</key>
			<string>MSOf14</string>
			<key>LCID</key>
			<integer>1033</integer>
		</dict>
		<key>/Applications/Microsoft Office 2011/Microsoft PowerPoint.app</key>
		<dict>
			<key>Application ID</key>
			<string>MSOf14</string>
			<key>LCID</key>
			<integer>1033</integer>
		</dict>
		<key>/Applications/Microsoft Office 2011/Microsoft Word.app</key>
		<dict>
			<key>Application ID</key>
			<string>MSOf14</string>
			<key>LCID</key>
			<integer>1033</integer>
		</dict>
		<key>/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app</key>
		<dict>
			<key>Application ID</key>
			<string>MSau02</string>
			<key>LCID</key>
			<integer>1033</integer>
		</dict>
		<key>/Library/Application Support/Microsoft/MERP2.0/Microsoft Error Reporting.app</key>
		<dict>
			<key>Application ID</key>
			<string>Merp2</string>
			<key>LCID</key>
			<integer>1033</integer>
		</dict>
	</dict>
	<key>HowToCheck</key>
	<string>Manual</string>
	<key>LastUpdate</key>
	<date>2001-01-01T00:00:00Z</date>
</dict>
</plist>

~/Library/Preferences/com.microsoft.error_reporting.plist
This disables error reporting and the customer experience program.

 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SQMReportsEnabled</key>
	<false/>
	<key>ShipAssertEnabled</key>
	<false/>
</dict>
</plist>

~/Library/Preferences/com.microsoft.office.plist
This sets the User Initials to DUN and User Name to Default User Name for all users. I normally set this to an institutional standard such as Information Services or something of that sort.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>14\FirstRun\SetupComplete</key>
	<integer>1</integer>
	<key>14\UserInfo\UserInitials</key>
	<string>DUN</string>
	<key>14\UserInfo\UserName</key>
	<string>Default User Name</string>
</dict>
</plist>


~/Library/Preferences/com.microsoft.office.setupassistant.plist Note: This file is probably not required.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>PMPrintingExpandedStateForPrint</key>
	<true/>
</dict>
</plist>


After you have the settings you need and they are configured as desired, you need to deliver them to your computers. You can do this by making a package that installs them to the InstaDMG image or you could even manage them using MCX with Open Directory. This is all you need to do in order to get it to not prompt users with the setup assistant.

If you want to get a little fancy, you could also customize it upon login by a user. Here is an example of what you would do in order to customize it per user.

  • Make a package to deliver the settings referenced above. All the ~/Library/Preferences stuff needs to go to the User Template (/System/Library/User Template/English.lproj/Library/Preferences).
  • The last part is to customize the First/Last name that shows up for each user. To do that we will use a first run only login script for each user.
  • Deliver a launchd item to the User Template location '/System/Library/User Template/English.lproj/Library/LaunchAgents/com.company.personalizeoffice.plist'
  • Make the content of that file as foillows:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Label</key>
	<string>com.company.personalizeoffice</string>
	<key>ProgramArguments</key>
	<array>
		<string>/Library/Scripts/company/personalizeoffice.sh</string>
	</array>
	<key>QueueDirectories</key>
	<array/>
	<key>RunAtLoad</key>
	<true/>
	<key>WatchPaths</key>
	<array/>
</dict>
</plist>


  • Then we need the script itself. I use Active Directory for logging in, so the FirstName and LastName are set by whatever info is in AD. You will most likely need to tweak this script to work in your environment. The script goes in /Library/Scripts/company/personalizeoffice.sh and it has the following contents:
#!/bin/bash
username=$(whoami)
firstname=$(dscl /Active\ Directory/All\ Domains/ -read /Users/$username FirstName | awk ' NR=1 {print $2}')
lastname=$(dscl /Active\ Directory/All\ Domains/ -read /Users/$username LastName | awk ' NR=1 {print $2}')
 
/usr/libexec/PlistBuddy -c "Set :14\\\UserInfo\\\UserName '$firstname $lastname'" ~/Library/Preferences/com.microsoft.office.plist
/usr/libexec/PlistBuddy -c "Set :14\\\UserInfo\\\UserOrganization 'Companyname'" ~/Library/Preferences/com.microsoft.office.plist
 
rm ~/Library/LaunchAgents/com.company.personalizeoffice.plist

The script will pull the AD FirstName and LastName fields using dscl, then store them in 2 variables. Then, using PlistBuddy we set the first and last name in the Office Settings file for the user. Then set up the field Companyname. Finally, the script deletes the LaunchAgent so that it does not run again.

Thats about it! So long as you have all those settings files in place via either a Package in InstaDMG or via MCX, you should be set. Office will open without any first run screens or bugging of any sort.


Default Save Settings[edit]

Using the guide posted here I was able to manage default save settings 'once'(so customers could override that default if they deemed it necessary). As in the guide on Mr. Neagle's blog, the keys in question are:

  • com.microsoft.Excel
<key>14\Default Save\Default Format</key>
<string>57</string>
  • com.microsoft.Powerpoint
<key>14\Default Save\Default Save\Default Format</key>
<string>Microsoft PowerPoint 98 Presentation</string>
  • com.microsoft.Word
<key>14\Default Save\Default Format</key>
<string>Doc97</string>

Even if old 2008 managed preferences are still being applied to the user(or group, or computer) these settings can be applied without harm.