installation - 如何与静默安装的 msi 交互? (进度数据并取消)

标签 installation windows-installer silent-installer

出于某种原因,我们正在提供带有我们自己的安装 GUI 的产品,这意味着我们将在后台静默运行 msi 安装。

通过使用 MSI API“MsiInstallProduct”,我可以静默安装该产品,但我不知道如何获取此安装的进度数据以及如何取消它。

有人有什么想法吗?

最佳答案

2018 年 6 月更新:虽然下面显示的工具不再可供下载,但我通过 Wayback machine 找到了它。我认为链接到它是可以并且合法的,因为该工具是免费软件。更新了下面的链接。

更新:遗憾的是,Wise 的这个工具无法再下载。我也不确定是否可以分发它。它似乎是一个免费工具,作为其主要 Wise Package Studio 套件的一部分分发,但我不认为它是开源的。我希望他们将其作为开源工具发布。

由于一系列 legal issues 原因,Wise 包装产品已停产。 .

<小时/>

我相信您可以通过 MSI API 获取进度,但如果我是您,我只会在通过 msiexec.exe 调用安装后显示 MSI 本身的进度条。

MSI 支持多种不同的安装级别(完全、完全静默、基本 GUI、简化 GUI 等)。就您而言,听起来您想要一个基本的用户界面。这会产生一个进度条,您可以在其中隐藏取消按钮,并可以选择显示完成模式对话框:

静默安装,带有进度条,没有取消按钮,最后没有模式对话框:

msiexec.exe /I "Test.msi" /QB-!

为了避免手动构建这些愚蠢的 msiexec 命令行,请使用 Wise 的 msi 命令行构建器工具:http://www2.wise.com/filelib/WICLB.exe (从 Wayback 机器中复活)。

请通过virustotal.com运行下载为了安全。

enter image description here

<小时/>

相关:

关于installation - 如何与静默安装的 msi 交互? (进度数据并取消),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1659924/

相关文章:

ruby-on-rails - Ruby on Rails 安装 - 欢迎加入

installation - 如何让用户浏览到要使用 Inno Setup 复制的文件

android - 从 Android 中的 shell 命令安装/卸载

SQL Management Studio 设置(静默安装)

java - 为应用程序创建 Windows 安装程序

android - 安装 Android NDK 时遇到错误

linux - 符号链接(symbolic link)并运行安装命令

windows - 如何让 Windows 的 Smart Screen 信任我的安装程序?

windows - 我的安装程序应该在 Vista 上安装应用程序的目录是什么?

wix - wix可以添加卸载对话框吗?