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

问题描述 投票:0回答:1

我做了一个小的登录脚本,其任务是安装Mimecast Add-in for Outlook

脚本首先检查是否存在插件dll文件,如果是,则采用产品版本。如果版本与我们当前的8.7.4425.0插件匹配,则它执行msi的静默安装。如果addin dll不存在,安装也会执行。

我使用VBSEdit来构建我的脚本,这个脚本完全从调试器运行。它找到add-in版本并执行msi

但是,当我使用cscript执行脚本或从Windows资源管理器双击时,我得到编译错误。

出于诊断目的我正在使用/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-01\ict\Software\Mimecast\MSO 7.4\Mimecast for Outlook 7.4.2183.20730 (64 bit).msi" & Chr(34) & " ALLUSERS=1" & " /qb /norestart"

if objFSO.FileExists("C:\Program Files\Mimecast\Mimecast Outlook Add-In\adxloader64.dll") then
    exist = 1
End if

If exist = 1 then
    mimever = objFSO.GetFileVersion("C:\Program Files\Mimecast\Mimecast Outlook Add-In\adxloader64.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

Error screenshot

vbscript compilation outlook-addin
1个回答
0
投票

解决方法是将instcmd变量行更改为:

instcmd = "cmd /c start """" /wait msiexec /i " & Chr(34) & "\\server-01\ict\Software\Mimecast\MSO 7.4\Mimecast for Outlook 7.4.2183.20730 (64 bit).msi" & Chr(34) & " ALLUSERS=1" & " /qb /norestart"
© www.soinside.com 2019 - 2024. All rights reserved.