将软件集成到 Windows 映像中并进行静默安装,可以使用 DISM 和适当的安装程序命令。下面是具体的步骤和示例命令。
PS C:\Users\Administrator> Dism /Mount-Wim /?
部署映像服务和管理工具 版本: 10.0.26100.1150
Dism /Mount-Wim /Mount-Wim /WimFile:<path_to_WIM_file> [/Index:<image_index> | /Name:<image_name>]
Dism /Mount-Wim /MountDir:<target_mount_directory> [/ReadOnly] [/EA]
将 WIM 文件安装到指定的目录,以便该文件可用于提供服务。
使用 /ReadOnly 将装载的映像设置为具有只读权限。
使用 /EA 借助扩展属性进行装载。
具有多个映像的文件需要指定 /Index 或 /Name。
示例:
DISM.exe /Mount-Wim /WimFile:C:\test\images\myimage.wim /index:1 /MountDir:C:\test\offline
DISM.exe /Mount-Wim /WimFile:C:\test\images\myimage.wim /index:1 /MountDir:C:\test\offline /ReadOnly
PS C:\Users\Administrator> dism /image /?
部署映像服务和管理工具 版本: 10.0.26100.1150
dism /Image:<path_to_offline_image>
这是脱机 Windows 映像的根目录的路径。此选项必须与服务命令一起使用。
示例:
DISM.exe /Image:C:\test\offline /Get-Packages
PS C:\Users\Administrator> dism /unmount-wim /?
部署映像服务和管理工具
版本: 10.0.26100.1150
dism /Unmount-Wim /MountDir:<target_mount_directory> {/Commit | /Discard}
[/EA]
卸载 WIM 文件。使用 /Commit 保存更改或使用 /Discard
放弃更改。
使用 /EA 保存扩展属性。
示例:
DISM.exe /Unmount-Wim /MountDir:C:\test\offline /commit
DISM.exe /Unmount-Wim /MountDir:C:\test\offline /discard
C:\Users\Administrator> expand /?
Microsoft (R) 文件扩展实用程序 版权所有 (c) Microsoft Corporation。保留所有权利。
展开一个或多个压缩文件。
EXPAND [-R] Source Destination
EXPAND -R Source [Destination]
EXPAND -I Source [Destination]
EXPAND -D Source.cab [-F:Files]
EXPAND Source.cab -F:Files Destination
EXPAND -R 重命名展开的文件。
EXPAND -I 重命名展开的文件但忽略目录结构。
EXPAND -D 显示来源中的文件列表。
EXPAND Source 源文件规格。可使用通配字符。
EXPAND -F:Files 从 .CAB 文件展开的文件的名称。
EXPAND Destination 目标文件 | 路径规格。目标可以是目录。如果来源是多个文件且没有指定 -r,目标则必须是目录。
C:\Users\Administrator>start /?
启动一个单独的窗口以运行指定的程序或命令。
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
[/MACHINE <x86|amd64|arm|arm64>][command/program] [parameters]
"title" 在窗口标题栏中显示的标题。
path 启动目录。
B 启动应用程序,但不创建新窗口。应用程序已忽略 ^C 处理。除非应用程序启用 ^C 处理,否则 ^Break 是唯一可以中断该应用程序的方式。
I 新的环境将是传递给 cmd.exe 的原始环境,而不是当前环境。
MIN 以最小化方式启动窗口。
MAX 以最大化方式启动窗口。
SEPARATE 在单独的内存空间中启动 16 位 Windows 程序。
SHARED 在共享内存空间中启动 16 位 Windows 程序。
LOW 在 IDLE 优先级类中启动应用程序。
NORMAL 在 NORMAL 优先级类中启动应用程序。
HIGH 在 HIGH 优先级类中启动应用程序。
REALTIME 在 REALTIME 优先级类中启动应用程序。
ABOVENORMAL 在 ABOVENORMAL 优先级类中启动应用程序。
BELOWNORMAL 在 BELOWNORMAL 优先级类中启动应用程序。
NODE 将首选非一致性内存结构(NUMA)节点指定为十进制整数。
AFFINITY 将处理器关联掩码指定为十六进制数字。进程被限制在这些处理器上运行。将 /AFFINITY 和 /NODE 结合使用时,会对关联掩码进行不同的解释。指定关联掩码,就将 NUMA节点的处理器掩码向右移位以从零位开始一样。进程被限制在指定关联掩码和 NUMA 节点之间的那些通用处理器上运行。如果没有通用处理器,则进程被限制在指定的 NUMA 节点上运行。
WAIT 启动应用程序并等待它终止。
MACHINE 指定应用程序进程的系统架构。
command/program
如果它是内部 cmd 命令或批文件,则该命令处理器是使用 cmd.exe 的 /K 开关运行的。这表示运行命令之后,该窗口将仍然存在。
如果它不是内部 cmd 命令或批处理文件,则它就是一个程序,并将作为一个窗口化应用程序或 控制台应用程序运行。
parameters 这些是传递给 command/program 的参数。
注意: 在 64 位平台上不支持 SEPARATE 和 SHARED 选项。
通过指定 /NODE,可按照利用 NUMA 系统中的内存区域的方式创建进程。例如,可以创建两个完全通过共享内存互相通信的进程以共享相同的首选 NUMA 节点,从而最大限度地减少内存延迟。只要有可能,它们就会分配来自相同 NUMA 节点的内存,并且会在指定节点之外的处理器上自由运行。
start /NODE 1 application1.exe
start /NODE 1 application2.exe
这两个进程可被进一步限制在相同 NUMA 节点内的指定处理器上运行。在以下示例中,application1 在节点的两个低位处理器上运行,而 application2在该节点的其后两个处理器上运行。该示例假定指定节点至少具有四个逻辑处理器。请注意,节点号可更改为该计算机的任何有效节点号,而无需更改关联掩码。
start /NODE 1 /AFFINITY 0x3 application1.exe
start /NODE 1 /AFFINITY 0xc application2.exe
如果命令扩展被启用,通过命令行或 START 命令的外部命令调用会如下改变:
将文件名作为命令键入,非可执行文件可以通过文件关联调用。
(例如,WORD.DOC 会调用跟 .DOC 文件扩展名关联的应用程序)。
关于如何从命令脚本内部创建这些关联,请参阅 ASSOC 和FTYPE 命令。
执行的应用程序是 32 位 GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示符。如果在命令脚本内执行,该新行为则不会发生。
如果执行的命令行的第一个符号是不带扩展名或路径修饰符的字符串 "CMD","CMD" 会被 COMSPEC 变量的数值所替换。这防止从当前目录提取 CMD.EXE。
如果执行的命令行的第一个符号没有扩展名,CMD.EXE 会使用PATHEXT 环境变量的数值来决定要以什么顺序寻找哪些扩展名。PATHEXT 变量的默认值是:
.COM;.EXE;.BAT;.CMD
请注意,该语法跟 PATH 变量的一样,分号隔开不同的元素。
查找可执行文件时,如果没有相配的扩展名,看一看该名称是否与目录名相配。如果确实如此,START 会在那个路径上调用Explorer。如果从命令行执行,则等同于对那个路径作 CD /D。
将软件集成到 Windows 映像中并进行静默安装,可以使用 DISM 和适当的安装程序命令。下面是具体的步骤和示例命令。
1. 准备工作
- 确保你有一个已挂载的 Windows 映像。
- 确保你有软件的安装程序,并且支持静默安装。
2. 挂载映像
首先,挂载你的 WIM 文件(如果还没有挂载的话):
Dism /Mount-Wim /WimFile:"C:\Path\To\YourImage.wim" /index:1 /MountDir:"C:\Path\To\Mount"
3. 集成软件
假设你有一个可执行的安装程序,例如 setup.exe,并且它支持静默安装。可以使用 Dism 命令的 Add-Package 选项集成软件包(如 .msu 或 .cab 文件)。如果是 .exe 文件,通常需要使用 cmd 进行静默安装。
示例命令:
Dism /Image:"C:\Path\To\Mount" /Add-Package /PackagePath:"C:\Path\To\YourSoftware.cab"
4. 静默安装软件
如果你的软件是一个可执行文件,并且支持静默安装,可以在映像中创建一个脚本以在第一次登录时安装。通常会将安装命令添加到 FirstLogonCommands 中。
示例 Unattend.xml 中的静默安装命令:
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<Order>1</Order>
<CommandLine>"C:\Path\To\YourSoftware\setup.exe" /silent</CommandLine>
<Description>Install YourSoftware silently</Description>
</SynchronousCommand>
</FirstLogonCommands>
5. 卸载映像
完成所有操作后,记得卸载映像并提交更改:
Dism /Unmount-Wim /MountDir:"C:\Path\To\Mount" /Commit
注意事项
- 静默安装参数:每个安装程序的静默安装参数可能不同,具体请参考该软件的文档。
- 测试:建议在虚拟机上测试集成和安装过程,以确保没有问题。
- 权限:确保在以管理员身份运行命令提示符时执行这些命令。
使用 DISM 命令的 Add-Package 选项来集成软件包(如 .msu 或 .cab 文件)非常简单。以下是具体的示例和步骤。
1. 准备工作
确保你有一个已挂载的 Windows 映像,并且你要集成的包(如 .msu 或 .cab 文件)已准备好。
2. 挂载映像
如果还没有挂载映像,请先挂载它:
Dism /Mount-Wim /WimFile:"C:\Path\To\YourImage.wim" /index:1 /MountDir:"C:\Path\To\Mount"
3. 集成软件包
假设你有一个 .cab 文件,例如 example.cab,可以使用以下命令将其集成到映像中:
Dism /Image:"C:\Path\To\Mount" /Add-Package /PackagePath:"C:\Path\To\example.cab"
集成 .msu 文件
如果你有一个 .msu 文件,首先需要将其提取为 .cab 文件,因为 DISM 不支持直接集成 .msu 文件。可以使用以下命令进行提取:
Expand -F:* "C:\Path\To\example.msu" "C:\Path\To\Extracted"
然后使用提取出的 .cab 文件进行集成:
Dism /Image:"C:\Path\To\Mount" /Add-Package /PackagePath:"C:\Path\To\Extracted\example.cab"
4. 卸载映像并提交更改
完成后,记得卸载映像并提交更改:
Dism /Unmount-Wim /MountDir:"C:\Path\To\Mount" /Commit
其他注意事项
-
检查状态:在集成软件包后,可以使用以下命令检查映像的状态:
bashCopy CodeDism /Image:"C:\Path\To\Mount" /Get-Packages -
多个包:可以一次性添加多个包,只需重复
Add-Package命令或列出多个路径。 -
错误处理:如果遇到错误,请检查日志文件,通常位于
C:\Windows\Logs\DISM\dism.log。
在 Windows 映像中集成 .exe 和 .msi 软件包并进行静默安装,可以使用 DISM 和适当的命令行参数。以下是步骤和示例。
1. 准备工作
确保你有以下内容:
- 一个已挂载的 Windows 映像。
- 软件的安装程序,例如
.exe或.msi文件。
2. 挂载映像
如果尚未挂载映像,请使用以下命令挂载它:
Dism /Mount-Wim /WimFile:"C:\Path\To\YourImage.wim" /index:1 /MountDir:"C:\Path\To\Mount"
3. 集成 .msi 软件包
可以使用 DISM 直接集成 .msi 软件包。假设你有一个名为 example.msi 的文件:
Dism /Image:"C:\Path\To\Mount" /Add-Package /PackagePath:"C:\Path\To\example.msi"
4. 集成 .exe 软件包
对于 .exe 文件,通常需要使用静默安装参数。你不能直接用 DISM 集成 .exe 文件,因此建议使用批处理文件或脚本在首次登录时执行安装。
示例静默安装命令:
假设你的 .exe 文件支持 /silent 或 /quiet 选项,你可以在 Unattend.xml 文件中添加该命令:
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<Order>1</Order>
<CommandLine>"C:\Path\To\YourSoftware\setup.exe" /silent</CommandLine>
<Description>Install YourSoftware silently</Description>
</SynchronousCommand>
</FirstLogonCommands>
5. 卸载映像并提交更改
完成后,记得卸载映像并提交更改:
Dism /Unmount-Wim /MountDir:"C:\Path\To\Mount" /Commit
其他注意事项
- 静默安装参数:不同的安装程序可能有不同的静默安装参数,请参考该程序的文档。
- 测试:在虚拟机中测试映像和安装流程,以确保一切正常。
静默安装软件的命令通常取决于安装程序的类型和开发者。以下是一些常见的静默安装命令示例,适用于不同类型的安装程序:
1. MSI 安装包
对于使用 Windows Installer 的 MSI 包,可以使用 msiexec 命令:
msiexec /i "C:\Path\To\YourSoftware.msi" /quiet /norestart
2. EXE 安装程序
许多 EXE 安装程序支持静默安装参数,常见的包括:
- InstallShield 安装程序:
setup.exe /s /v"/qn"
- NSIS 安装程序:
setup.exe /S
- Inno Setup 安装程序:
setup.exe /VERYSILENT /NORESTART
3. Chocolatey 包管理器
如果你使用 Chocolatey 安装软件,可以使用以下命令:
choco install packagename -y
4. Scoop 包管理器
使用 Scoop 安装软件时,可以使用:
scoop install packagename
5. PowerShell 脚本
在 PowerShell 中,你也可以进行静默安装,例如:
Start-Process "C:\Path\To\YourSoftware.exe" -ArgumentList "/silent" -NoNewWindow -Wait
6. 自定义安装程序
一些自定义的安装程序可能有自己的静默参数,通常可以在它们的文档中找到,例如:
setup.exe --quiet
在使用静默安装命令时,请务必查阅特定软件的文档,以确定适用的参数。不同的安装程序有不同的静默选项,确保使用正确的参数可以避免安装失败。
一些常见安装程序和它们的静默安装命令的进一步说明:
7. MSI 安装选项
对于 MSI 文件,除了 /quiet 选项外,还可以使用以下选项:
/passive:提供用户界面,但不需要用户交互。/l*v "C:\Path\To\logfile.txt":生成安装日志。
示例:
msiexec /i "C:\Path\To\YourSoftware.msi" /passive /norestart /l*v "C:\Path\To\install.log"
8. 常见 EXE 安装参数
- WiX Toolset:
setup.exe /quiet /norestart
- Zipped 安装程序:有些程序会解压到临时目录,通常需要首先解压。
9. 利用 SCCM 或 MDT
如果在企业环境中使用 System Center Configuration Manager (SCCM) 或 Microsoft Deployment Toolkit (MDT),可以使用以下方式进行静默安装:
- 在部署脚本中添加:
start /wait setup.exe /silent
10. 特定应用的静默安装命令
- Google Chrome:
ChromeSetup.exe --silent --install
- Mozilla Firefox:
Firefox Setup.exe -silent -install
- 7-Zip:
7z920-x64.exe /S
11. 查看所有支持的参数
很多安装程序可以通过 /help 或 /? 来查看支持的命令行参数:
setup.exe /help
或
setup.exe /?
静默安装命令的关键是理解不同安装程序的参数。始终建议在尝试批量部署之前,先在测试环境中验证命令。

浙公网安备 33010602011771号