【问题标题】:InstallShield 2009: detect system CSV separator and update INI valueInstallShield 2009:检测系统 CSV 分隔符并更新 INI 值
【发布时间】:2010-08-04 13:54:24
【问题描述】:

好的,您可能知道法语中的 CSV 分隔符不是,,而是;。我们需要将应用程序部署到法语和英语系统。

我想做的是 InstallShield 会检测系统 CSV 分隔符,然后将此值保存在与应用程序一起安装的 INI 中(我知道,INI 很久以前就被注册表过时了,但这是我们的设计选择)。

是否可以使用 InstallShield 2009 做到这一点?我在特殊属性值的帮助文件中找不到该值的任何内容...

编辑:由于可能不清楚,请考虑以下 INI 结构:

[settings]
separator=,

我希望由 InstallShield 本人在 安装时动态设置 separator 值(基于系统设置)。我知道 InstallShield 中的一些“特殊值”,例如 [INSTALLDIR],但我不确定系统 CSV 分隔符是否有一个(您知道多年来,CSV 分隔符是所有 Windows 版本中区域设置的一部分)。

【问题讨论】:

    标签: csv installshield installshield-2009


    【解决方案1】:

    我不知道 , 或 ;作为 INI 规范的一部分。我的理解是:

    [章节]

    键=值

    值的任何定界实际上与 INI 无关。

    从您的问题中不清楚您是使用 InstallScript 项目还是 Basic MSI 项目,因此很难说如何做您想做的事情。一般来说,尽管您应该能够找到一种方法来做到这一点。

    编辑:根据http://en.wikipedia.org/wiki/INI_file ;实际上是为了表示 cmets 而保留的,所以我会确保如果你写了一个类似的 INI

    [章节]

    键=值;更多值

    读取 Section/Key 的 INI 调用实际上返回了您期望它返回的内容。 InstallShield 可能能够写入它,但您可能无法读取它。不试一试就很难说。

    【讨论】:

    • 是的,但我希望根据系统设置更改 INI 中的一个值。在 InstallShield 中,您可以输入特殊值,例如 [INSTALLDIR],我猜有一个 [CSVSEPARATOR] 将在安装时指向系统值。我正在寻找那个特殊的值,然后将其保存在我的 INI 中(带有部分、键和值的常规 ici)。我在 IS2009 中使用了一个基本的 MSI 项目。
    • 你能举例说明你希望它在更新前后的样子吗?
    • 查看我的编辑。它应该看起来像 , 或 ; =之后。
    【解决方案2】:

    我最终读取了注册表项

    HKEY_CURRENT_USER\控制 面板\国际\s列表

    并将该值保存到我的 INI 文件中。

    【讨论】:

      猜你喜欢
      • 2021-12-17
      • 2014-07-08
      • 1970-01-01
      • 1970-01-01
      • 2023-01-19
      • 2020-02-13
      • 2014-12-30
      • 2020-01-28
      • 1970-01-01
      相关资源
      最近更新 更多