Msbuild 本地化使用防火墙扩展的WiX安装程序

Msbuild 本地化使用防火墙扩展的WiX安装程序,msbuild,localization,wix,wix-extension,Msbuild,Localization,Wix,Wix Extension,我有一个WiX安装程序项目,它使用MSBuild生成MSI文件。WXS文件包括WiX防火墙扩展名: xmlns:fire="http://schemas.microsoft.com/wix/FirewallExtension" 我在MSBuild文件中使用以下定义定义了两个区域性: <PropertyGroup> ... <Cultures>en-us;no-no</Cultures> </PropertyGroup> 两个问题:

我有一个WiX安装程序项目,它使用MSBuild生成MSI文件。WXS文件包括WiX防火墙扩展名:

xmlns:fire="http://schemas.microsoft.com/wix/FirewallExtension"
我在MSBuild文件中使用以下定义定义了两个区域性:

<PropertyGroup>
    ...
   <Cultures>en-us;no-no</Cultures>
</PropertyGroup>
两个问题:我不知道
C:\delivery
目录来自哪里。我没有这样的目录。错误消息中引用的本地化变量已在Firewall_no-no.wxl文件中翻译

当我使用更详细的信息运行MSBuild时,我会在错误消息之前看到以下输出:

Task "Light"
  Command:
  C:\Program Files (x86)\Windows Installer XML v3\bin\Light.exe -cultures:no-no 
  -ext "C:\Program Files (x86)\Windows Installer XML v3\bin\WixUIExtension.dll" 
  -ext "C:\Program Files (x86)\Windows I nstaller XML v3\bin\WixUtilExtension.dll" 
  -ext "C:\Program Files (x86)\Windows Installer XML v3\bin\WixFirewallExtension.dll" 
  -loc lang\Firewall_no-no.wxl -loc lang\WixUI_no-no.wxl 
  -out F:\Projects\MyProd\MyProj\Installer\bin\Debug\no-no\MyInstaller.msi 
  -pdbout F:\Projects\MyProd\MyProj\Installer\bin\Debug\no-no\MyInstaller.wixpdb
  obj\Debug\MyProj.wixobj

如详细信息所示,MSBuild任务导致Light可执行文件具有两个
-loc
参数。不确定这是否是这个问题的原因。关于如何解决这个问题有什么想法吗?

看来这个错误的原因很简单。我得到了异常,因为我没有更改
WixLocalization
标记中的
Culture=“no”
属性。设置此值会使错误消失

C:\delivery\Dev\wix30_public\src\ext\FirewallExtension\wixlib\FirewallExtension.wxs(19):
error LGHT0102: The localization variable !(loc.WixSchedFirewallExceptionsInstall) 
is unknown.  Please ensure the variable is defined.
....
Task "Light"
  Command:
  C:\Program Files (x86)\Windows Installer XML v3\bin\Light.exe -cultures:no-no 
  -ext "C:\Program Files (x86)\Windows Installer XML v3\bin\WixUIExtension.dll" 
  -ext "C:\Program Files (x86)\Windows I nstaller XML v3\bin\WixUtilExtension.dll" 
  -ext "C:\Program Files (x86)\Windows Installer XML v3\bin\WixFirewallExtension.dll" 
  -loc lang\Firewall_no-no.wxl -loc lang\WixUI_no-no.wxl 
  -out F:\Projects\MyProd\MyProj\Installer\bin\Debug\no-no\MyInstaller.msi 
  -pdbout F:\Projects\MyProd\MyProj\Installer\bin\Debug\no-no\MyInstaller.wixpdb
  obj\Debug\MyProj.wixobj