场景:我想向 Windows 10 专业版安装程序添加其他语言,这样我packer
只需更改autounattend.xml
文件即可轻松构建 Windows 实例。
我希望 Windows 10 在安装过程中安装所需的语言,而不是安装它en-US
并在安装后安装语言包。
我知道我可以从 Microsoft 下载每种语言特定的 ISO,但我不喜欢为每种我想支持的语言保留 4-5GB ISO 的想法,而理论上我应该能够创建包含我需要的所有语言的安装程序.
我无权访问 Microsoft OEM 站点、设备合作伙伴中心或 Microsoft 下一代批量许可站点。
资源:
- Windows 10 ISO:https ://www.microsoft.com/en-us/software-download/windows10ISO
- Windows ADK/Windows PE 附加组件:https ://docs.microsoft.com/en-us/windows-hardware/get-started/adk-install
- 按需添加和删除语言包、LIP 和功能:https ://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/add-language-packs-to-windows#add-and-remove -language-packs-lips-and-features-on-demand
问题
我已经从上面的公共下载链接下载了 Windows 10 ISO,并将内容复制到我电脑上的可写位置。
我还为我正在使用的适当版本的 Windows 10(1809 或 1903)安装了 Windows ADK 和 Windows PE 附加组件。
当我尝试集成 Windows PE 附加组件中附带的语言包时,我注意到该版本与公共 ISO 中的映像版本不匹配。
Windows PE 附加组件的语言包版本似乎是.1
,公共 Windows 10 ISO 上的版本似乎总是.3
当我尝试将语言包集成到 的sources\install.wim
中时Win10_1809Oct_v2_English_x64.iso
,我得到以下输出:
dism /image:C:\mount\boot /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ko-kr\lp.cab"
Deployment Image Servicing and Management tool
Version: 10.0.17763.1
Image Version: 10.0.17763.379
Processing 1 of 1 - Adding package Microsoft-Windows-WinPE-LanguagePack-Package~31bf3856ad364e35~amd64~ko-KR~10.0.17763.1
[==========================100.0%==========================]
Error: 0x800f081e
The specified package is not applicable to this image.
我注意到语言包版本似乎是10.0.17763.1
,而公共 1809 ISO 似乎包含发布10.0.17763.379
如果我安装适用于 1903 的 Windows ADK/PE 附加组件并尝试使用 1903 ISO Win10_1903_V1_English_x64.iso
,我会遇到同样的错误:
dism /image:C:\mount\boot /add-package /packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\fr-fr\lp.cab"
Deployment Image Servicing and Management tool
Version: 10.0.17763.1
Image Version: 10.0.18362.30
Processing 1 of 1 - Adding package Microsoft-Windows-WinPE-LanguagePack-Package~31bf3856ad364e35~amd64~fr-FR~10.0.18362.1
[==========================100.0%==========================]
Error: 0x800f081e
The specified package is not applicable to this image.
C:\Windows\Logs\DISM\dism.log
有大量与此操作相关的输出。我不太了解Windows,但问题似乎是由于版本不匹配而无法找到语言包的父包:
2019-07-15 16:21:50, Info DPX Extraction of file: update.ses failed because it is not present in the container (\\?\C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\fr-fr\lp.cab).
2019-07-15 16:21:50, Info DPX DpxException hr=0x80070002 code=0x020109
2019-07-15 16:21:50, Info CBS Not able to add file to extract: update.ses [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
2019-07-15 16:21:50, Info CBS Appl: detect Parent, Package: Microsoft-Windows-WinPE-LanguagePack-Package~31bf3856ad364e35~amd64~fr-FR~10.0.18362.1, Parent: Microsoft-Windows-WinPE-Package~31bf3856ad364e35~amd64~~10.0.18362.1, Disposition = Detect, VersionComp: EQ, BuildComp: EQ, RevisionComp: GE, Exist: present
2019-07-15 16:21:50, Info CBS Appl: detectParent: no parent found, go absent
2019-07-15 16:21:50, Info CBS Appl: Evaluating package applicability for package Microsoft-Windows-WinPE-LanguagePack-Package~31bf3856ad364e35~amd64~fr-FR~10.0.18362.1, applicable state: Absent
2019-07-15 16:21:50, Info DISM DISM Package Manager: PID=3140 TID=15264 Package Microsoft-Windows-WinPE-LanguagePack-Package~31bf3856ad364e35~amd64~fr-FR~10.0.18362.1 with CBS state 0(CbsInstallStateAbsent) being mapped to dism state 1(DISM_INSTALL_STATE_NOTPRESENT) - CDISMPackage::LogInstallStateMapping
2019-07-15 16:21:50, Error DISM DISM Package Manager: PID=3140 TID=15264 The package Microsoft-Windows-WinPE-LanguagePack-Package is not applicable to the image. - CPackageManagerCLIHandler::Private_ProcessPackageChange
2019-07-15 16:21:50, Info DISM DISM Package Manager: PID=3140 TID=15264 Initiating Changes on Package with values: 4, 7 - CDISMPackage::Internal_ChangePackageState
2019-07-15 16:21:50, Info DISM DISM Package Manager: PID=3140 TID=15264 CBS session options=0x0! - CDISMPackageManager::Internal_Finalize
问题
- 是否可以从与构建或对应的公共(Microsoft 官方)来源下载 Windows 10 ISO ?
10.0.17763.1
10.0.18362.1
- 如果这不可能,是否有发布的公共语言包
.3
? - 如果没有 MSDN 帐户或许可协议,是否可以将语言包集成到安装程序中?
我要回答我自己的问题,因为我已经弄清楚了这个问题。
tl;dr - 如果您想自定义 Windows 10 安装程序以能够以多种语言安装 Windows 10,Windows 10 ADK/PE 附加组件可能不是您想要的。
相反,获取适用于您的 Windows 10 版本的语言包 ISO。语言包 ISO 包含
Microsoft-Windows-Client-LanguagePack
文件,这些文件是 Windows 10 的本地化文件。ADK/PE 附加组件提供的
Microsoft-Windows-WinPE-LanguagePack
文件是 Windows PE 的语言包。您可以将它们与boot.wim
文件一起使用,而不是与install.wim
文件一起使用。是的,适用于 1809 的Windows 10 企业评估 ISO已发布
10.0.17763.107
。1903 年的企业评估 ISO 是10.0.18362.30
.请注意,您必须提供“公司详细信息”才能下载企业评估 ISO。
事后看来,阻止我应用 Windows 10 ADK/Windows PE 附加组件中附带的语言包的问题非常明显:
顾名思义,Windows PE 加载项安装的语言包适用于 Windows PE,而不适用于 Windows 10 操作系统。
如果您
sources\boot.wim
从安装程序 ISO 挂载并尝试应用由 Windows ADK/PE 附加组件安装的语言包,它会起作用:但是尝试这样做,但
sources\install.wim
它不起作用,因为安装程序不是 Windows PE。不,不是我能找到的。至少不是我合理认为的“公共”
如果你想将语言包应用到 Windows 10 1809 安装程序,你应该使用你喜欢的搜索引擎来寻找
mu_windows_10_language_pack_version_1809_updated_sept_2018_x86_x64_arm64_dvd_f17c743a.iso
。它的大小约为 5.9GB,包含适用于 Windows 10 (17763.1) 的 x86、x64 和 arm64 版本的语言包。我无法找到此语言包 ISO 的 Microsoft 官方来源,但是一些文件共享站点可以下载它。您应该能够通过搜索上面的 ISO 名称找到一个副本(至少,对于 Windows 10 1809)。
至少从我的研究来看,这个问题的理论答案是否定的。
然而实际的答案是肯定的。如果你能从第三方找到上述语言包ISO,你可以使用微软
Windows 10 October 2018 Update
官方ISO添加语言:我不确定要为 1903 版或未来的 Windows 10 版本做些什么。确定语言包 ISO 的名称,看看是否可以找到“公共”源以从 ¯_(ツ)_/¯ 下载