Automation 我正在使用SystemUtil.Run字符串,但它给了我;无效的过程调用或争论”;

Automation 我正在使用SystemUtil.Run字符串,但它给了我;无效的过程调用或争论”;,automation,qtp,testautomationfx,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&"-"&T

我使用以下代码从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"

嘿,谢谢你的关心。我已经用硬编码的值检查过了,效果很好。该问题仅在值发生动态更改时出现。请检查您系统上的任何应用程序,并尝试以友好方式分配该值

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

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

只需将Installfile变量放在SystemUtil上方的msgbox中。运行并验证msgbox中的文件名是否存在于您的文件夹中

也尝试从Run命令中移除空白字符串参数(除非您实际上想将空白字符串作为参数传递) 改变

SystemUtil.Run Installfile,“,“C:\TitleInstall”

SystemUtil.Run Installfile,,“C:\TitleInstall”

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

另一个选项是直接提供安装程序路径。。像这样

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

如果您确定您的Installfile是否包含正确的文件名,请首先尝试使用硬编码的文件名。请在此处发表评论,并将我的名字标记为@user5612655,因为跟踪答案很难。我已添加要查看和检查的安装文件值,并且所需字符串相同。请检查您系统中的任何应用程序。请在发布查询之前尝试一次,因为我已经尝试并检查了所有需要的东西。我需要空格,因为它是应用程序的格式。谢谢你的回复,我试过了,然后只回复了。我们无法在机器上生成动态文件。动态你的意思是什么,我尝试将文件名保存在var中,并尝试在我的机器上运行。我将把安装文件(书籍)从不同的位置复制到本地,然后尝试安装它,每次安装文件名更改时,我都会使用参数生成该文件,并尝试使用系统调用该文件,直到。如果不实际查看文件或您的实际代码,则似乎无法解决此问题。Yes prageeth对我同样有效,谢谢您的回复。:)但是我没有使用\q
myInstallerPath= "C:\InstallerDir\Inataller - Copy.msi"
SystemUtil.Run myInstallerPath , "\q"