为什么在VB6中使用Shell运行.MSI文件有时会失败?

时间:2009-03-06 15:31:33

标签: vb6 windows-installer

我正在尝试使用以下代码从VB6应用程序启动.NET CF安装程序(为了简洁起见,我已用“(完整路径)”替换了安装程序的完整路径):

Shell "C:\WINDOWS\system32\msiexec.exe /fa ""(full path)\NETCFSetupv35.msi"""

到目前为止,我已经在四台机器上运行了这个。在两个它工作正常,在另外两个它失败。当它工作时,CF安装程序就运行了。当它失败时,它首先会弹出一个对话框,说“你正在尝试使用的功能是在CD ROM或其他不可用的可移动磁盘上。”该对话框提供了一个输入路径的文本框和一个用于查找它的浏览按钮,因此我提供了路径,单击打开按钮并收到此错误,“错误1706.无法找到产品Microsoft .NET Compact Framework的有效源3.5。Windows Installer无法继续。“

谁能告诉我这里出了什么问题?它失败的机器缺少什么?

2 个答案:

答案 0 :(得分:0)

Compact Framework MSI本身可能存在问题吗?您可以尝试Microsoft support(您有MSDN订阅吗?),或在newsgroup上发帖。

或者尝试将logging参数添加到命令行“/ l * LogFile.txt”(不包括引号),然后try to understand the log

答案 1 :(得分:0)

您是否尝试在vb6失败的计算机上手动运行安装程序?

如果确实有效,则可能不是安装程序问题。我的猜测是,当PATH变量设置正确时,shell会找到正确的组件的执行路径问题