CustomActionData似乎并没有被我的VBScript来填充或accessable
-
22-07-2019 - |
题
OK,这是驾驶我疯狂。
我有需要知道INSTALLDIR的路径编辑XML文件中的CA。
所以,我设置,设置一个名为RemoveAuthTypesNode为[INSTALLDIR]属性的一组属性的自定义动作。然后,我有SetConfigFolder在安装执行序列,在系统上下文延迟(其设定INSTALLDIR到系统搜索的路径的一组属性)之后进行测序一个RemoveAuthTypesNode CA(当刚刚递延Exec的任一不工作)。
在日志我看到RemoveAuthTypesNode设置:
MSI(C)(D4:EC)[16:12:05:314]: 属性更改:添加 RemoveAuthTypesNode财产。它的 值是“C:\ Program Files文件\微软 SQL 服务器\ MSRS10.MSSQLSERVER \报告 服务\的ReportServer \”。
自定义动作错误:
错误1720.There是一个问题 这个Windows安装程序包。一种 此安装所需的脚本 完全无法运行。联系 您的支持人员或程序包 供应商。自定义操作 RemoveAuthTypesNode脚本错误 -2146827864,微软VBScript运行时错误:所需的对象: 'objXMLDOMNode' 9行,第1列,MSI (一个或多个)(78:EC)[16:12:23:916]:产品: ASMI用户定义的报表 - 错误 1720.There与此Windows安装程序包的问题。脚本 此安装完成需要 无法运行。请联系您的支持 人员或程序包供应商。习惯 行动RemoveAuthTypesNode脚本 错误-2146827864,微软的VBScript 运行时错误:所需的对象: 'objXMLDOMNode' 9行,第1列,
此失败,因为路径不正确,因此XMLDOM对象从未载荷。我知道这是因为,如果我硬编码的路径,一切工作正常。
此外,当我搜索CustomActionData我预期,这将是在那里被设置。日志
下面是从自定义动作的代码。该MSGBOX只是为了调试。它总是显示什么。
strConfigFile = session.Property("CustomActionData") & "rsreportserver.config"
MsgBox session.Property("CustomActionData")
Set xDoc = CreateObject("Microsoft.XMLDOM")
xDoc.async = False
xDoc.Load(strConfigFile)
set objXMLDOMNode = xDoc.selectSingleNode("//Configuration/Authentication/AuthenticationTypes")
set objParentNode = objXMLDOMNode.parentNode
objParentNode.removeChild(objXMLDOMNode)
xDoc.save(strConfigFile)
Set xDoc = Nothing
我在做什么错了?我敢肯定,这是愚蠢的简单的东西。帮助不胜感激。
解决方案
,设置命名为VBScript的自定义动作被设置私人财产(不是所有大写)的属性的自定义动作。因此,一套属性自定义操作有执行顺序,而不是UI序列进行测序。一旦我在此变化的正确数据是在脚本被检索。
据,如果我做了一个公共属性(全部大写),预计将有工作在UI序列之中,但是,我没有测试这个理论。