## 安装程序命令行选项和属性

当运行安装程序时，可使用命令行选项更改安装程序用于安装应用程序的某些参数，例如安装程序属性的显示设置和默认值。

安装程序和 Windows 安装程序使用属性来控制应用程序安装过程。安装程序属性的默认值在 Windows 安装程序包（MSI 文件）中指定。您可在命令行或安装程序设置文件 (Setup.ini) 中指定新属性值。

> 注意 在大多数情况下，命令行选项会覆盖安装程序设置文件 (Setup.ini) 或转换文件（MST 文件）中的重复自定义。所有 MSI 文件都不支持命令行选项和属性。

/a

/f

/i

/j

/l

/noreboot

/p

/q

/settings

/x

property=value

/?

## /a [msifile]

为指定程序包（MSI 文件）创建管理安装路径。该程序包必须位于与 Setup.exe 相同的文件夹中，并且两者必须都位于管理安装路径的根目录中。

示例：

/a My.msi

/a "subfolder1\My.msi"

## /f[options][msifile]

强制修复与指定程序包（MSI 文件）相关的应用程序。程序包必须位于与 Setup.exe 相同的文件夹中，并且两者必须都位于管理安装路径的根目录中。另外，可为程序包指定产品代码，产品代码可从安装程序设置文件的 [Product] 节复制。

> 注意 必须指定与最初用于安装应用程序相同的程序包。

<i>options</i> 的有效值包括：

a | 不管校验和或版本如何，强制重新安装所有文件。
c | 重新安装丢失或损坏的文件。
d | 重新安装丢失或当前具有不同版本的文件。
e | 重新安装丢失的文件或替换当前相同或较旧版本的文件。
m | 重写所有必需的 HKEY_LOCAL_MACHINE 注册表项。
o | 重新安装丢失或当前具有较旧版本的文件。
p | 仅重新安装丢失的文件。
s | 重新安装所有快捷方式并覆盖当前快捷方式。
u | 重写所有必需的 HKEY_CURRENT_USER 注册表项。
v | 从原始源检索程序包，并将其重新缓存到本地计算机上。

应用程序中的 Detect 和 Repair 命令执行与 /focums 相同的函数。运行安装程序并选择“重新安装”可执行与 /fecums 相同的函数。在安装时，Windows 安装程序将 MSI 文件保存到本地计算机中。在使用 /fvm 选项强制重新缓存和重新安装时，Windows 安装程序会从原始源检索 MSI 文件，并将其重新缓存到本地计算机上。向管理安装路径应用修补程序之后，可使用 /fvm 选项更新客户端计算机。

> 重要 如果用户将客户端修补程序（双字节）应用到计算机，则无法在该计算机上使用 /f 从更新过的管理安装路径进行重新缓存和重新安装。这种情况下，用户必须卸载并从更新过的管理映像重新安装。

示例：

/fpiwae My.msi

/fvm {12345678-1234-1234-1234-123456789123}

## /i [msifile]

使用特定程序包安装应用程序。程序包必须与 Setup.exe 位于相同的文件夹中。

> 注意 默认情况下，Setup.exe 指引 Windows 安装程序执行与 /i 相同的函数。

示例：

/i My.msi

/i "subfolder1\My.msi"

## /j[option] [msifile] [/t mstfile]

在计算机上公布应用程序，并在第一次使用时安装；必须指定选项将应用程序公布给计算机或用户。当从管理安装路径或网络上的光盘映像运行安装程序时，可以仅使用 /j。如果未指定程序包，则安装程序将使用 Setup.ini 中指定的程序包。若要对公布的应用程序应用转换，请使用选项 /t 并指定 MST 文件。

选项的有效值包括：

m | 对计算机上的所有用户进行公布。
u | 对当前用户进行公布。

> 注意 除了 /t，当您使用 /j 公布应用程序时，可使用以下三个命令行选项：/l、/q 和 /settings。

示例：

/jm My.msi /t Custom.mst

## /l[options] logfile

为安装程序创建安装操作的日志，并为每个 Windows 安装程序任务创建日志文件。/l 选项会覆盖在 Setup.ini 的 [Logging] 节中所指定的默认设置。

选项的有效值包括以下项并捕获相应数据：

a | 操作通知的开始
c | 初始用户界面参数
e | 错误消息
i | 纯信息性消息
m | 内存不足消息
o | 磁盘空间不足消息
p | property=value 窗体中的属性表列表
r | 操作数据记录；包含特定操作信息
u | 用户请求消息
v | 详细包括调试消息
w | 警告消息
* | 打开所有日志选项（除了 v）
+ | 追加到现有日志文件

Logfile 表示要创建的日志文件的名称和路径。当日志文件名称中包括 (*) 时，安装程序将为每个安装程序实例创建唯一的文件名。

示例：

/lv* "%temp%\MyApp Setup(*).txt"

此命令行创建以下日志文件：

- Setup.exe 日志文件
  "%temp%\MyAppSetup(0001).text"

- 核心程序包的 Windows 安装程序日志文件
  "%temp%\MyApp(0001)_Task(0001).txt"

## /noreboot

在安装结束前不重新启动计算机或显示重启动对话框。/noreboot 选项为安装中所包含的每个程序包（除了最后一个）将 Windows 安装程序的 REBOOT 属性设为 ReallySuppress。

## /p [mspfile]

应用管理更新（MSP 文件）到客户端安装。也可通过包含 /a 选项和名称以及管理安装路径上的 MSI 文件的路径，使用 /p 将更新应用到管理安装。若要应用程序包，则需在命令行中包含 /qb；若要生成日志文件，则需包含 /l。

示例：

msiexec /p [mspfile] /qb /l[options]

msiexec /p [mspfile] /a [msifile] /qb /l[options]

## /q[option]

设置安装程序用户界面显示级别。

选项的有效值包括：

b | 只显示简单的进度指示和错误消息（基本）。
f | 显示所有对话框和消息；相当于忽略 /q 选项（完全）。
n | 不显示用户界面；相当于不带选项（无）指定 /q。
r | 显示所有进度指示和错误消息，但不收集用户信息（缩减）。
- | 取消所有模式对话框；仅与 b 一起使用。
+ | 向 n 或 b 选项添加完成信息。

> 注意 当安装程序不需要在安装完成后重启动计算机时，仅显示完成信息。

## /settings 文件

为 Setup.exe 指定自定义安装设置文件，以代替 Setup.ini 使用。设置文件必须位于与 Setup.exe 相同的文件夹中，或者命令行中必须包括路径。

示例：

/settings MyApp.ini

## /x [msifile]

删除与指定程序包相关的应用程序。程序包必须位于与 Setup.exe 相同的文件夹中，两者必须都位于管理安装路径的根目录中。

> 注意 必须指定与最初用于安装应用程序的相同程序包。

示例：

/x My.msi

## property=value

在命令行上指定属性值。如果该值包含空格，则需将其包含在双引号 (") 当中。若要指定多个属性值，则需用空格进行分隔。

ALLUSERS=[string] | 为计算机的所有用户或只为当前用户安装应用程序。默认情况下，Windows 安装程序为计算机的所有用户安装应用程序。将 ALLUSERS 设为空值 ("") 将覆盖此默认行为并为每位用户安装应用程序。 1 = 为计算机的所有用户安装应用程序；需要管理权限。 2 = 为计算机的所有用户安装应用程序。 "" = 仅为运行安装程序的用户安装应用程序。 ALLUSER=""
CDCACHE=[string] | 指定缓存级别。 Auto = 基于可用磁盘空间缓存 1 = 仅缓存所安装的内容 2 = 缓存整个源 0 = 禁用缓存 CDCACHE=auto
COMPANYNAME=[string] | 指定单位名称。 COMPANYNAME=My Business
INSTALLLOCATION=[string] | 指定安装位置。 INSTALLLOCATION=C:\Program Files\MyApp
LOCALCACHEDRIVE=[string] | 指定将作为安装文件的缓存目标的驱动器。 LOCALCACHEDRIVE=C
PIDKEY=[string] | 在命令行上或在安装程序设置文件中输入 25 个字符的批量许可密钥。当设置 PIDKEY 属性时，用户在安装时不需要输入产品密钥。 PIDKEY=123467890123456789012345
TRANSFORMS=[string] | 指定转换以应用于安装。 TRANSFORMS=\\server\share\myApp\Custom.mst
USERNAME=[string] | 指定默认用户。 USERNAME=Don Dunk