【问题标题】:When building an installer with WiX, how can I merge INI files?使用 WiX 构建安装程序时,如何合并 INI 文件?
【发布时间】:2012-11-15 18:51:36
【问题描述】:

我正在寻找的行为是:

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 和安装程序中包含密钥,这似乎是不必要的重复工作。有什么好方法可以做我想做的事吗?

【问题讨论】:

    标签: installation wix windows-installer ini


    【解决方案1】:

    对于 INI 和 XML,这变得非常复杂。按照您的建议,我建议重写您的代码 2 支持 2 个 INI 文件。

    股票.INI

    USER.INI

    这个概念是安装程序始终可以安全地覆盖 STOCK.INI,因为它“拥有”它。

    另一方面,USER.INI 不是由安装程序安装的,而是由应用程序生成的。

    读取设置的代码必须检查 USER.INI 以查看值是否存在,以及它是否没有从 STOCK.INI 中变红。

    这允许对 stock.ini 进行管理,并将 user.ini 用作转换。

    尝试在 1 个文件(尤其是 XML)中管理所有内容非常、非常困难,并且在决定哪些属性要持久化以及哪些属性要替换为数据合并的一部分时需要进行广泛的规划。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-22
      • 1970-01-01
      • 2015-04-09
      • 1970-01-01
      • 1970-01-01
      • 2011-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多