gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 22:12:16 25 4
gpt4 key购买 nike

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

xmlns:fire="http://schemas.microsoft.com/wix/FirewallExtension"

我在 MSBuild 文件中使用以下定义定义了两种区域性:

<PropertyGroup>
...
<Cultures>en-us;no-no</Cultures>
</PropertyGroup>

我还添加了翻译后的资源:

<ItemGroup>
<EmbeddedResource Include="lang\Firewall_no-no.wxl" />
<EmbeddedResource Include="lang\WixUI_no-no.wxl" />
</ItemGroup>

这些表示将防火墙扩展和 WixUI 扩展翻译成挪威语。当我运行构建时,en-us 部分成功,但 no-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.
....

几个问题:我不知道 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-no" 属性。设置此值会使错误消失。

关于msbuild - 本地化使用防火墙扩展的 WiX 安装程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2690517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com