DISM / add-package语法


0

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

情况是我正在努力为此服务 /online 系统;我设法/删除包装整个包,所以我尝试重新添加它 /add-package,这应该很简单,来自DVD上的install.wim。但微软的网站上没有明确解释所需的论点 /add-package 对于一个现场系统,令人惊讶的是我无法做到这一点。我也试过安装了 install.wim 作为文件夹和 /add-package 从那,但再次,找不到使其工作的语法。真的很感激帮助。

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

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

  3. 如果包文件在wim中(例如安装DVD) install.wim )是否需要在.WIM中指定路径,或者仅指定.WIM(或.WIM +索引)?

  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 / packagename:NAME / packagepath:“X:\ sources \ install.wim \”
  • dism / online / enable-feature / featurename:NAME / All /Source:"X:\sources\install.wim“/ LimitAccess
  • dism / online / get-features /Source:"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 / packagename:NAME / all / packagepath:X:\ MOUNTEDWIM \ Windows
  • dism / online / add-package / packagename:NAME / packagepath:X:\ MOUNTEDWIM \ Windows
  • dism / get-packages / imageX:\ MOUNT WIM \ Windows
  • dism / get-packages / packagepath:X:\ MOUNTEDWIM \ Windows
  • dism / image:X:\ MOUNTEDWIM / get-packages

(没有一个是正确的!)


您要再次添加哪个包?你是怎么删除它的?
magicandre1981

这是在测试过程中的一些事情,所以它在虚拟机中。所以我只是将VM回滚到它的最后一个快照。令我印象深刻的是我怎么都无法完成这个命令,所以尽管这不是当前的问题我想找到答案,因为我很惊讶我无法解决它。
Stilez

再次,你想要添加什么?再解释一下!
magicandre1981

我想了解 /add-package 命令更好。这不是特定于任何一个包。它可能是我将来要添加(或重新添加)的任何包。如果再次发生这种情况,我想了解这次没有用的东西。我上面的问题,关于使用 dism /add-package,试着总结一些我无法理解的要点,或者说明为什么他们不为我工作,以及我想要求的帮助。
Stilez

你只需要将.CAB传递给/ packagepath。这就是我要问你想再添加哪个包的原因。你做了什么?
magicandre1981

Answers:


0

/Add-Package 切换不会以您尝试使用它的方式工作。您可以通过以下方式查看正确的语法

  • DISM /Online /Add-Package /?

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

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

  • 我创建了一个脚本,它将自动安装ADK(在您的情况下为AIK),然后创建一个独立的DISM文件夹。
    • 您只需将ADK版本变量更改为7并下载 AIK 。该 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>"} 



在线系统:添加包

的TechNet 请参阅限制(链接底部)

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

  • 附加开关:
    • /IgnoreCheck:如果适用性检查失败,则跳过软件包的安装
    • /PreventPending:如果程序包或Windows映像具有挂起的联机操作,请跳过程序包的安装。



离线系统:添加包

的TechNet

DISM /Image:"<path_to_image>" /Add-Package /PackagePath:"<path_to_package>" [/IgnoreCheck] [/PreventPending]
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.