I combined several resources to create our Office 2016 for Mac installer. The steps below outline the process that I followed. The resources I used include the following:
Things you will need:
* The scripts from the above sites
* A copy of the volume serializer package from the Microsoft Volume Licensing website (Microsoft_Office_2016_VL_Serializer.pkg). This is found inside of the Office 2016 for Mac download.
* The Packages app for creating a combing package. http://s.sudre.free.fr/Software/Packages/about.html
* The post_install script for the package (https://github.com/csteelatgburg/scripts/blob/master/MacOS/Office%202016%20post_install)
* A customized package from the Outlook Exchange setup site above (not covered in this document)
The basic process is as follows:
1. Create a package that installs Office 2016
2. Combine the Office 2016 package with the Outlook Configuration package and the script to update dock items.
3. Place the combined package in a disk image
4. Create the software title on the K1000
5. Create the managed install on the K1000
Creating the Office 2016 Package
1. Create a folder on your computer to create the package. I recommend something like /temp/Office2016
2. In the folder create a folder titled volume_license
3. Place the Microsoft_Office_2016_VL_Serializer.pkg file in the volume_license folder.
4. Open Terminal and change to the folder you created in step 1.
5. Run the Office2016PkgBuilder.sh script. The script will download the required files and create a folder called result.
6. Open the result folder and mount the disk image found there.
7. Copy the Office installer package to the folder you created in Step 1.
Combining the Office Package with the other components
1. Open the Packages app.
2. Create a new package. I recommend saving it in the same folder that you created above in step 1. I named my package Office2016Deployment.
3. On the Settings tab change the identifier to match your organization.
4. Set the version to the Office version that was created by the script above.
5. On the Scripts tab add the following files to the Additional Resources pane
b. The Office 2016 package you built above
c. The Outlook Auto configuration package. If you built a new Outlook Auto Configuration package change the name to OutlookAutoConfig.pkg before adding it to the resources.
6. Set the Post-installation script to the post_install script supplied. The post install script performs the following actions:
a. Installs Office 2012
b. Installs the Outlook configuration package
c. Updates the dock for all users
d. Removes Office 2011
7. Save the package
8. Build the package (click Build, Build).
Place the package in a disk image
1. In Terminal change to the directory you created above
2. Packages should have placed the output of the combined installer in a folder named build. Verify that it is there.
3. Use the following command to create a disk image with the package: hdiutil create –format UDZO –srcfolder build/Office2016Deployment.pkg Office2016.<version>.dmg Where <version> is the version number of Office, e.g. Office2016.15.21.1.dmg If you named your package something other than Office2016Deployment then change the srcfolder option accordingly.
Create the Software Title on the K1000
Unfortunately the K1000 doesn't detect the Microsoft Office Suite for Mac as an installed application because there isn't one .app that is Office. We will create a custom software title that detects the version of Word instead:
1. In the K1000 interface click Software
2. Click Choose Action, New
3. Enter Microsoft Office 2016 for Mac Standard for the name
4. Enter the version number
5. Select the supported operating systems
6. Enter the following for the custom inventory rule: PlistValueEquals(/Applications/Microsoft Word.app/Contents/Info.plist, CFBundleVersion, NUMBER, 15.19.1) Use the correct version number for the package you created.
7. Associate the disk image you created earlier.
8. Save the software title.
Create the Managed Install on the K1000
When KACE sees a disk image as part of a managed install it will mount the image and install and packages contained on the drive. Because we uploaded a disk image to the software title that means we can leave the defaults for the managed install in place.
1. In the K1000 interface click Distribution
2. Click Choose Action, New
3. Select the Office title that you just created from the Software dropdown menu.
4. Enter Office 2016 for Mac – Removes 2011 or something similar for the name.
5. Set the Execution menu to "With user logged off"
6. Select a test device in the Devices section
7. Click Save
Edit: 2017/11/03 - removed space from -srcfolder argument in hdiutil command.
Sum : 100229316154
Maximum : 1033927956
Minimum : 0
Property : length
ROUND(DISK_SIZE, 0) as "Total Disk Available",
ROUND(DISK_USED, 0) as "Total Disk Used",
WHEN MACHINE.OS_NAME like 'Mac%' and MACUS.STR_FIELD_VALUE like "%G%" THEN substring_index(MACUS.STR_FIELD_VALUE, "G", 1)
WHEN MACHINE.OS_NAME like 'Mac%' and MACUS.STR_FIELD_VALUE like "%M%" THEN round(substring_index(MACUS.STR_FIELD_VALUE, "M", 1)/1000,2)
WHEN MACHINE.OS_NAME like 'Mic%' THEN round(substring_index(substring(WINUS.STR_FIELD_VALUE, LOCATE("Sum : ", WINUS.STR_FIELD_VALUE)+ 11), "<br/>", 1)/1000000000, 0)
END as `User Folder Size (G)`
LEFT JOIN MACHINE_DISKS D on MACHINE.ID = D.ID
LEFT JOIN MACHINE_CUSTOM_INVENTORY WINUS on MACHINE.ID = WINUS.ID and WINUS.SOFTWARE_ID = 85480
LEFT JOIN MACHINE_CUSTOM_INVENTORY MACUS on MACHINE.ID = MACUS.ID AND MACUS.SOFTWARE_ID = 85481
GROUP BY MACHINE.NAME
HAVING `User Folder Size (G)` > 0
ORDER BY MACHINE.NAME
SELECT ID, DISPLAY_NAME, FILE_SIZE,
( SELECT COUNT(MI.ID) FROM MI WHERE MI.SOFTWARE_ID = SOFTWARE.ID) as MICOUNT
WHERE SOFTWARE.FILE_SIZE > 0
HAVING MICOUNT = 0
ORDER BY DISPLAY_NAME
- In the admin console browse to Inventory, Software
- Click Smart Label under the search box
- For the search criteria choose File Size > 0
- Create a name for the label, I called mine File Cleanup
- Click Save
- Once the label is created click on the link in the notification to view smart labels or browse to Home, Label Management, Smart Labels
- Find the label that you just created
- Replace the SQL with the following:
SELECT DISPLAY_NAME, PUBLISHER, SOFTWARE.ID as TOPIC_ID, (SELECT COUNT(MI.ID) FROM MI WHERE MI.SOFTWARE_ID = SOFTWARE.ID) as MICOUNT FROM SOFTWARE WHERE ((FILE_SIZE > '0'))HAVING MICOUNT = 0
- Save the label