0

我使用以下代码从 c: 驱动器运行安装文件。但它抛出“无效的过程调用或参数”错误。我尝试使用“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"
4

3 回答 3

0

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

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

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

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

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

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

于 2016-01-14T07:44:20.170 回答
0

嘿,谢谢你的兴趣。我已经用硬编码值检查过它,它工作正常。仅当值发生动态变化时才会出现此问题。请检查系统上的任何应用程序并尝试动态分配值。

于 2016-01-14T07:01:01.417 回答
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" 
于 2016-01-28T18:40:43.993 回答