Office 365 32 to 64

Hi all,

Am currently looking to standardise our Office 365 versions across all our machines, thought this would also be a good time to standardise to 64bit office on all our machines too.

I’m thinking PSADT will be perfect for this and wondering if anyone has any experience, currently we have a bit of a mix / match of office 365 version numbers and even some Office 2016 out there - my thinking for the safest way / maybe most simple way will be to simply uninstall all traces of office on machines before then installing the desired 64bit version.

My worry is how this works with Visio / Project which some users use and i know can cause issues so am wondering if i should remove them at the same time too before re-installing?

Anyone who has done anything similar and has any tips from past experience would be great to hear how it went!

All 32-bit Office apps will need to be uninstalled before installing 64-bit. I usually just include Visio and Project installations within my 365 Apps package. I find about 1-2% of devices will need the Office scrub script manual run on them. can be added to the configuration.xml file to remove MSI apps during the 365 Apps installation. Here’s a structure to get you started.


if ( Get-InstalledApplication -Wildcard "Microsoft Visio * 201*" ) { 
     $IsVisioInstalled = $TRUE
if ( Get-InstalledApplication -Wildcard "Microsoft Project * 201*" ) { 
     $IsProjectInstalled = $TRUE

$OfficeCTR = Get-InstalledApplication -Wildcard "Microsoft 365 Apps for enterprise*"
if ( $OfficeCTR.InstallLocation -eq 'C:\Program Files (x86)\Microsoft Office' ) {
    Show-InstallationProgress -StatusMessage "Uninstalling Microsoft 365 Apps..."
    Write-Log "=====> Microsoft 365 Apps for enterprise x86 detected, uninstalling..."

    Execute-Process -Path "Setup.exe" -Parameters "/configure `"$dirSupportFiles\RemoveCTR.xml`"" -WindowStyle Hidden

    if ( (Get-Process -Name "OfficeC2RClient") -or (Get-Process -Name "ose00000") -or (Get-Process -Name "setup") ) {
        Start-Sleep -Seconds 60
elseif ( $OfficeCTR.InstallLocation -eq 'C:\Program Files\Microsoft Office' ) {
    Write-Log "=====> Microsoft 365 Apps for enterprise x64 detected"


If ($IsVisioInstalled) {
    Show-InstallationProgress -StatusMessage "Installing Microsoft Visio"
    Execute-Process -Path "Setup.exe" -Parameters "/configure `"$dirSupportFiles\Visio.xml`""

    if ((Get-Process -Name "OfficeC2RClient") -or (Get-Process -Name "ose00000") -or (Get-Process -Name "setup")) {
        Start-Sleep -Seconds 60


If ($IsProjectInstalled) {
    Show-InstallationProgress -StatusMessage "Installing Microsoft Project"
    Execute-Process -Path "Setup.exe" -Parameters "/configure `"$dirSupportFiles\Project.xml`""

    if ((Get-Process -Name "OfficeC2RClient") -or (Get-Process -Name "ose00000") -or (Get-Process -Name "setup")) {
        Start-Sleep -Seconds 60


We don’t have any Office 2016 in our environment, just Office 365 ProPlus (semi annual channel). Most of our clients use 32-bit, but we have a small number using 64-Bit. Over the years I’ve seen the improvements introduced from Microsoft with the XML config. I used to script the removal of Office 365 32-bit (and Visio/Project) before installing 64-bit. I think we used to tell users to re-install Visio/Project after the upgrade too. But then Microsoft introduced MigrateArch="TRUE"

Used in the following line, Office 365 64-bit will install and deal with the 32-bit apps automatically. If Visio or Project were installed, they’d also be upgraded to 64-bit in the same process.

Add OfficeClientEdition=“64” Channel=“SemiAnnual” OfficeMgmtCOM=“TRUE” MigrateArch=“TRUE”

I don’t know off the top of my head if this works for “Office 2016”, but if it’s installed from Click-to-run (C2R) media, then perhaps it will?

Hi All, following on from this conversation.

Has anyone recently done an upgrade deployment with the PS Deployment Toolkit and MECM to upgrade using the MigrateArch=“TRUE” x86 to x64? Obviously completely uninstalling and installing vs the newer architecture upgrade probably better?

Are there actually any great use/justification cases to move to x64 other than the historical large Excel and DB performance improvements etc?

How do did you deal with making sure add-ins were active and healthy post upgrade?

Did you use the MECM dashboard to collate add-in compatibility and/or liaise with the 3rd party vendors and any in-house teams/architects?

Did you cache and pull content from MECM and/or also use Microsoft CDN’s?

Did you test have to use a rollback process from x64 to x86?

Any other challenges?

Many thanks