我正在创建一个安装程序,我有一个操作字符串的自定义操作:
<CustomAction Id="CheckDataPath2" Script="vbscript" Execute="immediate" Return="ignore">
<![CDATA[
Dim p
p=Session.Property("DATALOCATION")
Dim s
s=Right(1,p)
If (s="/") OR (s="\") Then
Session.Property("PROCEED")="1"
Else
Session.Property("PROCEED")="2"
End If
]]>
</CustomAction>
<InstallExecuteSequence>
<Custom Action="CheckOrigPath2" Before="InstallInitialize">CONTINUE</Custom>
</InstallExecuteSequence>
在日志文件中,我可以看到此自定义操作引发错误。它说:
Microsoft VBScript runtime error 5: Type mismatch: '[string: "C:\"]'
“C:\”是DATALOCATION属性的值。我尝试了p = CStr(Session.Property("DATALOCATION"))
,但也无效。
任何人都知道这里发生了什么?
任何建议都将不胜感激。