2

私が研究しているのは、util:XmlConfig(またはwixツールチェスト内の何か)を使用して、親ノード内の特定の位置にノードをインストール時に作成できるかどうかです。次に例を示します。

...
<parentNode parentAttr1="parent attr1 value">
    <childNode childAttr1="child1 attr1 value" />
    <childNode childAttr1="child2 attr1 value" />
</parentNode>
...

2つの子の間に新しいノードを挿入して、結果が次のようになるようにします。

...
<parentNode parentAttr1="parent attr1 value">
    <childNode childAttr1="child1 attr1 value" />
    <childNode childAttr1="child3 attr1 value" />
    <childNode childAttr1="child2 attr1 value" />
</parentNode>
...

これまでのコードでは、新しいノードをparentNodeの最後の子として配置し、次のようになります。

...
<util:XmlConfig
    Id="MY_ID"
    File="[PROPERTY_SQLRSPATH]ReportServer\rssrvpolicy.config"
    Action="create"
    On="install"
    ElementPath="//parentNode"
    Node="document"
    Sequence="1">
    <![CDATA[
        <childNode childAttr1="child3 attr1 value" />
]]>
</util:XmlConfig>
...

つまり、一言で言えばそこにあります。これに関するどんな助けも大歓迎です!

編集:このトピックに関する別のしわは、この構造を与えられます:

...
<parentNode parentAttr1="parent attr1 value">
    <Abc anAttr="a value" />
    <Def someAttr="some value" />
</parentNode>
...

現在の子要素の間に別の兄弟要素を挿入して、最終的な構造が次のようになるようにする方法はありますか?

...
<parentNode parentAttr1="parent attr1 value">
    <Abc anAttr="a value" />
    <Ghi YaAttr="yet another value" />
    <Def someAttr="some value" />
</parentNode>
...

4

1 に答える 1

1

私はwixツールを介してこれを行う方法を見つけられませんでした。要素を必要な場所に配置するカスタムアクションを追加してから、インストーラーに必要な詳細を追加させる必要がありました。私が素晴らしいと思うものではありませんが、今のところは機能します。アンインストールはこれでも機能しますが、空の要素はそのまま残ります。

于 2013-05-13T22:54:09.097 に答える