Instmsi.exe

Instmsi.exe 是用于安装 Windows Installer 2.0 和早期版本 Windows Installer 的可再发行包。 有关适用于 Windows Installer 3.0 及更高版本的可再发行版,请参阅Windows Installer 可再发行版

有关操作系统随附 Windows Installer 版本的详细信息,请参阅 Windows Installer 的已发布版本

某些可再发行版不应在某些版本的操作系统上运行。 下表描述了哪一 Instmsi 在哪个操作系统上兼容。

如果 Instmsi.exe 安装此版本的 Windows Installer 可在这些操作系统上运行 Instmsi.exe Instmsi.exe 不得在这些操作系统上运行
Windows Installer 1.0 版本 Windows 95、Windows 98、Windows NT 4.0+SP3 Windows Me、Windows 2000、Windows XP、Windows Server 2003、Windows Vista、Windows Server 2008
Windows Installer 1.1 版本 Windows 95、Windows 98、Windows NT 4.0+SP3 Windows Me、Windows 2000、Windows XP、Windows Server 2003、Windows Vista、Windows Server 2008
Windows Installer 1.2 版本 Windows 95、Windows 98、Windows Me、Windows NT 4.0+SP3 Windows 2000、Windows XP、Windows Server 2003、Windows Vista、Windows Server 2008
Windows Installer 2.0 版本 Windows 95、Windows 98、Windows Me、Windows NT 4.0+SP6、Windows 2000 Windows XP、Windows Server 2003、Windows Vista、Windows Server 2008

 

例如,可重新分发 Windows Installer 版本 1.1 的应用程序应在运行可再发行包之前检查操作系统是 Windows NT 4.0 SP3 还是 Windows 98/95。 使用可再发行包的应用程序还应确保 Windows 98/95 上安装了 ANSI 版本的 Windows Installer,且 Unicode 版本已安装在 Windows NT 或 Windows 2000 上。 请注意,某些应用程序会将 Unicode 版本重命名为 InstMsiW。

语法

instmsi 选项

命令行选项

命令行选项不区分大小写。

选项 描述
/q 供启动应用程序过程中重新分发 Windows Installer 的应用程序使用。 没有向用户显示 UI。 启动应用程序应检查返回代码,以确定是否需要重新启动才能完成 Windows Installer 的安装。
/t 仅用于调试目的。
/c:"msiinst /delayreboot" 延迟的重启选项。 阻止 Instmsi 提示用户重启,即使它必须替换正在安装过程中使用的文件。 如果使用此选项调用 Instmsi,则当必须替换正在使用的文件时,它会返回 ERROR_SUCCESS_REBOOT_REQUIRED。 如果它不必替换正在使用的文件,则将返回 ERROR_SUCCESS。 可用于适用于 Windows Installer 2.0 或更高版本的 Instmsi。 有关延迟重启的其他信息,请参阅注解部分。
/c:"msiinst /delayrebootq" 延迟重启选项的安静版本。 它不会向用户显示任何 UI。 否则,其行为与前一选项相同。 可用于适用于 Windows Installer 2.0 或更高版本的 Instmsi。 有关延迟重启的其他信息,请参阅注解部分。
/? 显示帮助。

 

注解

启动使用 Instmsi.exe 来安装附带其他应用程序的 Windows Installer 的应用程序可能需额外进行系统重启。 它可能是除安装应用程序期间所需的所有重启之外的额外重启。

仅建议将延迟重启选项用于特定的安装开发人员,而此类开发人员想消除因使用附带安装应用程序(它会安装正在使用的文件)的 Instmsi.exe 而导致出现额外的重启。

开发人员应在安装应用程序中执行以下操作来使用延迟重启选项。 此选项不适用于用于安装低于 2.0 版本的 Windows Installer 版本的 Instmsi.exe 版本:

若要使用延迟重启选项

  1. 使用延迟重启命令行选项之一来调用 Instmsi.exe。

  2. 将返回的 ERROR_SUCCESS 或 ERROR_SUCCESS_REBOOT_REQUIRED 视为表示成功。

  3. 从位于以下位置的 InstallerLocation 值中获取包含新近安装的 Windows Installer 二进制文件的文件夹的路径:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer

    此值的类型为 REG_SZ

  4. 将当前目录设为步骤 3 中获取的路径。

  5. 在应用程序的包上调用 Msiexec,并运行特定于应用程序的其他安装代码。 如果安装应用程序使用 MsiInstallProduct,则该应用程序必须从步骤 3 中获取的位置加载 MSI.DLL。

    注意

    在步骤 3 中所获取的位置调用 new MSI.DLL 的 LoadLibrary 的应用程序必须确保此进程内尚未加载旧版 MSI.DLL。 如果已在此进程内加载旧版 MSI.DLL,则必须在针对新 MSI.DLL 的 LoadLibrary 调用之前从进程地址空间中卸载它。

     

  6. 如果步骤 5 不要求重启,且 Instmsi.exe 已在步骤 1 中返回 ERROR_SUCCESS_REBOOT_REQUIRED,则提示用户进行重启以完成系统上 Windows Installer 二进制文件的安装。 但是,如果在步骤 5 中进行了重启,则无需执行其他步骤。

适用于 Windows Installer 开发人员的 Windows SDK 组件中提供了 Instmsi.exe。

启动

Internet 下载引导

已发布的版本、工具和可再发行版

Windows Installer 开发工具