Upgrading Office from 2010 to 2013 using SCCM

Posted by on January 2, 2015

New year – new drive to try and keep updating my blog…

I’ve recently been exploring the challenges in our environment around upgrading from Office 2010 to Office 2013 using System Center Configuration Manager and thought it would make a good blog post.

I’m NOT going to cover creating a 2013 package/application for SCCM deployment as this has been done extensively elsewhere.

What I am going to cover is the install script for Office 2013 taking into account some of the specific environmental issues I face.

We have over 100 sites spread all over the global. The majority of these are small (<10 machines), with no onsite servers, connected via VSAT and so suffer from low bandwidth and high latency connectivity. As such, the prospect of re-copying my Office 2010 install package AND my Office 2013 package was not attractive. Especially as once all of the updates, SP1 and language packages had been included in the base install it exceeded 5Gb in size...
If I’d kept the Office 2010 package tracking the updates as well, that could potentially mean transferring in excess of 10Gb of files across a 256Kb VSAT connection with over 600ms latency… With the other application traffic on a link, that could easily take over a week to copy. Yes we have Riverbed WAN acceleration on our network, but that can only help cheat the speed of light so much.

So, the goals of the install for our environment:

  • Install Office 2013 Professional Plus with an MSP file transform to specify the desired feature install state
  • Remove all of the previous install of Office 2010 Professional Plus, if installed
  • Do not remove Access runtime 2010
  • Remove Lync 2010 Client

Yes, the Office 2013 installer can automatically remove previous version of Office applications. This appears to NOT include the Lync 2010 client, and also does not include a few components such as SharePoint Workspace. So the install must clear up all of these as it is not desirable to have multiple Lync clients installed, and we don’t want to continue support of any 2010 apps (Access Runtime excluded).

After a lot of trial and error, I ended up with a script that does the following:

  1. Kill any running Lync 2010 app & Uninstall Lync 2010

    taskkill /IM communicator.exe
    start /wait MSIEXEC /QN /NORESTART /X{81BE0B17-563B-45D4-B198-5721E6C665CD}

  2. Uninstalls Office 2010 using the setup.exe from MSOCache instead of the downloading and using the Office 2010 SCCM package

    REM Remove Office 2010 ProPlus
    SET o2010Loc=C:\MSOCache\All Users\{90140000-0011-0000-0000-0000000FF1CE}-C

    If Exist "%o2010Loc%\Setup.exe" (
    COPY CORP\SilentUninstall.xml %TMP%

    REM need the "" as a workaround for the amount of spaces in the command and args.
    start /wait "" "%o2010Loc%\Setup.exe" /uninstall ProPlus /config %TMP%\SilentUninstall.xml

    DEL /Q "%o2010Loc%\*.*"
    RMDIR /Q "%o2010Loc%"
    SET 2010Loc=

  3. Installs Office 2013 using an MSP transform. This also specifically references the Proplus.WW\config.xml file which has been updated to add the required languages we install.

    setup.exe /adminfile "CORP\BaseOffice2013.MSP" /config "ProPlus.WW\config.xml"
  4. Sets an appropriate exit code denoting a reboot is required back to the SCCM agent


    GOTO done


    REM used to be 1604, but 1641 is hard reboot - force a reboot via SCCM.
    SET ECODE=1641


    exit /B %ECODE%


So, the astute amongst my readership will note that I’ve created a folder called CORP in my 2013 package. In there, I’ve included the file BaseOffice2013.msp and also a SilentUninstall.xml file. The msp is my custom file, but the SilentUninstall.xml file specifies a few options to uninstall with no user prompting, and to not force a reboot. Handily this file can be used to uninstall both 2010 and 2013 Professional Plus.

You can download both the full install script and the xml file here:
Install Base Office.bat

Tags: , , , , ,

Comments (4)

  • I am wondering what needs to be changed for the office 2010 uninstall to copy over the silentuninstall.xml file. If I manually place it there it does work. What does your CORP refer to and can you suggest how to pull it from a server share?


  • Hi Lee,

    The CORP refers to a subdirectory in my SCCM package called CORP, which has the SilentUninstall.xml and BaseOffice2013.MSP files in it.

  • Million thanks for this post. last 3 months I searching this type of complete post. thanks again . now I can upgrade my 2000 workstation from 2010 to 2013 through sccm

  • Can you please help me as to which of the packages (2010 or 2015) I will put the (Install Base Office.bat) and the (SilentUninstall.xml) , am a little lost.

    Thank so Much

Do you have anything to say?

Powered by Wordpress and Stripes Theme Entries (RSS) | Comments (RSS)