Как добавить office в образ windows

Если установлена операционная система Windows 10, Windows 11, Windows 8.

1. Щёлкните по скаченному ISO файлу правой клавишей — открыть с помощью — проводник. 

2. В компьютере появится виртуальный диск с установочными файлами Office.

3. Запустите установку файлом Setup

Если установлена операционная система Windows 7,XP. 

1. Скачайте программу DTOOLS. Установите её и запустите. Перетяните скаченный ISO файл в программу в виртуальный привод.

2. В компьютере появится виртуальный диск с установочными файлами Office. Запустите установку файлом Setup.exe

Скачать оригинальные дистрибутивы Windows и Office в формате ISO вы можете с нашего сервера:

  • Скачать Windows 11 оригинальный дистрибутив
  • Скачать Windows 10 оригинальный дистрибутив
  • Скачать Windows 8.1 оригинальный дистрибутив
  • Скачать Windows 7 оригинальный дистрибутив
  • Скачать Windows Server оригинальный дистрибутив
  • Скачать Office 2021 оригинальный дистрибутив
  • Скачать Office 2019 оригинальный дистрибутив
  • Скачать Office 2016 оригинальный дистрибутив
  • Скачать Office 2013 оригинальный дистрибутив
  • Скачать Office 2010 оригинальный дистрибутив
  • Скачать Office для MAC оригинальный дистрибутив

Уровень сложностиСредний

Время на прочтение5 мин

Количество просмотров139K

Пару месяцев назад я писал статью Как загрузить, установить Office 2024 LTSC с сайта Microsoft и активировать навсегда? / Хабр (habr.com) о том, каким образом осуществить загрузку и установку Microsoft Office LTSC 2024 средствами Microsoft Office Deployment Tool. У этого метода главное преимущество в использовании «родного» инструмента, что многих радует. Однако, в связи с блокировкой загрузок с CDN Microsoft для России напрямую требуются обходные пути, да и работа с командной строкой и ручным изменением каких-то XML файлов не всем оказалась близка.

Сегодня я расскажу и на примере покажу, как установить последнюю версию Приложений Microsoft 365 для Предприятий (Microsoft Apps 365 for Enterprise), о том, чем отличается этот пакет приложений от традиционного коробочного (Retail) Microsoft Office и долгосрочной (LTSC) версии, а также о том, как обновить ваш установленный Microsoft Office 2013/2016/2019/2021/2024 (ненужное вычеркнуть) до Приложений Microsoft 365 для Предприятий, разумеется, не забудем и про Project и Visio.

Я буду рассматривать только установки поверх Windows 10 и Windows 11 (и Windows Server 2016+). Дело в том, что Windows 7 давно не поддерживается, официально на нее выходил лишь Office 2016, есть способ установки Office 2019 без возможности обновлений, но это не то о чем сейчас будет речь, если к этому есть реальный интерес, обсудим в комментариях. Также прошу ответить в комментариях, интересна ли кому-нибудь инструкция по установке последнего пакета Microsoft 365 Office Suite для Mac, разумеется, с сайта Microsoft.

Итак, что же такое Приложения Microsoft 365 для Предприятий (Microsoft Apps 365 for Enterprise) и почему целесообразнее устанавливать их, а не обычный Office. Не следует думать, что Microsoft 365 это какой-то облачный сервис. То есть, действительно, если вы покупаете ежемесячную подписку на Microsoft Apps 365, то помимо «толстых» приложений вы получаете место в облачном хранилище, почтовый сервис и еще разные плюшки, но сами офисные приложения там те же самые. Или даже немного лучше. Дело в том, что Microsoft Apps 365 регулярнее получают новые возможности и приложения. Один раз установив, и активировав навсегда этот пакет вы будете всегда иметь последний функционал, а не думать о том, что Microsoft выпустит в будущем, что войдет в Office 2024 (например Publisher теперь не входит), или о том, как получить возможность использования в качестве языка формул в Excel обычный Python. Всё новое сначала приходит именно в Microsoft 365 Apps.

Не следует беспокоиться за стабильность и плохо тестированное ПО. Для этого существуют разные каналы обновления, – внутренние Microsoft DevMain и Internal, каналы Beta (Insider Fast) и Предварительный актуальный (Insider Slow), – все что приходит в Актуальный (Actual) канал месяцами обкатывается внутри корпорации и на инсайдерах. Я для себя всегда использую Актуальный канал обновлений. Пару раз менял его на Актуальный Предварительный, чтобы обновиться раньше для получения новых возможностей – за последний год я это делал один раз, когда начиная с версии 2406 (сборка 17726.20016) в Excel стало можно писать формулы на Python. Я тогда переключал канал, чтобы получить функционал на месяц ранее, и потом сразу вернул назад, чтобы более ранних обновлений не получал. Подробности про Python в Excel читать в Инсайдерам Microsoft 365 станет доступен редактор Python в Excel / Хабр (habr.com) и Microsoft добавила Python в Excel / Хабр (habr.com). В коробочных или долгосрочных версиях Microsoft Office функционала нет, нужны плагины.

Итак, я уже рассказывал, как при помощи штатного Office Deployment Tool загружать продукты семейства Office, но две сотни комментариев говорят не только об интересе к теме, но и сложностях. Сегодня мы рассмотрим вариант установки при помощи сторонней программы. Их существует множество разных, но я сегодня остановлюсь на одной – Office Tool Plus, которую разрабатывают на форумах MyDigitalLife – у неё богатые возможности, и она не блокируется антивирусами, что делает более легкой процесс для далёких от компьютеров пользователей. Формулировка задачи – загрузить, установить и навсегда активировать набор приложений Microsoft Apps 365 с необходимыми настройками, обновив/заменив старый Microsoft Office, и не забыв про Visio и Project. О двух последних скажу кратко – они не входят в Microsoft Apps 365, мы будем добавлять в список установки коробочные (Retail), а не долгосрочные (LTSC) версии по тем же соображениям, – более функциональны.

Начинаем с того, что идём на домашнюю страницу утилиты Office Tool Plus и скачиваем её себе с одного из источников. Есть 32-бит и 64-бит версии, и даже ARM64. Я пользуюсь 64-битной, но если у вас установлена 32-битная Windows 10, вы вполне можете использовать инструмент.

Разархивируете и запускаете Office Tool Plus.exe. Допустим, у вас уже установлена какая-то версия Microsoft Office:

Вариант с установленным Office 2013

Вариант с установленным Office 2013
Вариант с установленным C2R Office LTSC 2019

Вариант с установленным C2R Office LTSC 2019

В качестве примера я специально внес некие настройки в Office, чтобы увидеть, что они сохранятся при обновлении, – выбрал белую схему и снял ограничения безопасности документов:

На всяких случай я сохраню из Office Tool Plus настройки установленного Office – пропустите это, если ставите Office впервые:

Если у вас была установлена какая-то C2R (не MSI) версия Microsoft Office 2016/2019/2021, то во вкладке Продукты добавим удаление установленных изданий и выберем для установки то что нам требуется:

Конкретно обязательно ставим Microsoft 365 Apps for Enterprise, и при необходимости Visio Pro 2024 Retail и Project Pro 2024 Retail.

Выбираем язык интерфейса продукта, и при желании дополнительные языки для Proofing Tools. Вот так выглядит интерфейс Office Tool Plus если вы ставите Office впервые:

Обратите внимание на выбор платформы. Если у вас Intel совместимый процессор и 64-битная ОС, заведомо следует выбирать 64-бита. Для ARM64 версий Windows 11 следует выбирать, соответственно, ARM64 версию Office, для ARM версии Windows 10, простой ARM:

В дополнительных настройках я лишь ставлю автоматическое принятие лицензионного соглашения:

Теперь запускаю развертывание:

Обязательно замените параметр Установочный модуль с Office Deployment Tool на Office Tool Plus, – тогда в России не будет проблемы с загрузкой.

Стартует загрузка и установка:

При первом запуске я вижу, что установил приложение, доступное по подписке:

И оно, очевидно, не активировано:

Office Tool Plus умеет указать на сервер активации, но сам по себе не является активатором, – потому и не блокируется антивирусами.

Аналогичная ситуация и с Visio и Project:

Для того, чтобы активировать установленные пакеты, выполним с правами администратора в PowerShell команду:

irm https://get.activated.win | iex

Активация HWID и OHOOK, это один раз и навсегда.

Активация HWID и OHOOK, это один раз и навсегда.

Выбираем [2] Ohook:

Ура, ура!

Ура, ура!

Если посмотреть статус активации, то увидим странное:

Статус активации Office при использовании OHook

Статус активации Office при использовании OHook

Вроде бы все плохо… но верхняя надпись желтым по черному все объясняет, мы используем метод OHook, офис активирован навсегда.

Открываем Word:

Установлен Microsoft 365 версии 2407

Установлен Microsoft 365 версии 2407

Аналогично с Visio и Project:

Project Professional версии 2407

Project Professional версии 2407

Заметим, версия 2407 (сейчас август 2024). Если мы готовы тестировать более новую версию, от текущего месяца, в том же Office Tool Plus меняем канал обновлений на Актуальный (предварительная версия):

Смена канала обновления через Office Tool Plus

Смена канала обновления через Office Tool Plus

После обновления будет версия 2408:

Microsoft Apps 365 версии 2408

Microsoft Apps 365 версии 2408

Те настройки, которые у меня были ранее в предыдущей версии сохранились и в новой:

Если настройки приложений следует перенести с другого ПК на новый, тот же Office Tool Plus поможет это сделать. На этом всё. Картинок вышло больше чем текста, зато теперь должно быть всё понятно.

Если остались вопросы, отвечу в комментариях. Про Mac версию, если будет интерес расскажу отдельно. Ставьте лайк, подписывайтесь.

Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале 

Перейти ↩

Перейти

📚 Читайте также:

  •   Azure Stack HCI — что такое, как улучшить и пользоваться;

  • ➤ Zynq 7000. Загрузка Embedded Linux на SoC через JTAG с помощью XSCT;

  • ➤ Устраняем уязвимости в Active Directory Windows;

  • ➤ Большое руководство по сетям и шифрованию трафика в Linux;

  •  Их место в музее: игры об Индиане Джонсе.

Для установки Microsoft Office 2024 с использованием Office Deployment Tool (ODT), вам нужно выполнить следующие шаги:

Скачивание Office Deployment Tool (ODT):

  • Перейдите на официальный сайт Microsoft (opens in a new tab).
  • Нажмите «Download» (Скачать), чтобы загрузить Office Deployment Tool.
  • Запустите, для извлечения файлов ODT. В результате получите файл setup.exe и несколько примеров файлов конфигураций.

Office image

Генерация файла конфигурации

  • Перейдите на официальный сайт конфигуратора Office (opens in a new tab) и создайте свой файл конфигурации, описывающий программы для установки. Скачайте полученный файл.

Office image

Office image

Скачайте файл конфигурации под именем configuration.xml.

Установка

⚠️

Важно: Перед установкой необходимо настроить регион

  • Откройте PowerShell от имени администратора и выполните следующую команду для установки региона US:
reg add "HKCU\Software\Microsoft\Office\16.0\Common\ExperimentConfigs\Ecs" /v "CountryCode" /t REG_SZ /d "std::wstring|US" /f
  • Поместите скачанный setup.exe и файл конфигурации (например, configuration.xml) в одну и ту же директорию.

  • Сначала скачайте установочные файлы, выполнив команду:

setup.exe /download .\configuration.xml
  • После завершения загрузки установите Office с помощью следующей команды:
setup.exe /configure .\configuration.xml
  • Дождитесь завершения установки.

Теперь у вас должен быть установлен Microsoft Office 2024 LTS. Поздравляю! 🎉

Активация

  • Откройте PowerShell от имени администратора и выполните следующую команду:

irm https://get.activated.win | iex

Выберите 2 (OHook activation), затем 1 (Install Office OHook Activation).
Ваша система будет активирована навсегда.

Page 1 of 4

  1. Hi everyone, I apologize if I’m wrong in the section, I wanted to know if there is a guide that explains how to integrate office 2019 into the windows 10 ISO, thanks.

  2. By putting in the office files into the scripts folder inside the wim, or in «ISO:Sources\$OEM$\$$\Setup\Scripts», create a setupcomplete.cmd to start the office installation.

    Download Office 2019: YAOCTRU
    Setup Office 2019: YAOCTRI
    Create the ini on a windows 10 install and put it next to the install cmd:
    Example:

    Folder PATH listing for volume Constellation_2TB
    Volume serial number is ccxxxx
    J:.
    \---$oem$
        \---$$
            \---Setup
                \---Scripts
                    |   C2R_Config_20191002-1242.ini
                    |   SetupComplete.cmd
                    |   YAOCTRI_Configurator.cmd
                    |   YAOCTRI_Installer.cmd
                    |
                    \---Office
                        \---Data
                            |   v32.cab
                            |   v32_16.0.12026.20264.cab
                            |
                            \---16.0.12026.20264
                                    i320.cab
                                    i321043.cab
                                    i640.cab
                                    i641043.cab
                                    s320.cab
                                    s321043.cab
                                    stream.x86.nl-NL.dat
                                    stream.x86.x-none.dat

    Example setupcomplete.cmd:

    @echo off
    
    call "%WinDir%\Setup\Scripts\YAOCTRI_Installer.cmd"
    

    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Click to expand…
  3. Let us know if it works. I’m interest….

  4. When done correctly, it works.


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Click to expand…
  5. Everything works perfectly, thanks a lot for the Enthousiast guide, I have a question: can the procedure described apply to all versions of windows? I have only tried the version of Win 10 LTSC x64. Thanks!

  6. You can apply this to all win 7/8.1/10 but on 7, to be able to get the office updates working, you need to configure it on a 7 install. x86 ini only works on x86 installs and x64 ini only works on x64 installs.

    Afterwards you always can edit the ini to exclude or include the apps, if desired.


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Click to expand…
  7. Before I even attempt to try this, I already have setupcomplete.cmd

    @echo off
    set KMS_Emulation=1
    set KMS_IP=172.16.0.2
    set KMS_Port=1688
    set KMS_ActivationInterval=120
    set KMS_RenewalInterval=10080
    set KMS_HWID=0x3A1C049600B60076
    
    set "SysPath=%Windir%\System32"
    if exist "%Windir%\Sysnative\reg.exe" (set "SysPath=%Windir%\Sysnative")
    set "Path=%SysPath%;%Windir%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\"
    set "PSModulePath=%ProgramFiles%\WindowsPowerShell\Modules;%SysPath%\WindowsPowerShell\v1.0\Modules"
    
    set W1nd0ws=1
    set spp=SoftwareLicensingProduct
    set sps=SoftwareLicensingService
    for /f "tokens=2 delims==" %%A in ('"WMIC PATH %sps% GET Version /VALUE"') do set ver=%%A
    WMIC PATH %spp% WHERE (Name like 'Windows%%' and PartialProductKey is not NULL) CALL Activate >nul 2>&1
    WMIC PATH %sps% WHERE version='%ver%' CALL RefreshLicenseStatus >nul 2>&1
    WMIC PATH %spp% WHERE LicenseStatus=1 GET Name 2>nul | findstr /i "Windows" >nul && (set "W1nd0ws=")
    
    set "_tempdir=%SystemRoot%\Temp"
    set "_workdir=%~dp0"
    if "%_workdir:~-1%"=="\" set "_workdir=%_workdir:~0,-1%"
    set xOS=x64
    if /i "%PROCESSOR_ARCHITECTURE%"=="x86" (if "%PROCESSOR_ARCHITEW6432%"=="" set xOS=Win32)
    setlocal EnableExtensions EnableDelayedExpansion
    set "IFEO=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options"
    set "OSPP=HKLM\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform"
    set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform"
    wmic path SoftwareLicensingProduct where (Description like '%%KMSCLIENT%%') get Name 2>nul | findstr /i Windows 1>nul && (set SppHook=1) || (set SppHook=0)
    wmic path OfficeSoftwareProtectionService get Version >nul 2>&1 && (set OsppHook=1) || (set OsppHook=0)
    for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G
    if %winbuild% GEQ 9200 (
        set OSType=Win8
    ) else if %winbuild% GEQ 7600 (
        set OSType=Win7
    ) else (
        exit /b
    )
    if %winbuild% GEQ 9600 (
    reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform" /f /v NoGenTicket /t REG_DWORD /d 1 >nul 2>&1
    WMIC /NAMESPACE:\\root\Microsoft\Windows\Defender PATH MSFT_MpPreference call Add ExclusionPath="%SystemRoot%\system32\SppExtComObjHook.dll" >nul 2>&1
    )
    if %winbuild% LSS 14393 goto :Main
    SET "RegKey=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages"
    SET "Pattern=Microsoft-Windows-*Edition~31bf3856ad364e35"
    SET "EditionPKG=NUL"
    FOR /F "TOKENS=8 DELIMS=\" %%A IN ('REG QUERY "%RegKey%" /f "%Pattern%" /k 2^>NUL ^| FIND /I "CurrentVersion"') DO (
      REG QUERY "%RegKey%\%%A" /v "CurrentState" 2>NUL | FIND /I "0x70" 1>NUL && (
        FOR /F "TOKENS=3 DELIMS=-~" %%B IN ('ECHO %%A') DO SET "EditionPKG=%%B"
      )
    )
    IF /I "%EditionPKG:~-7%"=="Edition" (
    SET "EditionID=%EditionPKG:~0,-7%"
    ) ELSE (
    FOR /F "TOKENS=3 DELIMS=: " %%A IN ('DISM /English /Online /Get-CurrentEdition 2^>NUL ^| FIND /I "Current Edition :"') DO SET "EditionID=%%A"
    )
    FOR /F "TOKENS=2 DELIMS==" %%A IN ('"WMIC PATH SoftwareLicensingProduct WHERE (Name LIKE 'Windows%%' AND PartialProductKey is not NULL) GET LicenseFamily /VALUE" 2^>nul') DO IF NOT ERRORLEVEL 1 SET "EditionWMI=%%A"
    IF NOT DEFINED EditionWMI (
    IF %winbuild% GEQ 17063 FOR /F "SKIP=2 TOKENS=3 DELIMS= " %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionId') DO SET "EditionID=%%A"
    GOTO :Main
    )
    FOR %%A IN (Cloud,CloudN) DO (IF /I "%EditionWMI%"=="%%A" GOTO :Main)
    SET EditionID=%EditionWMI%
    
    :Main
    call :StopService sppsvc
    if %OsppHook% NEQ 0 call :StopService osppsvc
    for %%# in (SppExtComObjHookAvrf.dll,SppExtComObjHook.dll,SppExtComObjPatcher.dll,SppExtComObjPatcher.exe) do (
        if exist "%SystemRoot%\system32\%%#" del /f /q "%SystemRoot%\system32\%%#" >nul 2>&1
    )
    copy /y "!_workdir!\!xOS!\SppExtComObjHook.dll" "%SystemRoot%\system32" >nul 2>&1 || exit /b
    if %OSType% EQU Win8 call :CreateIFEOEntry SppExtComObj.exe
    if %OSType% EQU Win7 if %SppHook% NEQ 0 call :CreateIFEOEntry sppsvc.exe
    call :CreateIFEOEntry osppsvc.exe
    reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds 1>nul 2>nul && set "_C2R=HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration"
    if not defined _C2R reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds 1>nul 2>nul && set "_C2R=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\Configuration"
    for %%A in (14,15,16,19) do call :officeLoc %%A
    call :SPP
    call :OSPP
    if %winbuild% GEQ 9200 (
    schtasks /query /tn "\Microsoft\Windows\SoftwareProtectionPlatform\SvcTrigger" 1>nul 2>nul || schtasks /create /tn "\Microsoft\Windows\SoftwareProtectionPlatform\SvcTrigger" /xml "%~dp0Win32\SvcTrigger.xml" /f >nul 2>&1
    )
    attrib -R -A -S -H *.*
    if exist "!_tempdir!\*chk.txt" del /f /q "!_tempdir!\*chk.txt"
    if exist "!_tempdir!\slmgr.vbs" del /f /q "!_tempdir!\slmgr.vbs"
    exit /b
    
    :StopService
    sc query %1 | find /i "STOPPED" >nul || net stop %1 /y >nul 2>&1
    sc query %1 | find /i "STOPPED" >nul || sc stop %1 >nul 2>&1
    goto :eof
    
    :CreateIFEOEntry
    reg delete "%IFEO%\%1" /f /v Debugger >nul 2>&1
    reg add "%IFEO%\%1" /f /v VerifierDlls /t REG_SZ /d "SppExtComObjHook.dll" >nul 2>&1
    reg add "%IFEO%\%1" /f /v GlobalFlag /t REG_DWORD /d 256 >nul 2>&1
    reg add "%IFEO%\%1" /f /v KMS_Emulation /t REG_DWORD /d %KMS_Emulation% >nul 2>&1
    reg add "%IFEO%\%1" /f /v KMS_ActivationInterval /t REG_DWORD /d %KMS_ActivationInterval% >nul 2>&1
    reg add "%IFEO%\%1" /f /v KMS_RenewalInterval /t REG_DWORD /d %KMS_RenewalInterval% >nul 2>&1
    if /i %1 EQU SppExtComObj.exe if %winbuild% GEQ 9600 (
    reg add "%IFEO%\%1" /f /v KMS_HWID /t REG_QWORD /d "%KMS_HWID%" >nul 2>&1
    )
    if /i %1 EQU osppsvc.exe (
    reg add "%OSPP%" /f /v KeyManagementServiceName /t REG_SZ /d %KMS_IP% >nul 2>&1
    reg add "%OSPP%" /f /v KeyManagementServicePort /t REG_SZ /d %KMS_Port% >nul 2>&1
    )
    goto :eof
    
    :SPP
    set spp=SoftwareLicensingProduct
    set sps=SoftwareLicensingService
    wmic path %spp% where (Description like '%%KMSCLIENT%%') get Name 2>nul | findstr /i Office 1>nul && (set 0ff1ce15=1)
    if %loc_off15% equ 0 if %loc_off16% equ 0 if %loc_off19% equ 0 (set "0ff1ce15=")
    wmic path %spp% where (Description like '%%KMSCLIENT%%') get Name 2>nul | findstr /i Windows 1>nul && (set WinVL=1)
    if not defined 0ff1ce15 if not defined WinVL exit /b
    wmic path %spp% where (Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get Name 2>nul | findstr /i Windows 1>nul && (set gvlk=1) || (set gvlk=0)
    for /f "tokens=2 delims==" %%A in ('"wmic path %sps% get Version /VALUE"') do set ver=%%A
    wmic path %sps% where version='%ver%' call SetKeyManagementServiceMachine MachineName="%KMS_IP%" >nul 2>&1
    wmic path %sps% where version='%ver%' call SetKeyManagementServicePort %KMS_Port% >nul 2>&1
    if defined W1nd0ws for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (Description like '%%KMSCLIENT%%' and Name like 'Windows%%') get ID /VALUE"') do (set app=%%G&call :sppchkwin)
    if defined 0ff1ce15 for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (Description like '%%KMSCLIENT%%' and Name like 'Office%%') get ID /VALUE"') do (set app=%%G&call :sppchkoff)
    wmic path %sps% where version='%ver%' call DisableKeyManagementServiceDnsPublishing 0 >nul 2>&1
    wmic path %sps% where version='%ver%' call DisableKeyManagementServiceHostCaching 0 >nul 2>&1
    exit /b
    
    :sppchkoff
    wmic path %spp% where ID='%app%' get Name > "!_tempdir!\sppchk.txt"
    find /i "Office 15" "!_tempdir!\sppchk.txt" 1>nul && (if %loc_off15% equ 0 exit /b)
    find /i "Office 16" "!_tempdir!\sppchk.txt" 1>nul && (if %loc_off16% equ 0 exit /b)
    find /i "Office 19" "!_tempdir!\sppchk.txt" 1>nul && (if %loc_off19% equ 0 exit /b)
    set office=1
    wmic path %spp% where (PartialProductKey is not NULL) get ID 2>nul | findstr /i "%app%" 1>nul && (call :activate %app%&exit /b)
    for /f "tokens=3 delims==, " %%G in ('"wmic path %spp% where ID='%app%' get Name /value"') do set OffVer=%%G
    call :offchk%OffVer%
    exit /b
    
    :sppchkwin
    set office=0
    if %winbuild% GEQ 14393 if %gvlk% equ 0 wmic path %spp% where (Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get Name 2>nul | findstr /i Windows 1>nul && (set gvlk=1)
    wmic path %spp% where ID='%app%' get LicenseStatus 2>nul | findstr "1" 1>nul && (call :activate %app%&exit /b)
    wmic path %spp% where (PartialProductKey is not NULL) get ID 2>nul | findstr /i "%app%" 1>nul && (call :activate %app%&exit /b)
    if %gvlk% equ 1 exit /b
    if defined WinPerm exit /b
    if %winbuild% LSS 10240 (call :winchk&exit /b)
    for %%A in (
    b71515d9-89a2-4c60-88c8-656fbcca7f3a,af43f7f0-3b1e-4266-a123-1fdb53f4323b,075aca1f-05d7-42e5-a3ce-e349e7be7078
    11a37f09-fb7f-4002-bd84-f3ae71d11e90,43f2ab05-7c87-4d56-b27c-44d0f9a3dabd,2cf5af84-abab-4ff0-83f8-f040fb2576eb
    6ae51eeb-c268-4a21-9aae-df74c38b586d,ff808201-fec6-4fd4-ae16-abbddade5706,34260150-69ac-49a3-8a0d-4a403ab55763
    4dfd543d-caa6-4f69-a95f-5ddfe2b89567,5fe40dd6-cf1f-4cf2-8729-92121ac2e997,903663f7-d2ab-49c9-8942-14aa9e0a9c72
    2cc171ef-db48-4adc-af09-7c574b37f139,5b2add49-b8f4-42e0-a77c-adad4efeeeb1
    ) do (
    if /i '%app%' equ '%%A' exit /b
    )
    if not defined EditionID (call :winchk&exit /b)
    if /i '%app%' equ '0df4f814-3f57-4b8b-9a9d-fddadcd69fac' if /i %EditionID% neq CloudE exit /b
    if /i '%app%' equ 'e0c42288-980c-4788-a014-c080d2e1926e' if /i %EditionID% neq Education exit /b
    if /i '%app%' equ '73111121-5638-40f6-bc11-f1d7b0d64300' if /i %EditionID% neq Enterprise exit /b
    if /i '%app%' equ '2de67392-b7a7-462a-b1ca-108dd189f588' if /i %EditionID% neq Professional exit /b
    if /i '%app%' equ '3f1afc82-f8ac-4f6c-8005-1d233e606eee' if /i %EditionID% neq ProfessionalEducation exit /b
    if /i '%app%' equ '82bbc092-bc50-4e16-8e18-b74fc486aec3' if /i %EditionID% neq ProfessionalWorkstation exit /b
    if /i '%app%' equ '3c102355-d027-42c6-ad23-2e7ef8a02585' if /i %EditionID% neq EducationN exit /b
    if /i '%app%' equ 'e272e3e2-732f-4c65-a8f0-484747d0d947' if /i %EditionID% neq EnterpriseN exit /b
    if /i '%app%' equ 'a80b5abf-76ad-428b-b05d-a47d2dffeebf' if /i %EditionID% neq ProfessionalN exit /b
    if /i '%app%' equ '5300b18c-2e33-4dc2-8291-47ffcec746dd' if /i %EditionID% neq ProfessionalEducationN exit /b
    if /i '%app%' equ '4b1571d3-bafb-4b40-8087-a961be2caf65' if /i %EditionID% neq ProfessionalWorkstationN exit /b
    if /i '%app%' equ '58e97c99-f377-4ef1-81d5-4ad5522b5fd8' if /i %EditionID% neq Core exit /b
    if /i '%app%' equ 'cd918a57-a41b-4c82-8dce-1a538e221a83' if /i %EditionID% neq CoreSingleLanguage exit /b
    if /i '%app%' equ 'ec868e65-fadf-4759-b23e-93fe37f2cc29' if /i %EditionID% neq ServerRdsh exit /b
    if /i '%app%' equ 'e4db50ea-bda1-4566-b047-0ca50abc6f07' if /i %EditionID% neq ServerRdsh exit /b
    if /i '%app%' equ 'e4db50ea-bda1-4566-b047-0ca50abc6f07' (
    wmic path %spp% where 'Description like "%%KMSCLIENT%%"' get ID | findstr /i "ec868e65-fadf-4759-b23e-93fe37f2cc29" 1>nul 2>nul && (exit /b)
    )
    call :winchk
    exit /b
    
    :winchk
    if not defined tok (if %winbuild% GEQ 9200 (set "tok=4") else (set "tok=7"))
    if not defined wApp set wApp=55c92734-d682-4d71-983e-d6ec3f16059f
    wmic path %spp% where (LicenseStatus='1' and Description like '%%KMSCLIENT%%') get Name 2>nul | findstr /i "Windows" 1>nul && (exit /b)
    echo.
    wmic path %spp% where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL) get Name 2>nul | findstr /i "Windows" 1>nul && (
    set WinPerm=1
    )
    if not defined WinPerm (
    wmic path %spp% where "ApplicationID='%wApp%' and LicenseStatus='1'" get Name 2>nul | findstr /i "Windows" 1>nul && (
    for /f "tokens=%tok% delims=, " %%G in ('"wmic path %spp% where (ApplicationID='%wApp%' and LicenseStatus='1') get Description /VALUE"') do set "channel=%%G"
      for %%A in (VOLUME_MAK, RETAIL, OEM_DM, OEM_SLP, OEM_COA, OEM_COA_SLP, OEM_COA_NSLP, OEM_NONSLP, OEM) do if /i "%%A"=="!channel!" set WinPerm=1
      )
    )
    if not defined WinPerm (
    copy /y %Windir%\System32\slmgr.vbs "!_tempdir!\slmgr.vbs" 1>nul
    cscript //nologo "!_tempdir!\slmgr.vbs" /xpr 2>nul | findstr /i "permanently" 1>nul && set WinPerm=1
    )
    if defined WinPerm (
    exit /b
    )
    call :insKey %app%
    exit /b
    
    :OSPP
    set spp=OfficeSoftwareProtectionProduct
    set sps=OfficeSoftwareProtectionService
    wmic path %sps% get Version /VALUE >nul 2>&1 || (exit /b)
    wmic path %spp% where (Description like '%%KMSCLIENT%%') get Name /VALUE >nul 2>&1 || (exit /b)
    for /f "tokens=2 delims==" %%A in ('"wmic path %sps% get Version /VALUE" 2^>nul') do set ver=%%A
    wmic path %sps% where version='%ver%' call SetKeyManagementServiceMachine MachineName="%KMS_IP%" >nul 2>&1
    wmic path %sps% where version='%ver%' call SetKeyManagementServicePort %KMS_Port% >nul 2>&1
    for /f "tokens=2 delims==" %%G in ('"wmic path %spp% where (Description like '%%KMSCLIENT%%') get ID /VALUE"') do (set app=%%G&call :osppchk)
    wmic path %sps% where version='%ver%' call DisableKeyManagementServiceDnsPublishing 0 >nul 2>&1
    wmic path %sps% where version='%ver%' call DisableKeyManagementServiceHostCaching 0 >nul 2>&1
    exit /b
    
    :osppchk
    wmic path %spp% where ID='%app%' get Name > "!_tempdir!\osppchk.txt"
    find /i "Office 14" "!_tempdir!\osppchk.txt" 1>nul && (if %loc_off14% equ 0 exit /b)
    find /i "Office 15" "!_tempdir!\osppchk.txt" 1>nul && (if %loc_off15% equ 0 exit /b)
    find /i "Office 16" "!_tempdir!\osppchk.txt" 1>nul && (if %loc_off16% equ 0 exit /b)
    find /i "Office 19" "!_tempdir!\osppchk.txt" 1>nul && (if %loc_off19% equ 0 exit /b)
    set office=0
    wmic path %spp% where (PartialProductKey is not NULL) get ID | findstr /i "%app%" >nul 2>&1 && (call :activate %app%&exit /b)
    for /f "tokens=3 delims==, " %%G in ('"wmic path %spp% where ID='%app%' get Name /value"') do set OffVer=%%G
    call :offchk%OffVer%
    exit /b
    
    :offchk
    set ls=0
    set ls2=0
    for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (Name like '%%Office%~2%%') get LicenseStatus /VALUE" 2^>nul') do set /a ls=%%A
    if "%~4" neq "" (
    for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (Name like '%%Office%~4%%') get LicenseStatus /VALUE" 2^>nul') do set /a ls2=%%A
    )
    if "%ls2%" equ "1" exit /b
    if "%ls%" equ "1" exit /b
    call :insKey %app%
    exit /b
    
    :offchk19
    if /i '%app%' equ '0bc88885-718c-491d-921f-6f214349e79c' exit /b
    if /i '%app%' equ 'fc7c4d0c-2e85-4bb9-afd4-01ed1476b5e9' exit /b
    if /i '%app%' equ '500f6619-ef93-4b75-bcb4-82819998a3ca' exit /b
    if /i '%app%' equ '85dd8b5f-eaa4-4af3-a628-cce9e77c9a03' (
    wmic path %spp% where 'PartialProductKey is not NULL' get ID | findstr /i "0bc88885-718c-491d-921f-6f214349e79c" 1>nul 2>nul && (exit /b)
    )
    if /i '%app%' equ '2ca2bf3f-949e-446a-82c7-e25a15ec78c4' (
    wmic path %spp% where 'PartialProductKey is not NULL' get ID | findstr /i "fc7c4d0c-2e85-4bb9-afd4-01ed1476b5e9" 1>nul 2>nul && (exit /b)
    )
    if /i '%app%' equ '5b5cf08f-b81a-431d-b080-3450d8620565' (
    wmic path %spp% where 'PartialProductKey is not NULL' get ID | findstr /i "500f6619-ef93-4b75-bcb4-82819998a3ca" 1>nul 2>nul && (exit /b)
    )
    if /i '%app%' equ '85dd8b5f-eaa4-4af3-a628-cce9e77c9a03' (
    call :offchk "%app%" "19ProPlus2019VL_MAK_AE" "Office ProPlus 2019" "19ProPlus2019XC2RVL_MAKC2R" "Office ProPlus 2019 C2R"
    exit /b
    )
    if /i '%app%' equ '6912a74b-a5fb-401a-bfdb-2e3ab46f4b02' (
    call :offchk "%app%" "19Standard2019VL_MAK_AE" "Office Standard 2019"
    exit /b
    )
    if /i '%app%' equ '2ca2bf3f-949e-446a-82c7-e25a15ec78c4' (
    call :offchk "%app%" "19ProjectPro2019VL_MAK_AE" "Project Pro 2019" "19ProjectPro2019XC2RVL_MAKC2R" "Project Pro 2019 C2R"
    exit /b
    )
    if /i '%app%' equ '1777f0e3-7392-4198-97ea-8ae4de6f6381' (
    call :offchk "%app%" "19ProjectStd2019VL_MAK_AE" "Project Standard 2019"
    exit /b
    )
    if /i '%app%' equ '5b5cf08f-b81a-431d-b080-3450d8620565' (
    call :offchk "%app%" "19VisioPro2019VL_MAK_AE" "Visio Pro 2019" "19VisioPro2019XC2RVL_MAKC2R" "Visio Pro 2019 C2R"
    exit /b
    )
    if /i '%app%' equ 'e06d7df3-aad0-419d-8dfb-0ac37e2bdf39' (
    call :offchk "%app%" "19VisioStd2019VL_MAK_AE" "Visio Standard 2019"
    exit /b
    )
    call :insKey %app%
    exit /b
    
    :offchk16
    if /i '%app%' equ 'd450596f-894d-49e0-966a-fd39ed4c4c64' (
    call :offchk "%app%" "16ProPlusVL_MAK" "Office ProPlus 2016"
    exit /b
    )
    if /i '%app%' equ 'dedfa23d-6ed1-45a6-85dc-63cae0546de6' (
    call :offchk "%app%" "16StandardVL_MAK" "Office Standard 2016"
    exit /b
    )
    if /i '%app%' equ '4f414197-0fc2-4c01-b68a-86cbb9ac254c' (
    call :offchk "%app%" "16ProjectProVL_MAK" "Project Pro 2016"
    exit /b
    )
    if /i '%app%' equ 'da7ddabc-3fbe-4447-9e01-6ab7440b4cd4' (
    call :offchk "%app%" "16ProjectStdVL_MAK" "Project Standard 2016"
    exit /b
    )
    if /i '%app%' equ '6bf301c1-b94a-43e9-ba31-d494598c47fb' (
    call :offchk "%app%" "16VisioProVL_MAK" "Visio Pro 2016"
    exit /b
    )
    if /i '%app%' equ 'aa2a7821-1827-4c2c-8f1d-4513a34dda97' (
    call :offchk "%app%" "16VisioStdVL_MAK" "Visio Standard 2016"
    exit /b
    )
    if /i '%app%' equ '829b8110-0e6f-4349-bca4-42803577788d' (
    call :offchk "%app%" "16ProjectProXC2RVL_MAKC2R" "Project Pro 2016 C2R"
    exit /b
    )
    if /i '%app%' equ 'cbbaca45-556a-4416-ad03-bda598eaa7c8' (
    call :offchk "%app%" "16ProjectStdXC2RVL_MAKC2R" "Project Standard 2016 C2R"
    exit /b
    )
    if /i '%app%' equ 'b234abe3-0857-4f9c-b05a-4dc314f85557' (
    call :offchk "%app%" "16VisioProXC2RVL_MAKC2R" "Visio Pro 2016 C2R"
    exit /b
    )
    if /i '%app%' equ '361fe620-64f4-41b5-ba77-84f8e079b1f7' (
    call :offchk "%app%" "16VisioStdXC2RVL_MAKC2R" "Visio Standard 2016 C2R"
    exit /b
    )
    call :insKey %app%
    exit /b
    
    :offchk15
    if /i '%app%' equ 'b322da9c-a2e2-4058-9e4e-f59a6970bd69' (
    call :offchk "%app%" "ProPlusVL_MAK" "Office ProPlus 2013"
    exit /b
    )
    if /i '%app%' equ 'b13afb38-cd79-4ae5-9f7f-eed058d750ca' (
    call :offchk "%app%" "StandardVL_MAK" "Office Standard 2013"
    exit /b
    )
    if /i '%app%' equ '4a5d124a-e620-44ba-b6ff-658961b33b9a' (
    call :offchk "%app%" "ProjectProVL_MAK" "Project Pro 2013"
    exit /b
    )
    if /i '%app%' equ '427a28d1-d17c-4abf-b717-32c780ba6f07' (
    call :offchk "%app%" "ProjectStdVL_MAK" "Project Standard 2013"
    exit /b
    )
    if /i '%app%' equ 'e13ac10e-75d0-4aff-a0cd-764982cf541c' (
    call :offchk "%app%" "VisioProVL_MAK" "Visio Pro 2013"
    exit /b
    )
    if /i '%app%' equ 'ac4efaf0-f81f-4f61-bdf7-ea32b02ab117' (
    call :offchk "%app%" "VisioStdVL_MAK" "Visio Standard 2013"
    exit /b
    )
    call :insKey %app%
    exit /b
    
    :offchk14
    set "vPrem="&set "vPro="
    for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (Name like '%%OfficeVisioPrem-MAK%%') get LicenseStatus /VALUE" 2^>nul') do set vPrem=%%A
    for /f "tokens=2 delims==" %%A in ('"wmic path %spp% where (Name like '%%OfficeVisioPro-MAK%%') get LicenseStatus /VALUE" 2^>nul') do set vPro=%%A
    if /i '%app%' equ '6f327760-8c5c-417c-9b61-836a98287e0c' (
    call :offchk "%app%" "ProPlus-MAK" "Office ProPlus 2010" "ProPlusAcad-MAK" "Office Professional Academic 2010"
    exit /b
    )
    if /i '%app%' equ '9da2a678-fb6b-4e67-ab84-60dd6a9c819a' (
    call :offchk "%app%" "Standard-MAK" "Office Standard 2010"
    exit /b
    )
    if /i '%app%' equ 'ea509e87-07a1-4a45-9edc-eba5a39f36af' (
    call :offchk "%app%" "SmallBusBasics-MAK" "Office Home and Business 2010"
    exit /b
    )
    if /i '%app%' equ 'df133ff7-bf14-4f95-afe3-7b48e7e331ef' (
    call :offchk "%app%" "ProjectPro-MAK" "Project Pro 2010"
    exit /b
    )
    if /i '%app%' equ '5dc7bf61-5ec9-4996-9ccb-df806a2d0efe' (
    call :offchk "%app%" "ProjectStd-MAK" "Project Standard 2010"
    exit /b
    )
    if /i '%app%' equ '92236105-bb67-494f-94c7-7f7a607929bd' (
    call :offchk "%app%" "VisioPrem-MAK" "Visio Premium 2010" "VisioPro-MAK" "Visio Pro 2010"
    exit /b
    )
    if defined vPrem exit /b
    if /i '%app%' equ 'e558389c-83c3-4b29-adfe-5e4d7f46c358' (
    call :offchk "%app%" "VisioPro-MAK" "Visio Pro 2010" "VisioStd-MAK" "Visio Standard 2010"
    exit /b
    )
    if defined vPro exit /b
    if /i '%app%' equ '9ed833ff-4f92-4f36-b370-8683a4f13275' (
    call :offchk "%app%" "VisioStd-MAK" "Visio Standard 2010"
    exit /b
    )
    call :insKey %app%
    exit /b
    
    :officeLoc
    set loc_off%1=0
    if %1 equ 19 (
    if defined _C2R reg query %_C2R% /v ProductReleaseIds 2>nul | findstr 2019 1>nul && set loc_off%1=1
    exit /b
    )
    
    for /f "tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\%1.0\Common\InstallRoot /v Path" 2^>nul') do if exist "%%b\OSPP.VBS" set loc_off%1=1
    for /f "tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\%1.0\Common\InstallRoot /v Path" 2^>nul') do if exist "%%b\OSPP.VBS" set loc_off%1=1
    
    if %1 equ 16 if defined _C2R (
    for /f "skip=2 tokens=2*" %%a in ('reg query %_C2R% /v ProductReleaseIds') do echo %%b> "!_tempdir!\c2rchk.txt"
    for %%a in (Mondo,ProPlus,Standard,ProjectProX,ProjectStdX,ProjectPro,ProjectStd,VisioProX,VisioStdX,VisioPro,VisioStd,Access,Excel,OneNote,Outlook,PowerPoint,Publisher,SkypeforBusiness,Word) do (
      findstr /I /C:"%%aVolume" "!_tempdir!\c2rchk.txt" 1>nul && set loc_off%1=1
      findstr /I /C:"%%aRetail" "!_tempdir!\c2rchk.txt" 1>nul && set loc_off%1=1
      )
    exit /b
    )
    
    if exist "%ProgramFiles%\Microsoft Office\Office%1\OSPP.VBS" set loc_off%1=1
    if exist "%ProgramFiles(x86)%\Microsoft Office\Office%1\OSPP.VBS" set loc_off%1=1
    exit /b
    
    :insKey
    set "key="
    call "!_workdir!\Win32\key.cmd" %1
    if "%key%" EQU "" (exit /b)
    wmic path %sps% where version='%ver%' call InstallProductKey ProductKey="%key%" >nul 2>&1
    set ERRORCODE=%ERRORLEVEL%
    if %ERRORCODE% neq 0 exit /b
    
    :activate
    wmic path %spp% where ID='%1' call ClearKeyManagementServiceMachine >nul 2>&1
    wmic path %spp% where ID='%1' call ClearKeyManagementServicePort >nul 2>&1
    wmic path %spp% where ID='%1' call Activate >nul 2>&1
    if /i %sps% EQU SoftwareLicensingService wmic path %sps% where version='%ver%' call RefreshLicenseStatus >nul 2>&1
    exit /b
    

    Can I put your code

    @echo off
    
    call "%WinDir%\Setup\Scripts\YAOCTRI_Installer.cmd"
    

    in my setupcomplete.cmd and if so, where whould I put it?
    Thank you again. This should be the end of my questions for the project I’m working on.

  8. Hi Enthusiast, I have this problem: the procedure you described works very well with windows LTSC x64, but does not work with Win LTSC x86, ie the procedure is successful but during installation the system is installed but not office 2019, where I’m wrong? Thanks for the support.

  9. The configuration file was created on Windows 1809 LTSC x86.

  10. You can safely add this on top in your setupcomplete.cmd
    to be safe, use this,

    @echo off
    
    start /wait /b cmd /c "%WinDir%\Setup\Scripts\YAOCTRI_Installer.cmd"

    or

    @echo off
    
    setlocal
    call "%WinDir%\Setup\Scripts\YAOCTRI_Installer.cmd"
    endlocal
    

    That way it’ll put a stop to any conflicting variables in activation and installation script.


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Click to expand…
  11. Please show the setupcomplete.cmd and config ini file content.

    p.s. you can directly run the setupcomplete.cmd on a live system to check if something is wrong with it, no need to install windows to test.

    You need to change your installer script command though,

    @echo off
    
    cd /d "%~dp0"
    
    start /wait /b cmd /c "%~dp0YAOCTRI_Installer.cmd"

    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Click to expand…
  12. What arch office did you put in?


    Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Click to expand…
  13. Sorry, Office 2019 VL monthly 18.11.2019


  14. Stop hovering to collapse…
    Click to collapse…


    Hover to expand…
    Click to expand…
  15. Hi everyone, after countless tests and thanks to the script Enthusiast and Windows Addict, I managed to integrate office 2019 x86 in the windows ltsc x86 ISO, the problem was generated when I went to rebuild the ISO, poweriso gave me an error that did not allow installation in office setup 2019, I solved using ultraiso. Thanks to all!

Page 1 of 4

Вы тут: Главная Popular Установка Office 365 или Office 2019/2021 с выбором приложений и OneNote

12 лет назад в программу установки Office 2007 встроили Office Customization Tool (OCT), в связи с чем я написал статью, которая даже какое-то время висела на российском сайте TechNet. С тех пор много воды утекло – появилась новая технология установки Click-To-Run, на сцену вышел Office 365 с массой различных лицензий и кодов продукта, OCT переехал в веб…

ODT - Office 365

Однако фундаментально настройка установки Office изменилась не так уж сильно. К публикации этой обзорной статьи меня подтолкнули вопросы в чате инсайдеров и Вадимса Поданса, всплывшие с разницей в пару дней.

Для управления развертыванием пакета Office 365 / Office 2019/2021 и отдельных приложений Office используется Office Deployment Tool (ODT). В комплекте файл setup.exe и образцы конфигурационных файлов XML, которые можно передавать установщику ключами /configure и /download, реализуя два варианта развертывания:

  • Загрузка из CDN и немедленная установка всех или отдельных приложений Office 365 либо 2019 и/или отдельных приложений Office. Для этого используется ключ /configure.
  • Загрузка из CDN дистрибутива Office 365 либо 2019 и/или отдельных приложений Office (например, Visio) в локальный или сетевой источник с целью последующей установки из него различных наборов программ. Загрузка осуществляется ключом /download, а установка — ключом /configure.

Первый сценарий больше подходит для дома (в случае, если не хочется видеть ненужные приложения в меню Пуск и сэкономить немного места на диске), второй – для организаций. В обоих сценариях можно изменить текущий набор установленных приложений ключом /configure. Учтите, что ODT всегда скачивает полный набор Office (около 2GB) плюс отдельные приложения Office, указанные в конфигурационном файле.

Вам понадобятся

  • Office Deployment Tool. После запуска исполняемого файла содержимое просто распаковывается в указанную вами папку.
  • Документация по параметрам конфигурационных файлов. Она вполне подробная и даже на русском, поэтому здесь я разберу лишь несколько параметров из своих примеров.
  • Список идентификаторов продуктов для различных планов Office 365 и отдельных приложений Office (аналогичный список для Office 2019/2021 VL тут).
  • Office Configuration Tool. OCT – это онлайн-сервис создания конфигурационных файлов. Для базового развертывания можно обойтись и блокнотом любым другим текстовым редактором, ибо блокнот может создавать проблемы. Однако OCT необходим ИТ-специалистам для тонкой настройки приложений Office (см. раздел Application Preferences).

Замечание о препятствии загрузки для пользователей из РФ и РБ

Примечание. Решение ниже подходит не только для загрузки ODT, но и для установки языковых пакетов Office, скачанных с этой страницы. В этом случае сообщение об ошибке может отличаться, но в логах все равно фиксируется блокировка по географическому признаку.

С 2022 года Microsoft блокирует загрузку О365 посредством ODT для российских и белорусских пользователей. При запуске установщика появляется сообщение Command not supported.

ODT - Office 365

В логах установки (см. в %temp%) появляется такая запись:

Fatal error during installation. [Failing PreReq=RegionalBlocks]", "Data.ExitCode": 1603}

Чтобы обойти это ограничение, нужно установить значение GeoID не равным РФ и РБ и попробовать сменить в реестре страну. В PowerShell:

#Текущее значение GeoId (на память, потом вернуть)
(Get-WinHomeLocation).GeoId
#Смена GeoID на США
Set-WinHomeLocation -GeoId 244
#Бэкап разделов реестра в Win+R - %temp%
reg export HKCU\SOFTWARE\Microsoft\Office\16.0\Common\Experiment $ENV:temp\Experiment.reg
reg export HKCU\SOFTWARE\Microsoft\Office\16.0\Common\ExperimentConfigs $ENV:temp\ExperimentConfigs.reg
reg export HKCU\SOFTWARE\Microsoft\Office\16.0\Common\ExperimentEcs $ENV:temp\ExperimentEcs.reg
#Смена страны в реестре на US
New-ItemProperty -Path HKCU:\Software\Microsoft\Office\16.0\Common\ExperimentConfigs\Ecs -Name CountryCode -Type String -Value 'std::wstring|US' -Force

Затем можно запускать установщик снова. Если это не помогло, попробуйте удалить эти разделы реестра и запустить установку.

#Удаление разделов реестра
Remove-Item -Path HKCU:\SOFTWARE\Microsoft\Office\16.0\Common\Experiment -Recurse -Force -ErrorAction Ignore
Remove-Item -Path HKCU:\SOFTWARE\Microsoft\Office\16.0\Common\ExperimentConfigs -Recurse -Force -ErrorAction Ignore
Remove-Item -Path HKCU:\SOFTWARE\Microsoft\Office\16.0\Common\ExperimentEcs -Recurse -Force -ErrorAction Ignore

См. также этот скрипт на GitHub.

Основные параметры конфигурационных файлов

Перечисленных здесь параметров достаточно для базового развертывания.

Параметр Назначение Примеры
Add OfficeClientEdition Разрядность Office 32 или 64
Add SourcePath Папка для загрузки и/или источник файлов для установки. Если не указана, ODT качает из CDN в текущую папку. C:\ODT
\\server\share
Add Channel Канал набора функций O365 на момент загрузки/установки. CurrentPreview — превью фич по мере доступности
Current — примерно раз в месяц по мере доступности, без четкого расписания
MonthlyEnterprise – ежемесячно во второй вторник
SemiAnnual – раз в полгода
Документация
Updates Channel Канал доставки обновлений, т.е. частота добавления новых функций.
Product ID План (лицензия) O365 или отдельные приложения Office. O365ProPlusRetail
O365HomePremRetail
Word
OneNote
ExcludeApp ID Исключение приложения из установки.
Language ID Язык (указывается для каждого Product ID). ru-ru
en-us
Display Level Отображение прогресса установки. Full (полный)
None (скрытый)

Примеры развертывания Office 365

Я приведу пару примеров для разных сценариев, а чуть ниже распишу любопытные нюансы установки OneNote, в том числе в контексте Office 2019/2021.

Загрузка и немедленная установка

В этом примере для домашнего использования в текущую папку скачивается пакет русского 64-разрядного Office 365 из ежемесячного канала. Для установки используется лицензия Home Premium, при этом устанавливаются только Word, Excel, PowerPoint и OneNote, а остальные приложения исключаются. Обновление новых функций будет доставляться ежемесячно.

<Configuration>
  <Add OfficeClientEdition="64" Channel="Monthly">
    <Product ID="O365HomePremRetail">
      <Language ID="ru-ru" />
      <ExcludeApp ID="Access" />
      <ExcludeApp ID="Groove" />
      <ExcludeApp ID="Lync" />
      <ExcludeApp ID="OneDrive" />
      <ExcludeApp ID="Outlook" />
      <ExcludeApp ID="Publisher" />
    </Product>
  </Add>
  <Updates Enabled="TRUE" Channel="Monthly" />
  <Display Level="Full" AcceptEULA="TRUE" />
</Configuration>

Команда для загрузки и установки:

setup /configure config.xml

Список устанавливаемых приложений виден в окне прогресса установки.

ODT - Office 365

Этот же подход работает для изменения конфигурации текущей установки Office 365 (например, для добавления или удаления приложений). Его можно использовать вне зависимости от того, выполнялась исходная установка посредством ODT или веб-установщиком с портала Office.

Загрузка и установка впоследствии

В этом примере для использования в организации в сетевую папку скачивается пакет английского 32-разрядного Office 365 из полугодового цикла широкой доступности, а также Visio 2019.

<Configuration>
  <Add OfficeClientEdition="32" Channel="Broad" SourcePath="\\server\share">
    <Product ID="O365ProPlusRetail">
      <Language ID="en-us" />
      <ExcludeApp ID="Groove" />
      <ExcludeApp ID="OneDrive" />
      <ExcludeApp ID="Publisher" />
      <ExcludeApp ID="Teams" />
    </Product>
    <Product ID="VisioProRetail">
      <Language ID="en-us" />
    </Product>
  </Add>
  <Updates Enabled="TRUE" Channel="Broad" />
  <Display Level="Full" AcceptEULA="TRUE" />
</Configuration>

Команда для загрузки:

setup /download config.xml

По окончании загрузки в командной строке появится приглашение ввести следующую команду. Теперь этот дистрибутив Office можно использовать для установки с любым набором приложений. В этом примере из сетевой папки устанавливается Office 365 Pro Plus и Visio 2019. Из набора Office 365 исключены Groove, OneDrive и Publisher, а также Teams (иначе оно будет восставать как Феникс из пепла). Обновление новых функций будет доставляться раз в полгода из CDN Office.

Команда для установки:

setup /configure config.xml

Замечание об идентификаторах продукта Office 365 и Office 2019/2021 в конфигурационном файле

При использовании ODT неважно, какой ИД продукта Office 365 указан при загрузке с ключом /download. Равно как не имеет значения список исключенных приложений и прочие параметры установки. (Эти замечания не относится к отдельным приложениям Office, не входящим в Office 365). В любом случае скачивается полный пакет Office 365, а ИД продукта для установки задается уже в конфигурационном файле с ключом /configure.

Другими словами, если в конфигурации загрузки было указано O365ProPlusRetail, дистрибутив можно использовать для установки O365HomePremRetail, указав этот ИД при установке. Таким образом, скачанный дистрибутив можно использовать для установки Office 365 с различными лицензиями, варьируя конфигурационный файл установки.

С Office 2019/2021 ситуация несколько отличается. ODT также скачивает полный пакет Office 2019/2021, но здесь вам нужно изначально указывать в конфигурационном файле идентификатор продукта Office 2019/2021, соответствующий имеющейся лицензии (например, ProPlus2019Volume или ProPlus2019Retail). При этом скачанный с помощью ODT дистрибутив:

  • Office 2019/2021 Volume не подходит для развертывания Office 2019/2021 Retail (и наоборот)
  • Office 365 не подходит для развертывания Office 2019/2021 (и наоборот)

Нюансы установки OneNote

OneNote – это последняя классическая версия. На момент публикации статьи версия была заморожена на 2016, а Microsoft заявляла, что дальше она развиваться не будет, предлагая использовать магазинное приложение, которое входит в состав Windows 10. Позже компания передумала ;) Впрочем, классическое приложение давно вывели за рамки набора Office, предлагая его для отдельной загрузки с помощью веб-установщика на этой странице. .

OneNote в составе Office 365 и Office 2019

Если использовать Office 2019 ISO, то OneNote в комплект не входит и не устанавливается (ситуацию с Office 2021 я не проверял). То же самое было верно для веб-установщика Office 365 с портала, но ситуация изменилась со сменой курса↑

Однако при использовании ODT для загрузки или установки Office 365 либо Office 2019/2021 приложение OneNote включается в набор!

В принципе, на это намекает OCT, хотя по умолчанию приложение попадает теперь не попадает в список исключений.

ODT - Office 365

Как я и предполагал в исходной версии статьи, OCT претендует на роль индикатора отношения Microsoft к OneNote. См. также документацию по установке OneNote, где в том числе раскрываются аспекты развертывания посредством SCCM.

Установка Office 365 + OneNote

Следуйте примерам развертывания выше. Я не исключал OneNote из установки в образцах конфигурационных файлов, поэтому приложение установится автоматически.

Установка Office 2019/2021 + OneNote

В конфигурационном файле необходимо указать правильный ИД продукта, а также учесть, что канал обновления Office 365 не подходит для Office 2019/2021. В остальном все работает так же, как и при развертывании Office 365. Пример конфигурационного файла для развертывания английской 32-разрядной версии Office 2019/2021 Retail (устанавливаются только Word, Excel, PowerPoint и OneNote).

<Configuration>
  <Add OfficeClientEdition="32">
    <Product ID="ProPlus2019Retail">
      <Language ID="en-us" />
      <ExcludeApp ID="Access" />
      <ExcludeApp ID="Groove" />
      <ExcludeApp ID="Lync" />
      <ExcludeApp ID="OneDrive" />
      <ExcludeApp ID="Outlook" />
      <ExcludeApp ID="Publisher" />
    </Product>
  </Add>
  <Display Level="Full" AcceptEULA="TRUE" />
</Configuration>

Установка OneNote в качестве отдельного приложения

Вадимс Поданс, с которым у нас давно налажен обмен тайным знанием по PowerShell и Windows, столкнулся с необычной проблемой. Веб-установщик OneNote не мог скачать приложение из CDN, а диагностика вывела на особенности защитного периметра вкупе с медленным подключением к интернету.

В качестве обходного пути можно осуществлять загрузку с помощью ODT (например, на другом ПК) и устанавливать приложение из автономного дистрибутива.

Поскольку ODT поддерживает развертывание отдельных приложений Office, нужно лишь знать ИД продукта OneNote для данного сценария – OneNoteFreeRetail. Это пример конфигурационного файла, где папка C:\ODT используется для загрузки и установки OneNote (с поправкой на то, что ODT всегда загружает пакет Office 365 целиком).

Примечание. Если установлен Office 365 или Office 2019, он удаляется при развертывании OneNote с этим конфигурационным файлом. Смотрите выше, как установить OneNote наряду с остальными приложениями Office.

<Configuration>
  <Add SourcePath="C:\ODT\" OfficeClientEdition="32">
    <Product ID="OneNoteFreeRetail">
      <Language ID="ru-ru" />
    </Product>
  </Add>
</Configuration>

Как и в примерах выше, для установки используется ключ /configure, а исключительно для загрузки — ключ /download. Результат из меню File — Account:

ODT - Office 365

Занятно, что в этом же окне приложений Office 365 значок OneNote пока присутствует в списке.

Вопросы и ответы

Если вы не видите ответа на свой вопрос, задавайте его в комментариях.

Сколько места можно сэкономить за счет выборочной установки приложений?

Я провел простой и не слишком научный эксперимент, попытавшись эмулировать домашнюю среду с Office 365 Home.

На чистой виртуальной машине я установил набор приложений этого плана (Outlook, Word, Excel, PowerPoint, Publisher, Access плюс OneNote), перезагрузился и записал объем свободного пространства на системном диске. Затем я изменил конфигурацию, убрав Outlook, Publisher и Access, и после перезагрузки снова проверил свободное место на диске.

Экономия составила около 400 мегабайт.

Продолжение следует…

Заключение

В отличие от автоматической установки Windows, с Office 365 все намного проще – базовый вариант получается с первого раза. Некоторую путаницу вносит OneNote, однако подводные камни я изложил. За кадром осталось обновление старых версий Office, в том числе переход от MSI к CTR. Но если вы ИТ-специалист, которому поручили эту задачу, то справитесь с ней, вооружившись документацией.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как обновить драйвера динамиков на windows 10
  • Теневое копирование windows server 2016
  • Windows image file boot
  • Как выполнять все действия от имени администратора в windows 10
  • Remove wga windows 7