我正在使用SystemUtil.Run String,但它正在给我“Invalied Procedure call or Arguement”

时间:2016-01-12 14:29:11

标签: automation qtp testautomationfx

我使用以下代码从c:drive运行安装文件。但它会抛出“无效的过程调用或参数”错误。我尝试使用“eval”来规范字符串,但它没有用。

dim BookName
dim Tmonth
dim Trimyear
    BookName="Name of a book"
       Tmonth="02"
       Trimyear="15"
       Installfile = "Install " &BookName&" ("&Tmonth&"-"&Trimyear&").msi"
       SystemUtil.Run Installfile,"","C:\TitleInstall"

3 个答案:

答案 0 :(得分:0)

嘿,谢谢你的兴趣。我用硬编码值检查了它,它运行正常。只有在值改变时才会出现此问题。请使用您系统上的任何应用程序进行检查,并尝试以dinamically方式分配值。

答案 1 :(得分:0)

如果它适用于硬编码值,它也适用于动态值。只需确保您在变量Installfile中生成的动态值,“C:\ TitleInstall”文件夹中存在相同的文件名

根据您的上述代码,应该有一个名为“安装图书的名称(02-15).msi”的文件。在你的文件夹中有没有这样的文件?

只需将那个Installfile变量放在SystemUtil.Run上方的msgbox中,并验证msgbox中的文件名是否存在于您的文件夹中。

还尝试从运行命令中删除空字符串参数(除非您确实要将空字符串作为参数传递),即

更改 SystemUtil.Run Installfile,"","C:\TitleInstall"

SystemUtil.Run Installfile,,"C:\TitleInstall"

答案 2 :(得分:0)

myInstallerPath= "Inataller - Copy.msi"
SystemUtil.Run myInstallerPath , "\q" , "C:\InstallerDir"

以上对我有用,请注意“\ q”是安装一个没有用户交互的应用程序,并没有任何具体含义。 SystemUtil.Run基本上是您的命令窗口。启动CMD窗口,并输入您尝试执行的文件路径,以确保它是有效的。 (您可能希望在双引号内提供文件路径)

另一个选择是立即给出安装程序路径..像这样......

myInstallerPath= "C:\InstallerDir\Inataller - Copy.msi"
SystemUtil.Run myInstallerPath , "\q"