VB中Shell不能运行*.msi文件

来源:百度知道 编辑:UC知道 时间:2024/06/05 22:14:15
我想用VB给自己的光盘弄一个自动运行菜单,其中有一个CommandButton控件需要链接到一个msi安装文件,可是用Shell却不行,Shell "...BAT"也不行,BAT不能直接打开这个安装包,不知道怎样才能让VB直接打开。
请各位帮满给个办法,谢了!!!
我一定会追加悬赏的。

用API函数ShellExecute:
声明:
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
使用:
Call ShellExecute(0, "open", "c:\install.msi", vbNullString, vbNullString, vbNormalFocus)
把"c:\install.msi"替换为你的实际文件的位置

看我依然用shell来搞定:

ret=shell("msiexec /i c:\install.msi")

把"c:\install.msi"替换为你的实际文件的位置就可以了,不用shellexecute了。注意如果安装文件全路径中有空格的话,这么写:

ret=shell("msiexec /i" & """c:\aaa\in stall.msi""")

还是API好,有些怪异的系统调用msiexec不成功,我碰到好几次