Wix 工具集许可协议多语言问题 [英] Wix toolset license agreement multi-languages issue

查看:48
本文介绍了Wix 工具集许可协议多语言问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了具有多种语言的 license.rtf 文件,当我尝试构建我的 wix 项目时,它显示了这个错误:

I have created license.rtf file which has multiple languages and when I try to build my wix project it shows me this error :

提供的字符串包含在指定数据库代码页1252"中不可用的字符.将这些字符更改为数据库代码页中存在的字符,或通过修改以下属性之一来更新数据库的代码页:Product/@Codepage、Module/@Codepage、Patch/@Codepage、PatchCreation/@Codepage 或 WixLocalization/@代码页.

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.

我尝试在产品标签上添加此属性 Codepage="1256" 它仍然显示相同的错误.

I have tried to add this attribute Codepage="1256" on Product tag it still showing the same error.

你能帮我解决这个问题吗?

Could you please help me solving this issue?

推荐答案

这听起来很神秘.快速搜索发现了这个现有问题:尽管设置了代码页,但包含在数据库代码页中不可用的字符的 Wix 字符串.

This sounded quite mysterious. A quick search found this existing question: Wix string with characters not available in database 's codepage although codepage is set.

MSI 的摘要流 似乎有一个单独的代码页设置 - 代码页摘要属性 - 与包的不同主代码页设置.

It seems there is a separate code page setting for the MSI's summary stream - Codepage Summary property - which is different from the package's main code page setting.

在使用 InstEd(见页面下方).我在 Orca 中并没有真正看到此代码页摘要属性.也许它就在那里,只是我没有看到.

I noticed a code page setting referred to as "SI Codepage" when testing with InstEd (see down the page). I don't really see this codepage summary property in Orca. Perhaps it is there and I just don't see it.

  1. 也许你没有设置这个摘要信息流代码页正确,尽管您设置了主包代码页?

  • 看起来摘要信息流代码页是在Package元素中设置的,并且不会在wxl本地化文件中自动覆盖.这可能是一个 WiX 错误.
  • 我在下面的片段中做了一个手动覆盖 (SummaryCodepage="!(loc.SummaryCodepage)" - 通过本地化字符串从本地化文件中获取值.本质上,您是自己完成这项工作,并且无需 WiX 人员针对您的需要修复错误即可工作.我希望 - 新的 WiX 版本很重要).
  • It looks like the summary information stream code page is set in the Package element and is not automatically overridden in the wxl localization file. This is probably a WiX bug.
  • I have done a manual override in the snippets below (SummaryCodepage="!(loc.SummaryCodepage)" - grabbing the value from the localization file via a localized string. Essentially you are doing the job yourself and that should work without a bug fix from the WiX guys for what you need. I hope - a new WiX release is heavy stuff).

我也在主wxs源文件中取出Product elementCodePage属性来尝试让设置wxl 本地化文件生效.请参阅底部 WiX 错误数据库条目列表中的最后一个链接.

I also took out the CodePage attribute for the Product element in the main wxs source file to try to let the setting from the wxl localization file take effect. See the last link in the list of WiX bug database entries at the bottom.

我的直觉是这里有更多龙".本地化处理起来很奇怪.这将如何在适当的日本机器上运行?我想知道,请做测试.

My gut feel is that "here be more dragons". Localization is very strange to deal with. How will this behave on a proper Japanese machine? I would like to know, please do test.

<小时>

我拼凑了一个快速的模型,但没有时间进行适当的测试.也许有一个快速测试:


I threw together a quick mock-up, but have no time to test properly. Maybe have a quick test:

<Product Id="*" Name="!(loc.ApplicationName)" Language="!(loc.LanguageLcid)" Version="1.0.0" 
                Manufacturer="!(loc.ManufacturerName)" UpgradeCode="PUT-GUID-HERE">

  <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" 
           Languages="!(loc.LanguageLcid)" SummaryCodepage="!(loc.SummaryCodepage)" />

这是日语本地化文件(我不知道这些日语字符是什么意思,我只是复制并粘贴了一些东西来完成我的测试 - 更新:好的, 谷歌翻译来救援!没有发现攻击性语言!):

And here is the Japanese localization file (I have no idea what those Japanese characters state, I just copied and pasted something to get my testing done - UPDATE: OK, Google Translate to the rescue! No offensive language found!):

<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="ja-JP" Codepage="932" Language="1041" 
                 xmlns="http://schemas.microsoft.com/wix/2006/localization">
  <String Id="SummaryCodepage">932</String>
  <String Id="LanguageLcid">1041</String>
  <String Id="ApplicationName">各務原市農地支援・畑地管理システムインストーラー</String>
  <String Id="ManufacturerName">(株)テイコク</String>
</WixLocalization>

我将一些日文字符放入我也放入其中的单个许可协议 RTF(我没有设置不同 RTF 文件的正确本地化包含).设置 GUI 看起来不错 - 它以日语显示,日语字符显示在许可协议中.

I put some Japanese characters into a single license agreement RTF I threw in there as well (I didn't set up proper localized include of different RTF files). The setup GUI looks OK - it shows up in Japanese, and the Japanese characters show up in the license agreement.

请试一试,看看您的问题是否消失.如果没有,也许花一些时间查询WiX 错误数据库.

Please give it a go and see if your problem disappears. If not, maybe spend some time querying the WiX bug database.

WiX bug-tracker near hits:

这篇关于Wix 工具集许可协议多语言问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆