2013-03-27 81 views
2

我在研究的是util:XmlConfig(或wix工具箱中的任何東西)是否可以以如下方式使用:允許我在其父節點的特定位置安裝一個節點。這裏有一個例子: wix XmlConfig:是否可以在父節點中的特定位置插入新節點

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

我想插入兩個孩子之間一個新的節點,這樣的結果會是這樣:

... 
<parentNode parentAttr1="parent attr1 value"> 
    <childNode childAttr1="child1 attr1 value" /> 
    <childNode childAttr1="child3 attr1 value" /> 
    <childNode childAttr1="child2 attr1 value" /> 
</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> 
... 

回答

1

我發現沒有辦法通過wix工具來做到這一點。我不得不添加一個自定義操作,將元素放在我想要的位置,然後讓安裝程序添加我想要的細節。不是我認爲的很好,但現在可以工作,卸載也適用於此,儘管它留下了空白的元素。

相關問題