インストール時にXMLファイルに追加した要素をアンインストールするときに削除するのに問題があります。これが私のセットアップです:XMLファイルはインストール前にマシン上にすでに存在し、このインストーラーはアプリケーションへの「アドイン」用であるため、インストール後に削除することはできません。インストール時にXMLファイルにいくつかの要素を追加しますが、アンインストール時にそれらの要素の一部を削除したいだけです。
オンラインで回答を探していますが、自分の状況に合ったものが見つかりません。この投稿の構文をコピーしようとしました:WiXでXML要素を削除しますが、それでも機能しません。ただし、インストール時に既存の要素を削除して、要素がすでに存在する場合はインストール時に置換を実行します。つまり、要素の削除はインストール時に機能しますが、まったく同じタグを使用します(Id
attrもちろん)アンインストールでは機能しません。
これが私のコードです:
<Component Id="C_Component" Guid="GUID-HERE">
<File Id="MainProductFile" ... />
<!-- XmlConfigs for installation are here -->
<util:XmlConfig Id="XMLDEL_binding"
File="[FILE_DIR_PATH]\File.config"
Sequence="1"
On="uninstall"
Action="delete"
ElementPath="/configuration/system.serviceModel/bindings/customBinding"
VerifyPath="/configuration/system.serviceModel/bindings/customBinding/binding[\[]@name='!(wix.binding.name)'[\]]"
Node="element" />
<util:XmlConfig Id="XMLDEL_endpoint"
File="[FILE_DIR_PATH]\File.config"
Sequence="2"
On="uninstall"
Action="delete"
ElementPath="/configuration/system.serviceModel/client"
VerifyPath="/configuration/system.serviceModel/client/endpoint[\[]@name='!(wix.endpoint.name)' and @bindingConfiguration='!(wix.endpoint.bindingConfiguration)'[\]]"
Node="element" />
</Component>