VBScript 编译错误 - 错误:预期')' - 800A03EE



我已经制作了一个小登录脚本,该脚本的任务是安装Mimecast Add-in for Outlook

脚本首次检查是存在插件DLL文件,如果它执行了take product版本。如果版本与我们当前的8.7.4425.0匹配addin,则执行MSI的无声安装。如果Addin DLL也不存在安装。

我使用 VBSEdit构建我的脚本,并且该脚本从调试器完美地运行。它找到add-in版本并执行msi

但是,当我使用cscript或双击Windows Explorer执行脚本时,我会收到编译错误。

出于诊断目的,我正在使用/qb开关来查看msi执行。

代码在下面。

Dim mimever 
Dim instcmd 
Dim exist 
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Wscript.shell")
exist = 0
instcmd = "cmd /c start /wait msiexec /i " & Chr(34) & "\server-01ictSoftwareMimecastMSO 7.4Mimecast for Outlook 7.4.2183.20730 (64 bit).msi" & Chr(34) & " ALLUSERS=1" & " /qb /norestart"
if objFSO.FileExists("C:Program FilesMimecastMimecast Outlook Add-Inadxloader64.dll") then
    exist = 1
End if
If exist = 1 then
    mimever = objFSO.GetFileVersion("C:Program FilesMimecastMimecast Outlook Add-Inadxloader64.dll") 
        if mimever = null then 
            mimever = 0
        End if
End if
if mimever <> "8.7.4425.0" Or exist = 0 then
    ObjShell.Run instcmd
End If

错误屏幕截图

修复程序是将instcmd变量线更改为:

instcmd = "cmd /c start """" /wait msiexec /i " & Chr(34) & "\server-01ictSoftwareMimecastMSO 7.4Mimecast for Outlook 7.4.2183.20730 (64 bit).msi" & Chr(34) & " ALLUSERS=1" & " /qb /norestart"

最新更新