Установка Office в Windows контейнер (servercore: ltsc2019) завершилась ошибкой с кодом ошибки 17002 - PullRequest
0 голосов
/ 31 марта 2020

Сообщение об ошибке

Журнал ODT (средство развертывания Office) сообщил об ошибке при установке в Windows Контейнер (ядро сервера): клиент C2R возвратил ошибочный код ошибки, код ошибки: 17002

Среды

  • Поведение в Windows Сервер 2019 (1809) с установленным Desktop Experience.
    • Установка ODT Результат: Успешно.
    • test-o365.ps1: Успешно.
  • Поведение в контейнере (mcr.microsoft.com/windows/ servercore: ltsc2019)
    • Установка ODT Результат: отрицательный (клиент C2R возвратил код ошибки, код ошибки: 17002)
    • test-o365.ps1: отрицательный: HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)

Dockerfile

FROM mcr.microsoft.com/windows/servercore:ltsc2019
WORKDIR C:/setup
COPY . . 
ENTRYPOINT startup.cmd

startup.cmd

curl.exe https://download.microsoft.com/download/2/7/A/27AF1BE6-DD20-4CB4-B154-EBAB8A7D4A7E/officedeploymenttool_12325-20288.exe  --output .\
officedeploymenttool_12325-20288.exe
officedeploymenttool_12325-20288.exe /quiet /passive /extract:.
setup.exe /configure o365.xml
powershell -file test-o365.ps1
pause

o365. xml

<Configuration>
  <Add OfficeClientEdition="64" Channel="Monthly">
    <Product ID="O365ProPlusRetail">
      <Language ID="en-us" />
    </Product>
  </Add>
  <!--  <Updates Enabled="TRUE" Channel="Monthly" /> -->
  <Display Level="None" AcceptEULA="TRUE" />
  <Logging Level="Standard" Path="." />
  <!--  <Property Name="AUTOACTIVATE" Value="1" />  -->
</Configuration>

test -o365.ps1

# Write current datetime into result.xlsx to verify that Office COM component is working.
$filename = [System.Environment]::CurrentDirectory + "\result.xlsx"
$filename
if ([System.IO.File]::Exists($filename )) {    
    Remove-Item $filename 
}
$xl=New-Object -ComObject Excel.Application
$xl.Visible=$false
$wb=$xl.WorkBooks.Add()
$ws=$wb.WorkSheets.item(1)
$ws.Cells.Item(1,1)= [System.DateTime]::Now
$wb.SaveAs($filename)
$xl.Quit()

Дополнительная информация

Мы уже знаем о проблемах «автоматизации Office на стороне сервера», о которых упоминалось в статье [3]. На данном этапе мы оцениваем возможность запуска устаревшего приложения ASP. NET в контейнере Windows с включенным взаимодействием Office / COM.

Ссылки

  1. Обзор средства развертывания Office
  2. Что такое вариант установки Server Core в Windows Сервер?
  3. Рекомендации для сервера Автоматизация офиса
...