Internet 下载引导

对于 Windows Installer,适用于 Windows Installer 开发人员的 Windows SDK 组件中包含可配置的启动可执行文件 (Setup.exe) 和配置工具 (Msistuff.exe)。 通过使用 Msistuff.exe 配置 Setup.exe 中的资源,开发人员可以轻松创建 Windows Installer 包的 Web 安装。

启动可执行文件所需的最低安装程序版本为 Windows Installer 版本 2.0。 应用程序可以使用 DllGetVersion 获取安装程序版本。 有关详细信息,请参阅确定 Windows Installer 版本

随 Windows Installer SDK 一起提供的启动可执行文件执行以下操作:

  • 调用 WinVerifyTrust 以验证 .msi 文件的数字签名。 Windows Installer 版本 2.0 及更高版本提供使用者接口包 (SIP),以启用 Windows Installer 包签名。
  • 如有必要,升级计算机上的 Windows Installer 版本。

可以使用 Msistuff.exe 显示或配置 Setup.exe 的以下资源。

资源 ID 说明
ISETUPPROPNAME_BASEURL Setup.exe 的基 URL 位置。 如果未指定值,则 Setup.exe 的位置默认为可移动媒体。 仅基于 URL 的安装受 WinVerifyTrust 检查的约束。 URL 上的尾部正斜杠是可选的。 此资源是可选的。
ISETUPPROPNAME_DATABASE .msi 文件的名称。 这是相对于 Setup.exe 程序位置指定的 .msi 文件的相对路径。 如果未指定资源 ISETUPPROPNAME_PATCH,则此资源是必需的。 不能同时指定 ISETUPPROPNAME_DATABASE 和 ISETUPPROPNAME_PATCH。 只能指定两者中的一个。
ISETUPPROPNAME_OPERATION 要执行的操作类型。 可能的值为 INSTALL、MINPATCH、MAJPATCH 和 INSTALLUPD。 INSTALL 值相当于首次安装包。 MINPATCH 值指示 PATCH 属性中指定的修补程序是小型或次要升级修补程序。 MAJPATCH 值指示 PATCH 属性中指定的修补程序是主要更新修补程序。 INSTALLUPD 指示安装可能是首次安装或更新。 使用 INSTALLUPD 具有针对产品存在的启动检查。 如果产品存在,则设置 recache 包标志并执行重新安装;否则,将执行常规安装。 请注意,INSTALLUPD 应仅用于产品代码未更改的小型和次要升级包。 在主要升级中,不需要重新安装,因为产品代码会更改,实际上会创建一个全新的产品。 除了 FindRelatedProducts、MigrateFeatureStates 和 RemoveExistingProducts 操作外,Upgrade 表创作还可以处理原始产品的升级。 因此,INSTALL 选项就足够了。 如果缺少此资源,并且如果创作了 ISETUPPROPNAME_DATABASE 属性,则假定执行 INSTALL 操作。 否则,如果创作了 ISETUPPROPNAME_PATCH 属性,则假定 MINPATCH。 此值为可选值。
ISETUPPROPNAME_PRODUCTNAME 产品的名称。 这是下载的用户界面的横幅文本中使用的名称。 此资源是可选的。 如果省略,则名称默认为“the product”。
ISETUPPROPNAME_MINIMUM_MSI 需要最低版本的 Windows Installer。 如果计算机上未安装最低版本的 Windows Installer,则会调用相应的 Instmsi.exe 来升级 Windows Installer。 此属性的值的格式与 PID_PAGECOUNT 值相同。 有关详细信息,请参阅 Page Count Summary 属性。 此值必须至少为 200,该值标识 Windows Installer 版本 2.0。 此资源是必需的。
ISETUPPROPNAME_INSTLOCATION Windows Installer 升级可执行文件的基 URL 位置。 可能会省略此资源。 如果省略此值,则升级可执行文件的默认位置是 Setup.exe 的位置。
ISETUPPROPNAME_INSTMSIA Windows Installer 升级可执行文件的 ANSI 版本的名称。 这是 ANSI 版本的 Instmsi.exe 相对于 ISETUPPROPNAME_INSTLOCATION 指定的位置的相对路径。 此资源是必需的。
ISETUPPROPNAME_INSTMSIW Windows Installer 升级可执行文件的 Unicode 版本的名称。 这是 Unicode 版本的 Instmsi.exe 相对于 ISETUPPROPNAME_INSTLOCATION 指定的位置的相对路径。 此资源是必需的。
ISETUPPROPNAME_PATCH .msp 文件的名称。 这是相对于 Setup.exe 程序位置指定的 .msp 文件的相对路径。 如果未指定资源 ISETUPPROPNAME_DATABASE,则此资源是必需的。 不能同时指定 ISETUPPROPNAME_DATABASE 和 ISETUPPROPNAME_PATCH。 只能指定两者中的一个。
ISETUPPROPNAME_PROPERTIES PROPERTY=VALUE 字符串。 这些是要包含在命令行中的 PROPERTY=VALUE 对。 此选项是可选的。

 

例如,以下 ISETUPPROPNAME_BASEURL 和 ISETUPPROPNAME_DATABASE 值将用于以下假设包位置。

实际包位置 资源值
https://www.blueyonderairlines.com/Products/Product1/product1.msi ISETUPPROPNAME_BASEURL = https://www.blueyonderairlines.com/Products/Product1 ISETUPPROPNAME_DATABASE = product1.msi
https://www.blueyonderairlines.com/Products/Product1/product1.msi ISETUPPROPNAME_BASEURL = https://www.blueyonderairlines.com/Products/Product1 ISETUPPROPNAME_DATABASE = ../Products1/product1.msi
e:\product1.msi Omit ISETUPPROPNAME_BASEURL. ISETUPPROPNAME_DATABASE = product1.msi
e:\setup\product1.msi(Setup.exe 的当前运行位置为 e:\setup.exe。)
Omit ISETUPPROPNAME_BASEURL. ISETUPPROPNAME_DATABASE = Setup\product1.msi

 

Setup.exe 命令行参数

下表列出了可与适用于 Windows Installer 开发人员的 Windows SDK 组件附带的 Setup.exe 一起使用的命令选项。 在没有任何命令行选项的情况下调用时,Setup.exe 默认为通过配置的资源指定的行为。 命令行选项是互斥的 - 一次只能使用其中一个。

选项 使用情况 含义
/a setup.exe /a 启动管理安装。 如果在 Setup.exe 中配置了 ISETUPPROPNAME_DATABASE 属性,则此选项可用于执行产品的管理安装。 如果配置了 ISETUPPROPNAME_PATCH 资源,则不支持此命令行选项。
/a setup.exe /a<现有管理安装的完整路径> 如果在 Setup.exe 中配置了 ISETUPPROPNAME_PATCH 属性,则此选项可用于修补产品的现有管理安装。 如果配置了 ISETUPPROPNAME_DATABASE 资源,则不支持此命令行选项。
/v setup.exe /v<文件的完整路径> 使用 WinVerifyTrust 验证文件上的签名。 使用此选项时不显示 UI。 在这种情况下,信任检查的结果是从执行 Setup.exe 中获得的返回值。
/?   显示一个指示有效参数的帮助对话框。 注意:如果提供了无效参数,也会显示帮助对话框。

 

有关详细信息,请参阅基于 URL 的 Windows Installer 安装示例