Wix (candle.exe) 中的符号错误 LGHT0311,windows-1252
Posted
技术标签:
【中文标题】Wix (candle.exe) 中的符号错误 LGHT0311,windows-1252【英文标题】:Symbole in Wix (candle.exe) error LGHT0311, windows-1252 【发布时间】:2019-11-26 09:01:50 【问题描述】:我正在尝试用热、蜡烛和光来收集一些文件夹。 我正在收集的其中一个驱动程序有 32 位 dll,在它的描述(和产品名称)中有一个“®”符号。
其中一个: 名称:mfx_mft_h264vd_32.dll, 描述:用于英特尔® 核芯显卡的 H.264 解码器 MFT
在 heat.exe 收获期间它能够处理它:
<Component Id="cmp9558AE64A7F57EA5334374D64EF8923F" Guid="9D4432DB-793C-4D1B-A264-C19DE7BDA0CA">
<File Id="filB8B8F8A50451F85AED239C3A3C4F0B92" KeyPath="yes" Source="$(var.SourceDirectory)\win32\mfx_mft_h264vd_32.dll">
<Class Id="1A1703E9-3E7C-41C3-AD5A-795CBFB19552" Context="InprocServer32" Description="H.264 Decoder MFT for Intel® HD Graphics" ThreadingModel="both" />
</File>
<RegistryValue Root="HKCR" Key="MediaFoundation\Transforms\1a1703e9-3e7c-41c3-ad5a-795cbfb19552" Value="H.264 Decoder MFT for Intel® HD Graphics" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="MediaFoundation\Transforms\1a1703e9-3e7c-41c3-ad5a-795cbfb19552" Name="InputTypes" Value="7669647300001000800000AA00389B714832363400001000800000AA00389B717669647300001000800000AA00389B714832363400001000900000AA00389B717669647300001000800000AA00389B714156433100001000800000AA00389B71" Type="binary" Action="write" />
<RegistryValue Root="HKCR" Key="MediaFoundation\Transforms\1a1703e9-3e7c-41c3-ad5a-795cbfb19552" Name="OutputTypes" Value="7669647300001000800000AA00389B714E5631326139AE42BA67FF47CCC13EED7669647300001000800000AA00389B714E56313200001000800000AA00389B71" Type="binary" Action="write" />
<RegistryValue Root="HKCR" Key="MediaFoundation\Transforms\1a1703e9-3e7c-41c3-ad5a-795cbfb19552" Name="Attributes" Value="41464D490100000015CBA788077B344A9128E64C6703C4D313000000000000000700000000000000" Type="binary" Action="write" />
<RegistryValue Root="HKCR" Key="MediaFoundation\Transforms\1a1703e9-3e7c-41c3-ad5a-795cbfb19552" Name="MFTFlags" Value="36" Type="integer" Action="write" />
<RegistryValue Root="HKCR" Key="MediaFoundation\Transforms\Categories\d6c02d4b-6833-45b4-971a-05a4b04bab91\1a1703e9-3e7c-41c3-ad5a-795cbfb19552" Value="" Type="string" Action="write" />
</Component>
问题是当我尝试使用candle.exe时,它返回错误消息:
C:\MultipackageInstaller\Developments\MultipackageInstaller\ComponentMsiosConfig\WixTemplate\HarvestedFiles.wxs(846) : error LGHT0311 : A string was provided with characters that are not available in the specified
database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@
Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
C:\MultipackageInstaller\Developments\MultipackageInstaller\ComponentMsiOSConfig\WixTemplate\HarvestedFiles.wxs(848) : error LGHT0311 : A string was provided with characters that are not available in the specified
database code page '1252'. Either change these characters to ones that exist in the database's code page, or update the database's code page by modifying one of the following attributes: Product/@Codepage, Module/@
Codepage, Patch/@Codepage, PatchCreation/@Codepage, or WixLocalization/@Codepage.
所以我查看了代码页 1252,似乎“®”是由这种编码格式处理的。 (https://en.wikipedia.org/wiki/Windows-1252)
我尝试将代码格式强制为 wix,但没有任何更改。
你知道我为什么会有这些消息吗? “®”确实是问题的象征吗? 如果它在代码页 1252 中,为什么它也不被 wix 支持? 最后,我有什么解决方案?
感谢您一直阅读我的内容,我希望有人对此有所了解
【问题讨论】:
【参考方案1】:显然这是 Visual Studio 缓存的问题。
我无法真正解释它,但在清理我的“AppData\Roaming\Microsoft\VisualStudio”文件夹并重建所有内容后,我不再遇到问题了。
【讨论】:
以上是关于Wix (candle.exe) 中的符号错误 LGHT0311,windows-1252的主要内容,如果未能解决你的问题,请参考以下文章