Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WiX(Windows Installer Xml),创建通用变量_Windows_Wix - Fatal编程技术网

WiX(Windows Installer Xml),创建通用变量

WiX(Windows Installer Xml),创建通用变量,windows,wix,Windows,Wix,我通过一些在线教程为WiX学习了几天。我看了三个案例来创建一些变量 然后将值用作$(var.Variable) 创建一个本地化文件。输入内容为值,然后使用值为!(位置变量) 创建一个包含文件。键入内容为,然后包含文件,使用片段中的属性为[VARIABLE] 我知道本地化文件主要用于不同的地区。但我不知道什么时候我们应该使用每个案例。有人能帮我解释一下吗?我没有太多地使用这些结构。然而,我认为Bob Arnson(WiX开发者)在中对此做了很好的解释(解释很好,但我还是把自己弄糊涂了——碳错误)

我通过一些在线教程为WiX学习了几天。我看了三个案例来创建一些变量

  • 然后将值用作
    $(var.Variable)
  • 创建一个本地化文件。输入内容为
    ,然后使用值为
    !(位置变量)
  • 创建一个包含文件。键入内容为
    ,然后包含文件,使用片段中的属性为
    [VARIABLE]

  • 我知道本地化文件主要用于不同的地区。但我不知道什么时候我们应该使用每个案例。有人能帮我解释一下吗?

    我没有太多地使用这些结构。然而,我认为Bob Arnson(WiX开发者)在中对此做了很好的解释(解释很好,但我还是把自己弄糊涂了——碳错误)

    基本上是

    • 变量-
      $(var.Variable)
      -由WiX预处理器解析-它发生在编译之前(
      Candle.exe
    • 本地化变量-
      !(loc.LanguageLcid)
      -在链接时解析(
      Light.exe
      )。链接过程可以以不同的语言输出多个MSI文件。因此,本地化是一个链接时间过程
    • 有关本地化示例,请参见下面的链接3。本地化后,将对大部分或所有字段进行本地化。在下面的示例中,我没有本地化
      版本
      升级代码
      ——它们对于所有输出MSI文件都保持不变
    • 您必须确定在每种情况下应该本地化的内容。是否应本地化
      制造商
      名称?如果你想在亚洲设置中使用亚洲字符,或者在其他情况下使用等效的拉丁字符名
    • 包含文件在编译之前只包含在WiX源代码中。这就像在C++中包含头文件一样。这使得它成为一个预处理器构造。有关包含文件使用的讨论,请参见下面的链接2
    • 更新:如果您使用WiX制作
      setup.exe
      启动器,也有。
    • WixVariable:
    我相信还有其他技术原因。或者需要照明。在
    WiX 4
    中也可能与我在
    WiX 3
    中所习惯的有所不同,并且可能存在我不知道的计划变更


    某些链接

  • (便于检索)
  • (对预处理器构造与创建设置风格的其他有用构造的详细描述)
  • (使用本地化)
  • 在各种预处理器构造上
    $(env.someval)
    $(sys.someval)
    $(var.someval)

  • 您可能仍然会有三个选择,但属性是Windows Installer功能,而不是WiX功能,并且这三个属性中的任何一个都可以在WiX包含文件中使用,这是一个独立的概念。一般来说,本教程似乎过度使用了单词变量,并创建了错误的等价关系。