This section describes the Office 365 application implemented.
1.1 Observations
The current estate contains a range of Office suite and standalone products (Standard, ProPlus, Outlook, Lync, Visio, and Project) as well as a range/mix of versions on each system; from 2007- 2016.
1.2 Application Deployment
An Office 365 application has been created in English. Each application source directory is about 1.2GB in size and has been distributed to all corresponding DP’s. Note: it is possible to install multiple languages of Office 365 on a single system however, the first installation will take ownership of the UI Shell i.e. Menus, drop –downs etc.
1.3 Office 2016 Deployment Tool for Click-to-Run
The source files for Office 365 can be downloaded via the Click-To-Run URL here. This will download and extract two files (setup.exe and Configuration.xml). A download.xml and install.xml can be extrapolated from the accompanied configuration.xml; see below.
“The Office 2016 Deployment Tool allows the administrator to customize and manage Office 2016 Click-to-Run deployments. This tool will help administrators to manage installations sources, product/language combinations, and deployment configuration options for Office Click-to-Run.” http://www.microsoft.com/en-us/download/details.aspx?id=36778
1.4 Download.xml
The download.xml within the source files is kept as reference but is no longer required as part of the application deployment. A custom download.xml was created for the initial download. The Language tags (language IDs), and LCIDs available in Office 2016 can be found here
The command line to download content is: setup.exe /download download.xml
<Configuration>
<Add SourcePath="" OfficeClientEdition="32" >
<Product ID="O365ProPlusRetail">
<Language ID="en-us" />
</Product>
</Add>
</Configuration>
<Add SourcePath="" OfficeClientEdition="32" >
<Product ID="O365ProPlusRetail">
<Language ID="en-us" />
</Product>
</Add>
</Configuration>
1.5 Example.xml
The install.xml file within the source files controls the installation behaviour during the SCCM deployment i.e. language, product, logging etc. The Language tags (language IDs), and LCIDs available in Office 2016 can be found here
Microsoft 365 ProPlus
The command line to install is: setup.exe /configure Installation.xml
The command line to install is: setup.exe /configure Installation.xml
<Configuration>
<Add OfficeClientEdition="32" Channel="Current" OfficeMgmtCOM="True">
<Product ID="O365ProPlusRetail">
<Language ID="en-us" />
</Product>
</Add>
<Updates Enabled="TRUE" />
<Display Level="None" AcceptEULA="TRUE" />
<Logging Path="%Windir%\Temp\" />
<Property Name="AUTOACTIVATE" Value="1" />
</Configuration>
i.e. <Updates Enabled="TRUE" UpdatePath=”\\ServerName\Share$\ />
Microsoft Office Deployment Tool volume licensed editions of Visio 2016 and Project 2016
The command line to install is: setup.exe /configure Installation_ProjectProXVolume.xml
The command line to install is: setup.exe /configure Installation_ProjectProXVolume.xml
<Configuration>
<Add OfficeClientEdition="32" Channel="Current" OfficeMgmtCOM="True">
<Product ID="ProjectProXVolume">
<Language ID="en-us" />
</Product>
</Add>
<Updates Enabled="TRUE" />
<Display Level="none" AcceptEULA="TRUE" />
<Logging Path="%Windir%\Temp\" />
<Property Name="AUTOACTIVATE" Value="1" />
</Configuration>
The command line to install is: setup.exe /configure Installation_VisioProXVolume.xml
<Configuration>
<Add OfficeClientEdition="32" Channel="Current" OfficeMgmtCOM="True">
<Product ID="VisioProXVolume">
<Language ID="en-us" />
</Product>
</Add>
<Updates Enabled="TRUE" />
<Display Level="none" AcceptEULA="TRUE" />
<Logging Path="%Windir%\Temp\" />
<Property Name="AUTOACTIVATE" Value="1" />
</Configuration>
SourcePathindicates the installation source path from which to install Office when you run the Office Deployment Tool in configure mode. If you do not specify SourcePath in configure mode, Setup will look in the current folder for the Office source files. If the Office source files are not found in the current folder, Setup will look on Office 365 for them. SourcePath indicates the location to save the Click-to-Run installation source when you run the Office Deployment Tool in download mode.
OfficeClientEditionspecifies the edition of Click-to-Run for Office 365 product to use.
Product IDspecifies the products to install. (Check here for a complete list of Product IDs that is supported by the Office Deployment Tool for Click-to-Run)
Language IDspecifies which product languages to install. (Check here for a complete list of available Language IDs)
Updates Enabled=”TRUE” specifies that the Click-to-Run update system will check for updates.
UpdatePath specifies the path where Click-to-Run installations obtain updates. Optional. If UpdatePath is not set, Click-to-Run installations obtain updates from the Microsoft Click-to-Run source (Content Delivery Network or CDN). This is by default. If UpdatePath is set to empty (""), updates are obtained from the Microsoft Click-to-Run source, CDN.
UpdatePath can specify a network, local, or HTTP path of a Click-to-Run source. Environment variables can be used for network or local paths. If you use Group Policy with the Office 2016 or Office 2016 Administrative Template files (ADMX/ADML), you can set UpdatePath by using the Update Path policy setting. You can find this policy setting under Computer Configuration\Administrative Templates\Microsoft Office 2016 (Machine)\Updates.
OfficeMgmtCOM specifies that the client is managed and Updates are controlled from a central system; SCCM. This option effectively makes the UpdatePath option redundant.
Display Level=”None” specifies that the user sees no UI. No progress UI, completion screen, error dialog boxes, or first run automatic start UI are displayed.
AcceptEULA=”TRUE” specifies that user does not see a Microsoft Software License Terms dialog Box.
Logging Pathspecifies the path of the folder that is used for the log file. (Name is no longer a supported attribute to use for setting the name of the log file)
1.6 previous versions of Office
Office 365 installation files will not automatically remove or upgrade previous versions; it is recommended to remove previous versions prior to deploying Office 365. Microsoft have provided uninstallation VBS scripts to remove all or selective Office products i.e. Standard, ProPlus, Outlook, Visio, Project, ALL etc.
The VBS scripts have been extracted from the MSI’s; the process is it run the MSI accepting the EULA and once the FixIt tool is ready (see the screen below) asking you click Next; open Windows Explorer to navigate to: C:\Users\%USERNAME%\AppData\Local\Temp\Fixit
Click on the hyperlinks below to direct you to the site in which you can download the MSI. |
These scripts have been incorporated into the source files for Office 365 and can be called as follows:
cscript //B %~dp0Offscrub07.vbs ProPlus,Standard,Outlook /quiet /nocancel
cscript //B %~dp0Offscrub10.vbs ProPlus,Standard,Outlook /quiet /nocancel
cscript //B %~dp0OffScrub_O15msi.vbs All /quiet /nocancel
cscript //B %~dp0OffScrub_O16msi.vbs All /quiet /nocancel
1.7 Install.cmd
The Install CMD command calls a PowerShell script to provide the user with feedback during installation.
powershell -ExecutionPolicy Bypass .\AppDeploy.ps1
The AppDeploy.ps1 script is based on the “PowerShell App Deployment Toolkit” http://psappdeploytoolkit.com/
The extract below highlights some of the key sections:
1. Check to see if any of the applications are running and allow the User to defer the installation 3 times.
2. Check and record whether the device has Visio and/or Project installed
3. Remove all Previous versions of Office 2003-2016
4. Install Office 365 ProPlus and Volume Licensed Click to Run versions of Visio and/or Project if previously installed.
#*===============================================
#* PRE-INSTALLATION
If ($deploymentType -ne "uninstall") { $installPhase ="Pre-Installation"
#*===============================================
# Show Welcome Message, close Internet Explorer if required, allow up to 3 deferrals, and verify there is enough disk space to complete the install
Show-InstallationWelcome-CloseApps "iexplore,PWConsole,excel,groove,onenote,infopath,onenote,outlook,mspub,powerpnt,winword,communicator,lync"-BlockExecution -AllowDefer-CloseAppsCountdown 600 -DeferTimes 3 -CheckDiskSpace
# Check whether anything might prevent us from running the cleanup
If(($isServerOS -eq$true)) {
Write-Log"Installation of components has been skipped as one of the following options are enabled. isServerOS: $isServerOS"
}
# Display Pre-Install cleanup status
Show-InstallationProgress"Performing Pre-Install cleanup. This may take some time. Please wait..."
# Remove any previous version of Office (if required)
$officeExecutables= @("excel.exe", "groove.exe", "onenote.exe", "infopath.exe", "onenote.exe", "outlook.exe", "mspub.exe", "powerpnt.exe", "winword.exe", "winproj.exe", "Visio.exe")
If(Test-Path (Join-Path $dirOffice "Office12\Visio.exe")) {$InstallVisio=$True; Write-Log "Office12\Visio.exe was detected. To be updated."}
If(Test-Path (Join-Path $dirOffice "Office12\winproj.exe")) {$InstallProject=$True; Write-Log "Office12\winproj.exe was detected. To be updated."}
If(Test-Path (Join-Path $dirOffice "Office14\Visio.exe")) {$InstallVisio=$True; Write-Log "Office14\Visio.exe was detected. To be updated."}
If(Test-Path (Join-Path $dirOffice "Office14\winproj.exe")) {$InstallProject=$True; Write-Log "Office14\winproj.exe was detected. To be updated."}
If(Test-Path (Join-Path $dirOffice "Office15\Visio.exe")) {$InstallVisio=$True; Write-Log "Office15\Visio.exe was detected. To be updated."}
If(Test-Path (Join-Path $dirOffice "Office15\winproj.exe")) {$InstallProject=$True; Write-Log "Office15\winproj.exe was detected. To be updated."}
If(Test-Path (Join-Path $dirOffice "Office16\Visio.exe")) {$InstallVisio=$True; Write-Log "Office16\Visio.exe was detected. To be updated."}
If(Test-Path (Join-Path $dirOffice "Office16\winproj.exe")) {$InstallProject=$True; Write-Log "Office16\winproj.exe was detected. To be updated."}
ForEach($officeExecutable in $officeExecutables) {
If(Test-Path (Join-Path $dirOffice "Office12\$officeExecutable")) {
Write-Log"Microsoft Office 2007 was detected. Will be uninstalled."
Execute-Process-FilePath "CScript.Exe"-Arguments "`"$dirSupportFiles\OffScrub07.vbs`" ALL /S /Q /NoCancel"-WindowStyle Hidden -IgnoreExitCodes "1,2,3"
Break
}
}
ForEach($officeExecutable in $officeExecutables) {
If(Test-Path (Join-Path $dirOffice "Office14\$officeExecutable")) {
Write-Log"Microsoft Office 2010 was detected. Will be uninstalled."
Execute-Process-FilePath "CScript.Exe"-Arguments "`"$dirSupportFiles\OffScrub10.vbs`" ALL /S /Q /NoCancel"-WindowStyle Hidden -IgnoreExitCodes "1,2,3"
Break
}
}
ForEach($officeExecutable in $officeExecutables) {
If(Test-Path (Join-Path $dirOffice "Office15\$officeExecutable")) {
Write-Log"Microsoft Office 2013 was detected. Will be uninstalled."
Execute-Process-FilePath "CScript.Exe"-Arguments "`"$dirSupportFiles\OffScrub_O15msi.vbs`" ALL /S /Q /NoCancel"-WindowStyle Hidden -IgnoreExitCodes "1,2,3"
Break
}
}
ForEach($officeExecutable in $officeExecutables) {
If(Test-Path (Join-Path $dirOffice "Office16\$officeExecutable")) {
Write-Log"Microsoft Office 2013 was detected. Will be uninstalled."
Execute-Process-FilePath "CScript.Exe"-Arguments "`"$dirSupportFiles\OffScrub_O16msi.vbs`" ALL /S /Q /NoCancel"-WindowStyle Hidden -IgnoreExitCodes "1,2,3"
Break
}
}
#*===============================================
#* INSTALLATION
$installPhase ="Installation"
#*===============================================
# Installing Office 365 Pro Plus
Show-InstallationProgress"Installing Office 365 Pro Plus. This may take some time. Please wait..."
Execute-Process-FilePath "$dirFiles\Office365ProPlus\setup.exe" -Arguments " /configure `"$dirFiles\Office365ProPlus\Installation.xml`""-WindowStyle Hidden -IgnoreExitCodes "3010"
# Installing Office 365 volume licensed edition of Visio 2016
If($InstallVisio -eq$true) {
Show-InstallationProgress"Installing Office 365 volume licensed edition of Visio 2016. This may take some time. Please wait..."
Execute-Process-FilePath "$dirFiles\Office365ProPlus\setup.exe" -Arguments " /configure `"$dirFiles\Office365ProPlus\Installation_VisioProXVolume.xml`""-WindowStyle Hidden -IgnoreExitCodes "3010"
}
# Installing Office 365 volume licensed edition of Project 2016
If($InstallProject -eq$true) {
Show-InstallationProgress"Installing Office 365 volume licensed edition of Project 2016. This may take some time. Please wait..."
Execute-Process-FilePath "$dirFiles\Office365ProPlus\setup.exe" -Arguments " /configure `"$dirFiles\Office365ProPlus\Installation_ProjectProXVolume.xml`""-WindowStyle Hidden -IgnoreExitCodes "3010"
}
Automatic updates is a servicing model built into Office 365 ProPlus, and provides the ability to be always up to date, or “evergreen”, with security and functionality enhancements.
A default install of Office 365 ProPlus is configured to update automatically from the cloud. Separately, each month a new build of Office 365 ProPlus is released in the cloud. When a computer with Office 365 ProPlus detects that a new build is available, the difference – or delta – between the new build and the existing one is streamed down in the background. Updates are then installed when Office apps/processes aren’t running. So, with the default configuration Office 365 ProPlus, you will always be up-to-date.
Some environments may prefer to use their existing software distribution tool to manage updates for Office 365 ProPlus, and this can be facilitated using the Office Deployment Tool. IT Pros can customize the configuration by controlling if updates are managed. For example you can pass full management over to SCCM via the initial install.xml, via GPO or SCCM client policy. Office 365 ProPlus updates are provided by Windows Update and incorporated into SCCM Software updates Groups.
The way that the users in your organization receive the updates for Office depends on where you've configured Office 365 ProPlus to get updates.
· From the Internet If you've configured your users to get updates directly from the Office Content Delivery Network (CDN) on the Internet.
o If you don’t want these users to be updated automatically you can configure this either by using the Office Deployment Tool or by using Group Policy and the Update Path policy setting.
· From SCCM /WSUS This will be the obvious choice for Enterprises as patching integrates into current processes.
Office 365 Management with System Center Configuration Manager – Current Branch 1602
Assumptions: SCCM CB 1606 has been installed with the SUP site system role installed successfully.
The default behaviour of the client will check for updates every time an Office 365 application is run. Previously the administrator was unable to manage which branch the client would have installed using WSUS. Thankfully this has been addressed; in the 1602 onwards current branch of Configuration Manager it is now possible to manage Office 365 updates natively without the clients going to either the Internet or a network share as described above.
Within System Center Configuration Manager the ability to enable is very simple. Select the Classification “Updates” and the Product “Office 365 Client”. Then the next time Software updates Synchronize the current branch will be available to download and deploy as a normal Windows Update.
wsyncmgr.log extract The log will detail the selections made when it attempts to synchronize
Requested categories: Product=Office 365 Client, UpdateClassification=Updates
Office 365 Client Management
When Office 365 is initially installed it is possible to instruct the agent to use SCCM for updates. The install XML can be set as below with the line (OfficeMgmtCOM="True") instructing the management of the client.
Configuration>
<Add OfficeClientEdition="32" Channel="Current" OfficeMgmtCOM="True">
<Product ID="O365ProPlusRetail">
<Language ID="en-us" />
</Product>
</Add>
<Updates Enabled="True" />
</Configuration>
Updating Existing Clients:
To change the management and update mechanism there two options available. The necessary settings (OfficeMgmtCOM) can be changed by modifying the registry, GPO, or via Client Policy. The Office COM interface (OfficeMgmtCOM) will leverage BITS service to download updates from local distribution point.
Registry:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration]
“OfficeMgmtCOM”=”True”
“UpdatesEnabled”=”True”
GPO:
The ADMX/ADML for Office 2016 Administrative Template files include the ability to enable the “Office 365 Client Management”. Once enabled, System Center Configuration Manager can manage the Office 365 client.
The ADMX/ADML files can be downloaded here https://www.microsoft.com/en-us/download/details.aspx?id=49030 and should be copied to your central store to be accessible from any GPO editor: %logonserver%\sysvol\%Domain.local%\Policies\PolicyDefinitions
Comments
Post a Comment