是否有WiX逻辑:if(OSLanguage == en-US)

时间:2014-03-01 10:10:27

标签: localization wix

在WiX .wxs文件中,我们可以在没有'if'逻辑的情况下做事。 在WiX中有任何逻辑:

if (OSLanguage==en-US)
{
    copy file1 to dir1
}
else if(OSLanguage==zh-CN)
{
    copy file2 to dir2
}
else if(OSLanguage==de-DE)
{
    copy file3 to dir3
}
else
{
    copy file4 to dir4
}

2 个答案:

答案 0 :(得分:0)

将file1放入正在安装到dir1的组件中,并为其指定SystemLanguageID = 1033的条件。

与其他组件中的其他文件类似。

http://msdn.microsoft.com/en-us/library/aa372056(v=vs.85).aspx

在每用户安装中,如果用户使用一种语言且操作系统是另一种语言,则使用UserLanguageID会更有意义。

http://msdn.microsoft.com/en-us/library/aa372384(v=vs.85).aspx

答案 1 :(得分:0)

我得到了一个解决方案,如下所示。 我们可以在复制文件时使用Condition。

<DirectoryRef Id="INSTALLLOCATION">
  <Component Id="resources.dll.zh_HANS" Guid="B7F590B2-1F3F-441E-B16F-EEF7AE240502">
    <Condition>UserLanguageID=2052</Condition>
    <File Id="resources.dll.zh_HANS" Source="E:\share\tmp\res\res\out\zh-Hans\res.dll" KeyPath="yes"/>
  </Component>