Перед установкой новой версии Microsoft Office на компьютере, рекомендуется удалить все предыдущие версии Office (одновременное использование разных версий Office на одном компьютере поддерживается, но не рекомендуется из-за потенциальных проблем). В этой статье мы рассмотрим несколько скриптов и утилит для автоматического удаления любых ранее установленных на компьютере версий Microsoft Office. Вы можете использовать данные скрипты в сценариях автоматической установки или удаления Office на компьютерах пользователей через SCCM, Intune, GPO, или другие средства развертывания.
Автоматическое удаление Office с помощью утилиты Microsoft SaRa
Microsoft Support and Recovery Assistant ( Microsoft SaRA , https://aka.ms/SaRA-FirstScreen ) это утилита для диагностики и исправления ошибок Microsoft Office (включая Office 365, Microsoft 365, Outlook, Teams и т.д.). Microsoft SaRa предоставляет пользователям простой графический мастер для исправления типовых ошибок программ из пакета Office, установки, проверки активации и полного удаления MS Office. Утилиты MSFT SaRa вполне можно использовать для удаления Office на одном компьютере.
Кроме графической версии SaRa, доступна еще и консольная утилита SaRA _CommandLine , которую можно использовать для удаления пакета Office из командной строки. Соотвественно, вы можете исопльзовать ее в ваших сценариях автоматизации и скриптах. Поддерживаются все версии Windows, начиная с Windows 7 (с установленными .Net Framework 4.5) и заканчивая Windows 10 и 11.
Рассмотрим, как использовать SaRACmd для удаления любой версии Office:
- Скачайте последнею доступную версию SaRACmd https://aka.ms/SaRA_CommandLineVersionFiles (17.00.8256.000);
- Распакуйте архив в папку на диске;
- Запустите командную строку с правами администратора и перейдите в каталог с SaRACmd:
CD C:ToolsSaRACmd
- Для удаления всех версий Office, которые установлены на компьютере, выполните команду:
SaRAcmd.exe -S OfficeScrubScenario –AcceptEula -Officeversion All
- Если нужно удалить конкретную версию MS Office (например, только MS Office 2016), используйте такую команду:
SaRAcmd.exe -S OfficeScrubScenario -AcceptEula -Officeversion 2016
- Утилита SaRAcmd после окончания работы возвращает код ошибки. Например, если удаление выполнение успешно появится сообщение:
00: Successfully completed this scenario. We recommend you restart the computer to finish any remaining cleanup tasks. Scenario finished with exit code: [0].
Можно указать путь к каталогу, в который SaRAcmd должна записывать логи:-LogFolder <Output Path>
.
Например, на моем компьютере утилита вернула ошибку:
06: Office programs are running. Please close all open Office programs and then re-run this scenario. Scenario finished with exit code: [6].
В моем случае удалению помешал установленный клиент MS Teams настроенный на автозапуск (возможно такая же проблема с MS Teams Chat, встроенный по умолчанию в Windows 11 ).
Поэтому перед запуском команды удаления нужно завершить все запущенные процессы Office. Можно завершить процессы с помощью PowerShell командлета Stop-Process :
Stop-Process -Name winword.exe -Confirm
Stop-Process -Name excel.exe -Confirm
И т.д.
Или с помощью taskkill:
taskkill /f /im excel.exe
taskkill /f /im teams.exe
...
Обратите внимание, что “под капотом” SaRAcmd выполняется скрипт OffScrubC 2R .vbs для удаления продуктов Office Click To Run (C2R). Это видно в диспетчере задач по процессу cscript.exe, который выполняет файл OffScrubC2R.vbs из %UserProfile%AppDataLocalTemp
.
Удаление MSI версий Office с помощью Office Deployment Tool
Если вы используете Microsoft Office Deployment Tool (ODT) для установки C2R версий Office 2019, 2021 или Microsoft 365 Apps на компьютерах компании, вы можете прямо во время установки удалить предыдущие MSI версии Office. Для этого в конфигурационный файл configuration.xml нужно добавить параметр RemoveMSI
.
Пример конфигурационного файла:
<Configuration>_x000D_ <Add OfficeClientEdition="64" Channel="Current" >_x000D_ <Product ID="O365ProPlusRetail">_x000D_ <Language ID="en-us" />_x000D_ </Product>_x000D_ </Add>_x000D_ <RemoveMSI />_x000D_</Configuration>
Параметр RemoveMSI удалит все версии MS Office (2007, 2010, 2013, 2016), а также Office, Visio, Project, которые установлены с помощью Windows Installer (MSI).
OffScrub: VBS скрипты для удаления MS Offce OffScrub
Скрипты OffScrub представляют собой VBS сценарии для автоматизации удаления продуктов Microsoft Office. Данные скрипты позволяют полностью очистить систему от следов ранее установленного Office, в независимости от его текущий работоспособности. Данные скрипты широко используются сотрудниками Premier поддержки Microsoft (PFE). На текущий момент скрипты Offscrub не развиваются и являются Depreciated, но вы вполне можете использовать их OffScrub своих сценариях.
На данный момент скрипты OffScrub доступны в архивном GitHub репозитарии разработчиков Office: https://github.com/OfficeDev/Office-IT-Pro-Deployment-Scripts/tree/master/Office-ProPlus-Deployment/Remove-PreviousOfficeInstalls
Основные преимущества в использования OffScrub для удаления Office:
- Возможность удаления старой версии даже при отсутствии или повреждения исходных файлов установки или кэша Office;
- Куст пользователя в реестре не затрагивается;
- Обеспечивается полное удаление;
- Удаление устаревших настроек и всех продуктов (в т.ч. Project, Visio, Visio Viewer).
Как использовать скрипты OffScrub для удаления MS Office.
Я создал отдельный каталог для каждой версии Office:
set OFFICEREMOVE=C:toolsOfficeUninstall
md "%OFFICEREMOVE%2003"
md "%OFFICEREMOVE%2007"
md "%OFFICEREMOVE%2010"
md "%OFFICEREMOVE%2013"
md "%OFFICEREMOVE%2016"
md "%OFFICEREMOVE%O365"
Скачайте и сохраните каждый vbs файл из GitHub в собственный каталог. Должна получиться такая структура каталогов:
- 2003OffScrub03.vbs
- 2007OffScrub07.vbs
- 2010OffScrub10.vbs
- 2013OffScrub_O15msi.vbs
- 2016OffScrub_O16msi.vbs
- O365OffScrubc2r.vbs
Список доступных аргументов любого vbs скрипта OffScrub можно получить так:
OffScrub_O16msi.vbs /?
Microsoft Customer Support Service – Office 2016 MSI Removal Utility_x000D_OffScrub_O16msi.vbs helps to remove Office 2016 MSI Server and Client products_x000D_Usage: OffScrub_O16msi.vbs [List of config ProductIDs] [Options]
Чтобы скрипт удаления Office работал корректно на 64 битных версиях Windows, при запуске их 32-битным клиентом Configuration Manager (SCCM), нужно запускать соответствующую версию cscript.exe. Поэтому на 64 битной системе для запуска сценариев нужно запускать процессор cscript.exe из каталога C:WindowsSysWOW64
.
Данного функционала можно добиться скриптом NativeCScript.cmd :
@echo off
if "%PROCESSOR_ARCHITEW6432%"=="AMD64" (
"%SystemRoot%Sysnativecscript.exe" %*
) else (
"%SystemRoot%System32cscript.exe" %*
)
Готовый архив со всеми необходимыми файлами можно скачать с нашего сайта: OfficeUninstall.zip (1,4 Мб)
Ниже указаны команды для полного удаления различных версий Microsoft Office:
Версия | Команда |
Office 2003 | Cscript.exe "%OFFICEREMOVE%2003OffScrub03.vbs” ALL /Quiet /NoCancel /Force /OSE Команда для удаления через SCCM: "%SystemRoot%System32cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2003OffScrub03.vbs" ALL /Quiet /NoCancel /Force /OSE" |
Office 2007 | Cscript.exe "%OFFICEREMOVE%2007OffScrub07.vbs” ALL /Quiet /NoCancel /Force /OSE SCCM: "%SystemRoot%System32cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2007OffScrub07.vbs" ALL /Quiet /NoCancel /Force /OSE" |
Office 2010 | Cscript.exe "%OFFICEREMOVE%2010OffScrub10.vbs” ALL /Quiet /NoCancel /Force /OSE SCCM: "%SystemRoot%System32cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2010OffScrub10.vbs" ALL /Quiet /NoCancel /Force /OSE" |
Office 2013 | Cscript.exe "%OFFICEREMOVE%2013OffScrub_O15msi.vbs” ALL /Quiet /NoCancel /Force /OSE SCCM: "%SystemRoot%System32cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2013OffScrub_O15msi.vbs" ALL /Quiet /NoCancel /Force /OSE" |
Office 2016 | Cscript.exe "%OFFICEREMOVE%2016OffScrub_O16msi.vbs” ALL /Quiet /NoCancel /Force /OSE SCCM: "%SystemRoot%System32cmd.exe" /C "NativeCScript.cmd //B //NoLogo "2016OffScrub_O16msi.vbs" ALL /Quiet /NoCancel /Force /OSE" |
Office 365 (C2R) | Cscript.exe "%OFFICEREMOVE%C2ROffScrubc2r.vbs” ALL /Quiet /NoCancel /Force /OSE SCCM: "%SystemRoot%System32cmd.exe" /C "NativeCScript.cmd //B //NoLogo "C2ROffScrubc2r.vbs" ALL /Quiet /NoCancel /OSE" |
Удаление Microsoft.Office.Desktop с помощью PowerShell
Обратите внимание, что Windows 10 / Windows 11 часто поставляются с предустановленным UWP приложением Microsoft.Office.Desktop.Apps из Microsoft Store. Для удаления такой версии Office из Windows нужно использовать PowerShell:
Get-AppxProvisionedPackage -online | %{if ($_.packagename -match "Microsoft.Office.Desktop") {$_ | Remove-AppxProvisionedPackage -AllUsers}}
Также вы можете использовать команды Get-Package, Uninstall- Package для удаления любого приложения в Windows :
Get-Package -Name "*Office*" | Uninstall-Package