CustomActionData, кажется, не заполняется или недоступен моим VBScript - PullRequest
0 голосов
/ 30 октября 2009

Хорошо, это сводит меня с ума.

У меня есть центр сертификации, которому нужно знать путь INSTALLDIR для редактирования файла XML.

Итак, я установил настраиваемое действие для свойства set, которое устанавливает свойство с именем RemoveAuthTypesNode в [INSTALLDIR]. Затем у меня есть CA RemoveAuthTypesNode, который секвенируется после SetConfigFolder (свойство set, которое устанавливает installdir для пути поиска в системе) в последовательности «Выполнить установку», отложено в системном контексте (не работает, если также просто отложено выполнение).

В журнале я вижу, что RemoveAuthTypesNode установлен:

MSI (c) (D4: EC) [16: 12: 05: 314]: ИЗМЕНЕНИЕ НЕДВИЖИМОСТИ: Добавление Свойство RemoveAuthTypesNode. это значение равно 'C: \ Program Files \ Microsoft SQL Server \ MSRS10.MSSQLSERVER \ Отчетность Услуги \ ReportServer \».

Ошибки пользовательских действий:

Ошибка 1720. Есть проблема с этот пакет установщика Windows. скрипт, необходимый для этой установки полный не может быть запущен. контакт ваш вспомогательный персонал или пакет поставщик. Пользовательское действие Ошибка сценария RemoveAuthTypesNode -2146827864, ошибка времени выполнения Microsoft VBScript: требуется объект: 'objXMLDOMNode' Строка 9, Столбец 1, MSI (s) (78: EC) [16: 12: 23: 916]: Продукт: Пользовательские отчеты ASMI - ошибка 1720. Есть проблема с этим пакетом установщика Windows. Сценарий требуется для этой установки, чтобы завершить не может быть запущен. Обратитесь в службу поддержки Поставщик персонала или упаковки. изготовленный на заказ сценарий действия RemoveAuthTypesNode ошибка -2146827864, Microsoft 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

Что я делаю не так? Я уверен, что это просто глупо. Помощь очень ценится.

1 Ответ

0 голосов
/ 30 октября 2009

Пользовательское действие, которое устанавливает свойство, названное для пользовательского действия vbscript, устанавливало частное свойство (не все в верхнем регистре). Таким образом, настраиваемое действие свойства set должно быть упорядочено в последовательности Execute, а не в последовательности UI. Как только я внес это изменение, в сценарии были получены правильные данные.

Ожидается, что если я сделаю публичное свойство (все в верхнем случае), оно будет работать в последовательности пользовательского интерфейса, однако я не проверял эту теорию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...