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 应仅用于产品代码未更改的小型与次要升级包。 在重大升级中,无需使用 REINSTALL,因为产品代码会更改,而这实质上便是创建全新的产品。 除了 FindRelatedProducts、MigrateFeatureStates 和 RemoveExistingProducts 操作外,Upgrade 表创作还会处理原始产品的升级。 因此,INSTALL 选项便已足够。 如果缺少此资源,则当创作 ISETUPPROPNAME_DATABASE 属性时会假定为 INSTALL 操作。 否则,如果创作了 ISETUPPROPNAME_PATCH 属性,则会假定为 MINPATCH。 该值为可选值。
ISETUPPROPNAME_PRODUCTNAME 产品的名称。 它是已下载用户界面中横幅文本中使用的名称。 此资源为可选资源。 如果省略,则此名称默认为“产品”。
ISETUPPROPNAME_MINIMUM_MSI 所需的 Windows Installer 最低版本。 如果未在计算机上安装 Windows Installer 的最低版本,则会调用相应的 Instmsi.exe 来升级 Windows Installer。 此属性的值的格式与 PID_PAGECOUNT 值的格式相同。 有关详细信息,请参阅页面计数摘要属性。 此值必须至少为 200,即用于标识 Windows Installer 版本 2.0 的值。 此资源为必选资源。
ISETUPPROPNAME_INSTLOCATION Windows Installer 升级可执行文件的基础 URL 位置。 可省略此资源。 如果省略此值,则升级可执行文件的默认位置为 Setup.exe 的所在位置。
ISETUPPROPNAME_INSTMSIA Windows Installer 升级可执行文件的 ANSI 版本的名称。 它是相对于 ISETUPPROPNAME_INSTLOCATION 所指定位置的 ANSI 版本 Instmsi.exe 的相对路径。 此资源为必选资源。
ISETUPPROPNAME_INSTMSIW Windows Installer 升级可执行文件的 Unicode 版本的名称。 它是相对于 ISETUPPROPNAME_INSTLOCATION 所指定位置的 Unicode 版本 Instmsi.exe 的相对路径。 此资源为必选资源。
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 省略 ISETUPPROPNAME_BASEURL。 ISETUPPROPNAME_DATABASE = product1.msi
e:\setup\product1.msi(Setup.exe 的当前运行位置为 e:\setup.exe。)
省略 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 安装示例