我使用以下代码从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"
答案 0 :(得分:0)
答案 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"