我正在尝试创建一个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是这样。有人可以帮助代码调用一个msi并传递这个信息,这样我就可以在表单上显示它了吗?
谢谢你的帮助。
更新
我可以找到一些C++示例和编码,但不幸的是,我对脚本编写还比较陌生,所以我不知道如何将C++转换为VB.net,因此非常感谢对这个过程进行编码的任何帮助。
发布于 2013-07-30 05:21:50
看看Windows (Windows,DTF) MSI库(Microsoft.Deployment.WindowsInstaller.dll ),它拥有调用安装和提供外部UI处理程序以接收ProgressBar更新消息所需的所有片段,然后您可以将这些消息路由到VB.Net UI。
有关更多信息,请参见下列主题和副主题:
示例在C++中使用MSI Win32函数,DTF互操作库用类封装了所有这些。DTF帮助文件告诉您哪些类和方法映射到哪个Win32函数。
https://stackoverflow.com/questions/17944716
复制相似问题