使用Wix应对MSI安装程序的本地化

ahmd0

我正在尝试设置使用Wix开发的MSI安装程序以支持多语言UI,因此我创建Strings_en-us.wxl了包含以下内容的文件:

<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="en-us" xmlns="http://schemas.microsoft.com/wix/2006/localization">
  <String Id="Language">1033</String>
  <String Id="Codepage">1252</String>
  <String Id="DowngradeErrorMessage">A newer version of [ProductName] is already installed.</String>
</WixLocalization>

然后从Product.wxs文件中:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Product Id="$(var.ProduceCode)"
           Name="TestSetupProject1"
           Version="$(var.Version)"
           Language="!(loc.Language)" 
           Codepage="!(loc.Codepage)"
           Manufacturer="$(var.CompanyName)" 
           UpgradeCode="$(var.UpgradeCode)">

我立即得到一个错误:

错误CNDL0276:代码页'!(loc.Codepage)'不是有效的Windows代码页。请检查源文件中的“产品/ @代码页”属性值。

那么,我在这里做错了什么?

ahmd0

从缺少任何答复的角度来看,我将得出结论,这是不可能的。

我不确定这是Microsoft的错还是Wix解析器中的某些遗漏?唯一的方法是将代码页号直接硬编码到.wxs文件本身中,这非常不方便,因为在重新编译为其他语言时必须将其切换为适当的代码页号。除此之外,无论如何,这些天谁在使用代码页?

PS。为了一劳永逸地修复它,我尝试执行此操作(就像它应该从一开始就完成):

Codepage="UTF-8"

它进行了编译,但是生成的MSI文件的UI看起来像这样:)

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用WiX创建.msi安装程序

来自分类Dev

Wix安装程序-如何在输出文件夹中使用MSI添加文件

来自分类Dev

Wix安装程序包产生损坏的“ msi”

来自分类Dev

使用.NET的Xamarin iOS本地化

来自分类Dev

使用wix安装较新版本的msi时从程序和功能中删除程序

来自分类Dev

Xcode使用错误的本地化

来自分类Dev

安装程序属性选项卡下的WiX本地化乱码

来自分类Dev

使用节点本地化

来自分类Dev

未使用本地化文件

来自分类Dev

Wix * .msi安装程序图标和徽标

来自分类Dev

从APK删除未使用的本地化

来自分类Dev

如何从使用wix创建的.msi文件安装Web应用程序?

来自分类Dev

使用IStringLocalizer本地化数据注释

来自分类Dev

WiX安装程序将dll包含到msi中

来自分类Dev

WIx CustomAction缺少本地化文件夹

来自分类Dev

如何使用wix创建MSI安装程序?

来自分类Dev

如何使用BufferedReader进行本地化?

来自分类Dev

使用JavaScript本地化HTML页面

来自分类Dev

Android使用本地化更改语言

来自分类Dev

进行烧录引导程序的本地化

来自分类Dev

更改MSI安装程序(WIX)的语言

来自分类Dev

使用节点本地化

来自分类Dev

iOS应用程序的本地化

来自分类Dev

不使用本地化选项的翻译

来自分类Dev

WannaCrypt-本地化XP修补程序安装失败

来自分类Dev

在构建本地化安装程序时使用WixIIsExtension和本地化变量错误

来自分类Dev

使用MSI / WiX安装升级Inno Setup安装时,已安装程序中的重复条目

来自分类Dev

Mac - 使用 pyinstaller 本地化 plist

来自分类Dev

使用本地化资源构建 DevOps