Wix(v3.5)インストーラでXmlFile要素を使用して、インストールされているweb.config内の接続文字列を更新しようとしています。しかし、私は次のエラーを軽視しています。XmlFile要素の「有効な外部キーではありません」エラー
有効な外部キーではありません。表: XMLFILE、カラム:ファイル、キー(複数可): UpdateConnectionString
web.configのコンポーネントとファイル要素は、熱を使用して収穫される.wxsに配置されています。ここでは、「Site.Components.wxs」で次のようになります。ここでは
<Component Id="Web.config" Guid="{E66D901B-8140-4162-96F3-8A29253659FE}">
<File Id="Web.config" KeyPath="yes" Source="$(var.WEBSOURCEFOLDER)\Web.config" />
</Component>
は、私がここで
<Directory Id="SiteRoot" Name="SiteRoot">
...
<Component Id="WebConfigChanges" Guid="{A242616E-5515-4E77-8CB3-361A449118A4}" >
<RegistryValue Id="WebConfigChanged" Root="HKLM" Key="SOFTWARE\CompanyName\ProductName" Name="WebConfigChanged" Value="1" Action="write" Type="string" KeyPath="yes" />
<util:XmlFile Id="UpdateConnectionString"
File="[#Web.Config]"
Action="setValue"
ElementPath="//configuration/connectionStrings/add[\[]@name=’Default’[\]]/@connectionString"
Value="[CONNNECTIONSTRING]"/>
</Component>
</Directory>
は、いくつかの参照されている「Site.Feature.wxs」に最も最近使用したコンポーネントであります私がこれまで使用してきたページ:
http://ranjithk.com/2009/11/06/wix-update-application-configuration-files-during-installation/
http://www.mail-archive.com/[email protected]/msg03256.html
duh!私はその鍵をコピー/ペーストすると宣誓していただろう。私は今、エラーメッセージをよく理解しています。それはFile属性が問題を抱えていた鍵だと言っていました。私は何とか 'UpdateConnectionString' Idが気に入らなかったと思っていました。ありがとう! – Rick