Progress bar 使用MsiSetExternalUI安装MSI vb.net

Progress bar 使用MsiSetExternalUI安装MSI vb.net,progress-bar,windows-installer,vb.net-2010,Progress Bar,Windows Installer,Vb.net 2010,我正在尝试创建一个vb.net项目,该项目将调用多个msi进行安装 我已经能够使用 Program.StartInfo.FileName = "C:Windows\System32\msiexec.exe" Program.StartInfo.Arguments = "/i MsiName.msi /qb” Program.Start() Program.WaitForExit() 这是可行的,但我希望能够使用该表单显示与安装进度相关的进度条,我认为它使用MsiSetExternalUI,并

我正在尝试创建一个vb.net项目,该项目将调用多个msi进行安装

我已经能够使用

Program.StartInfo.FileName = "C:Windows\System32\msiexec.exe"
Program.StartInfo.Arguments = "/i  MsiName.msi /qb”
Program.Start()
Program.WaitForExit()
这是可行的,但我希望能够使用该表单显示与安装进度相关的进度条,我认为它使用MsiSetExternalUI,并且能够将退出代码传递给exe

我不知道怎么这样称呼微星。有人能帮我编写一个代码来调用一个msi并传递这个信息,这样我就可以在表单上显示它了吗

谢谢你的帮助

更新


我可以找到一些C++示例和编码,但不幸的是我对脚本编程比较陌生,所以我不知道C++如何转换成VB.net,所以在这个过程的编码中有任何帮助都是非常值得赞赏的。

< P>查看Windows安装程序XML(WIX)部署工具框架(DTF)MSI互操作库(Microsoft.Deployment.WindowsInstaller.dll)它具有调用安装所需的所有部件,并提供外部UI处理程序来接收ProgressBar更新消息,然后您可以将这些消息路由到VB.Net UI

有关详细信息,请参阅以下主题和子主题:


这些例子是用MSI Win32函数在C++中实现的,DTF互操作库把所有这些都封装在类中。DTF帮助文件告诉你哪些类和方法映射到Win32函数。感谢您的回复,我遇到的问题是我不知道如何调用函数或使用的语法,我已经查看了一下,到目前为止还没有找到任何内容。