0

私が探している動作は次のとおりです。

if (!$bIniFileExists)
{
  CopyBaseIniFile($installDir, $newIniFile);
}
else
{
  foreach $key in $newIniFile
  {
     if (!exists $oldIniFile{$key})
     {
        AddKeyValueToIni($oldIniFile, $key, $newIniFile{$key});
     }
  }
}

したがって、古いユーザー設定を保持したいのですが、それでも新しい設定をコピーします。私はWiXを初めて使用し、グーグルでIniFile WiXオブジェクトを見つけましたが、問題は、すべてのデフォルト値を「デフォルトのiniファイル」に保持することです。これにより、デバッガーからアプリケーションを実行しやすくなります。IniFileソリューションを使用すると、config.iniとインストーラーの両方にキーを含める必要があります。これは不要な重複作業のようです。私がやりたいことをする良い方法はありますか?

4

1 に答える 1

1

INIとXMLの場合、これは非常に複雑な混乱になります。あなたが提案していることをするために、私はあなたのコード2サポート2INIファイルを書き直すことを提案します。

STOCK.INI

USER.INI

コンセプトは、インストーラーがSTOCK.INIを「所有」しているため、いつでも安全に上書きできるということです。

一方、USER.INIはインストーラーによってインストールされるのではなく、アプリケーションによって生成されます。

次に、設定を読み取るコードは、USER.INIをチェックして、値が存在するかどうか、およびSTOCK.INIから値が赤くならないかどうかを確認する必要があります。

これにより、stock.iniを管理し、user.iniをトランスフォームとして機能させることができます。

すべてを1つのファイル(特にXML)で管理しようとすると、非常に困難であり、データのマージの一部として保持する属性と置き換える属性を決定する際に、広範な計画が必要になります。

于 2012-11-15T20:40:23.723 に答える