Office 365 upgrade from Office 2007, 2010, 2013, 2016
Scenario: Estate contains Office Professional Plus and Standard installations of 2007, 2010, 2013 and 2016. All version of Office suites must be removed leaving Visio and Project installation alone (i.e. 2007,2010, 2013, and 2016).
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.1 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.2
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
<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>
SourcePath
indicates 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.
OfficeClientEdition
specifies the edition of Click-to-Run for Office 365 product to use.
Product ID
specifies 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 ID
specifies 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 Path
specifies 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.3 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.4
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
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
Download Script here
Comments
Post a Comment