Я пытаюсь настроить образ Windows Docker с помощью .net framework 4.7.2.По другим причинам я начинаю с microsoft / windowsservercore
То, что я до сих пор пробовал - у меня установлен образ choco, поэтому мое первоначальное решение заключалось в использовании choco install
choco install dotnet4.7.2 --allow-empty-checksums -y -v --trace -d
Что я получаю, это 0x80004005
C:\users\ContainerAdministrator\AppData\Local\Temp\chocolatey> more .\dd_NDP472-KB4054530-x86-x64-AllOS-ENU_decompression_log.txt
??[5/25/2019, 22:26:33] === Logging started: 2019/05/25 22:26:33 ===
[5/25/2019, 22:26:33] Executable: C:\Users\ContainerAdministrator\AppData\Local\Temp\chocolatey\dotnetfx\4.7.2.20180712\NDP472-KB4054530-x86-x64-AllOS-ENU.exe v4.7.3081.0
[5/25/2019, 22:26:33] --- logging level: standard ---
[5/25/2019, 22:26:33] Successfully bound to the ClusApi.dll
[5/25/2019, 22:26:33] Error 0x800706d9: Failed to open the current cluster
[5/25/2019, 22:26:33] Cluster drive map: ''
[5/25/2019, 22:26:33] Considering drive: 'C:\'...
[5/25/2019, 22:26:33] Drive 'C:\' has been selected as the largest fixed drive
[5/25/2019, 22:26:33] Directory 'C:\b659e2a87b51ccf0f10d6292d1a4c2\' has been selected for file extraction
[5/25/2019, 22:26:33] Extracting files to: C:\b659e2a87b51ccf0f10d6292d1a4c2\
[5/25/2019, 22:26:33] Error 0x80004005: Failed to extract all files out of box container #0.
[5/25/2019, 22:26:33] Error 0x80004005: Failed to extract
https://blog.nowmicro.com/2015/02/23/deploying-net-framework-4-5-2-configmgr-application/
Следуя некоторым идеям из ссылок выше, я это сделал:
- Я скачал вручную NDP472-KB4054530-x86-x64-AllOS-ENU.exe
- Я извлек его локально, нахост, из командной строки (с / извлекать).В основном у меня есть локальный каталог со всем содержимым NDP472 (включая Setup.exe)
- Я запускаю контейнер, используя том
Docker run --name cw10 -v C: \ MyNDP472: C: \ tmp -d client-windows10
Я присоединяюсь к контейнеру с помощью cmd.Из C: \ tmp (который указывает на C: \ MyNDP472 с хоста) я запускаю из командной строки.
Setup.exe / q / norestart / ChainingPackage "ADMINDEPLOYMENT" / x86/ x64 / redist / log "C: \ tmp \ reportdotnet.log"
Результат
Окончательный результат: установка успешно завершена с кодом успеха: (0x80070BC2), «Запрошенная операция выполнена успешно. Изменения не вступят в силу до перезагрузки системы .
Я проверяю реестры (на этот раз с Powershell)
Get-ChildItem 'HKLM: \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP' -recurse | Get-ItemProperty -name Version, Release -EA 0 | Где {$ _. PSChildName -match '^ (?! S) \ p {L}'} | Выбрать PSChildName, Версия, Выпуск
Я все еще получаю предыдущую версию .net framework (Full 4.6.01586 394802) - ту, которая поставляется с базовым образом.Я перезагружаю контейнер с перезапуском докера.Я получаю точно так же.Без изменений.
Моя конечная цель: я хочу создать решение C # sln с целью 4.7.2.
У меня нет идей.Есть мысли?
Спасибо