2012-03-20 6 views
1

私は、インストールプロセス中に私のmachine.configファイルを変更するためにそのような何かのXMLConfigを使用する必要があります。wix XmlConfig - loc変数を定義する方法は?

<util:XmlConfig 
    Id="Machine_Config_Xml_Root" 
    File="[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config" 
    Action="create" 
    On="install" 
    ElementPath="//configuration/system.data/DbProviderFactories" 
    Name="add" 
    Node="element" 
    Sequence="1"> 
     </util:XmlConfig> 
     <util:XmlConfig 
       Id="Machine_Config_Xml_4" 
       File="[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config" 
       ElementPath="Machine_Config_Xml_Root" 
       Name="name" 
       Value="My Data Provider" 
       Sequence="2"> 
     </util:XmlConfig> 
     <util:XmlConfig 
       Id="Machine_Config_Xml_3" 
       File="[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config" 
       ElementPath="Machine_Config_Xml_Root" 
       Name="invariant" 
       Value="Sample.MyDataProvider" 
       Sequence="2"> 
     </util:XmlConfig> 
     <util:XmlConfig 
       Id="Machine_Config_Xml_5" 
       File="[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config" 
       ElementPath="Machine_Config_Xml_Root" 
       Name="description" 
       Value="My Data Provider" 
       Sequence="2"> 
     </util:XmlConfig> 
     <util:XmlConfig 
       Id="Machine_Config_Xml_2" 
       File="[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config" 
       ElementPath="Machine_Config_Xml_Root" 
       Name="type" 
       Value="Eli.Sample.MyDataProvider, Sample.MyDataProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5b9d34470b87a97f" 
       Sequence="2"> 
     </util:XmlConfig> 

     <util:XmlConfig 
      Id="Machine_Config_Xml_Uninstall_1" 
      File="[WindowsFolder]Microsoft.NET\Framework\v2.0.50727\CONFIG\Machine.Config" 
      Action="delete" 
      On="uninstall" 
      ElementPath="//configuration/system.data/DbProviderFactories/add[\[]@invariant='Sample.MyDataProvider'[\]]" 
      Sequence="1"> 
     </util:XmlConfig> 

をしかし、それが原因のようなエラーにはコンパイルされません!

ローカライズ変数(LOC .msierrXmlConfigFailedOpen)は不明です。

このloc.msierrXmlConfigFailedOpen変数などを定義するにはどうすればよいですか?私はen-Usの文化(この場合は変数が定義されています)に切り替えることはしたくありません。自分の現在の文化を維持し、loc変数を自分で定義する必要があります。これをどうやって行うことができ、wxsファイルのどこに宣言を入れるべきですか?

答えて

2

あなたが参照したこのフレーズは、UtilExtensionのテキストの中にあります。これは、WiXソースの相対パス:/src/ext/UtilExtension/wixlib/en-us.wxlです。 UtilExtensionを参照し、別のカルチャー(en-USではない)のMSIを構築している限り、あなたはUtilExtensionと一緒にこのフレーズと他のフレーズを翻訳していないので、このエラーが発生します。

次の操作を実行できます。

  • があなたのWiXソースへen-us.wxlとは文化のために適切な語句の翻訳とそのファイルに<String>要素の値を置き換えるあなたは
  • をターゲット文化に名前を変更することをコピーしますあなたがトンをお勧めしますlight.exeする
  • フィードこのファイル(<localizations>節)

をターゲットo WiX.chm

の "Cultures to Build"トピックで説明されている言語フォールバックの概念を利用する
関連する問題