0

わかりました、これは私を夢中にさせています。

XML ファイルを編集するために INSTALLDIR のパスを知る必要がある CA があります。

そこで、RemoveAuthTypesNode という名前のプロパティを [INSTALLDIR] に設定する set property カスタム アクションを設定しました。次に、Install Execute Sequence で SetConfigFolder (installdir をシステム検索パスに設定するプロパティの設定) の後にシーケンスされる RemoveAuthTypesNode CA を持っています。

ログには、RemoveAuthTypesNode が設定されていることがわかります。

MSI (c) (D4:EC) [16:12:05:314]: プロパティの変更: RemoveAuthTypesNode プロパティを追加します。その値は「C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\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

私は何を間違っていますか?私はそれが単純なばかだと確信しています。大変助かります。

4

1 に答える 1