DISM /add-package 语法

DISM /add-package 语法

我对 Windows Server 上的 dism 语法以及在某些情况下它需要的参数感到困惑/add-package。我试过了,但在网上找不到好的(明确的)参考资料。

情况是,我正在尝试维护系统/online;我设法 /remove-package 了整个包,因此我尝试使用 重新添加它/add-package,这应该很简单,从 DVD 上的 install.wim 开始。但是,Microsoft 网站上没有清楚地解释所需的参数,对于/add-package实时系统,令人惊讶的是,我无法正确完成。我还尝试将 安装install.wim为文件夹并从中安装/add-package,但同样找不到使其工作的语法。非常感谢您的帮助。

  1. DISM/get-feature需要 .WIM 或文件夹作为可以找到该功能的源。什么才算有效位置?尤其是,必须安装 .WIM 还是指向install.wim(或install.wim:index)就足够了?如果.WIM + index可以直接引用,语法是什么?

  2. 使用 添加包时/add-package,包路径/文件本身是否是足够的标识符,还是还必须提供包名称或其他标识符? 如果是这样,哪些标识符有效以及如何找到它们?

  3. 如果包文件位于 wim 中(例如安装 DVD install.wim),是否需要指定该 .WIM 中的路径,或者仅指定 .WIM(或 .WIM+index)是否足够?

  4. dism /image:X:\MOUNTEDWIM /get-packages在已安装的 Windows install.wim 上,仅显示似乎与安装相关的少数软件包;我预期在源中的许多软件包均未列出。但尝试更具体一点,使用dism /image:X:\MOUNTEDWIM\Windows\servicing\Packages /get-packages,完全失败。出了什么问题?

  5. install.wim:2如果软件包被意外删除,那么将整个已删除的软件包添加到实时/在线系统(例如,从 DVD 或已安装的文件夹,或两者之一)的语法是什么/removed? 我将使用什么标识符或路径以及其他参数?

我尝试过的语法失败(使用源 DVD -> install.wim 文件):

  • dism /online /add-package /packagepath:“Microsoft-Windows-PACKAGE~amd64~~6.3.9600.16384”/limitaccess /source:“X:\sources\install.wim”
  • dism /online /add-package /软件包名称:名称 /软件包路径:“X:\sources\install.wim\”
  • dism /online /enable-feature /featurename:名称 /All /Source:“X:\sources\install.wim”/LimitAccess
  • dism /online /get-features /来源:“X:\sources\install.wim”/LimitAccess
  • dism /online /add-package /packagepath:“Microsoft-Windows-PACKAGE~amd64~~6.3.9600.16384”/source:install.wim
  • dism /online /add-package /packagepath:install.wim
  • dism /online /add-package /packagepath:install.wim /ignorecheck

语法失败(相同的 install.wim 文件,作为文件夹安装):

  • dism /online /add-package /软件包名称:名称/all /软件包路径:X:\MOUNTEDWIM\Windows
  • dism /online /add-package /软件包名称:NAME /软件包路径:X:\MOUNTEDWIM\Windows
  • dism /获取软件包/图像:X:\MOUNTEDWIM\Windows
  • dism /获取包/包路径:X:\MOUNTEDWIM\Windows
  • dism /图像:X:\MOUNTEDWIM /获取软件包

(没有一个是正确的!)

答案1

开关/Add-Package无法按照您尝试使用的方式工作。您可以通过以下方式查看正确的语法:

  • DISM /Online /Add-Package /?

正如其他人提到的,应该使用在线系统的 AIK 中的 DISM 二进制文件

  • 在你的情况下,DISM 二进制文件来自 Windows 7 AIK,而不是 Windows 8 或 10 ADK
    • Windows 8+ 中的 DISM 二进制文件与 Windows 7 二进制文件完全不同,后者缺少 Windows 8+ 中 DISM 二进制文件的功能(ImageX 已被弃用,其功能已转入 DISM 二进制文件)

  • 我创建了一个脚本,它将自动安装 ADK(在您的情况下是 AIK),然后创建一个独立的 DISM 文件夹。
    • 您只需将 ADK 版本变量更改为 7,然后下载人工智能。 这DISM-创造脚本将完成剩下的工作。



验证文件是否正确以添加包

DISM /Online /Get-PackageInfo {/PackagePath:"<path_to_package>" | /PackageName:"<name_in_image>"}
  • /PackagePath可以指向 .cab 文件或文件夹(不是 .msu 文件)。.cab 文件的路径应指向包的原始来源,而不是文件在映像上的安装位置。
DISM /Image:"<path_to_image>" /Get-PackageInfo {/PackagePath:"<path_to_package>" | /PackageName:"<name_in_image>"} 



在线系统:添加包裹

科技网参见限制(链接底部)

DISM /Image:"<path_to_image>" /Add-Package /PackagePath:"<path_to_package>" [/IgnoreCheck] [/PreventPending]
  • 指向/PackagePath目录、.cab 或 .msu 文件。
    • 对于大多数包,或者至少是我过去添加的包,语言文件也必须存在于包目录中相应的语言文件夹中(即 .\PackageDir\en-us)。

  • 附加开关:
    • /IgnoreCheck:如果适用性检查失败,则跳过软件包的安装
    • /PreventPending:如果包或 Windows 映像有待处理的在线操作,则跳过该包的安装。



离线系统:添加包

科技网

DISM /Image:"<path_to_image>" /Add-Package /PackagePath:"<path_to_package>" [/IgnoreCheck] [/PreventPending]

相关内容