Localization WIX:回滚卸载时的状态未本地化为法语

Localization WIX:回滚卸载时的状态未本地化为法语,localization,installation,wix,status,Localization,Installation,Wix,Status,我已经使用WIX V3创建了安装,并将其本地化为法语。 安装工作正常,但后来我们发现了一件奇怪的事情: 安装产品后,我们尝试卸载它。 在卸载过程中,我们按cancel,然后安装程序执行回滚(这很好)。问题是,在回滚期间,状态以英语显示 例如: 我已经用英语和法语搜索了字符串wxl,但没有找到它们 安装在法国操作系统上进行了测试 有人知道这些字符串可能来自哪里吗?您是否在设置中引用了进度字符串 WiX默认情况下不包括这些,因此您需要确保手动引用它们,如下所示: <UIRef Id="Wix

我已经使用WIX V3创建了安装,并将其本地化为法语。 安装工作正常,但后来我们发现了一件奇怪的事情:

安装产品后,我们尝试卸载它。 在卸载过程中,我们按cancel,然后安装程序执行回滚(这很好)。问题是,在回滚期间,状态以英语显示

例如:

我已经用英语和法语搜索了字符串wxl,但没有找到它们

安装在法国操作系统上进行了测试


有人知道这些字符串可能来自哪里吗?

您是否在设置中引用了进度字符串

WiX默认情况下不包括这些,因此您需要确保手动引用它们,如下所示:

<UIRef Id="WixUI_ErrorProgressText" />


然后,只要您在设置中包括法语(
fr-fr
),本地化字符串就会包括在内。

您是否在设置中引用进度字符串

WiX默认情况下不包括这些,因此您需要确保手动引用它们,如下所示:

<UIRef Id="WixUI_ErrorProgressText" />

然后,只要在设置中包含法语(
fr-fr
),就会包含本地化字符串。

默认情况下不会创建ActionText表

您必须通过向wxs文件之一添加UI元素来创建它。此UI元素必须包含ProgressText元素。将每个ProgressText元素的Id属性设置为标准操作的名称。此类元素的内部文本将覆盖为该特定操作显示的字符串

ProgressText元素还有一个模板属性。查看每个标准操作的文档,在此处定义适当的模板:。我不知道哪个特定操作正在显示您要查找的字符串

最好不要硬编码每个ProgressText元素的值,而是使用本地化文件。为每个ProgressText元素创建两个本地化字符串。一个用于模板,一个用于实际值

范例

wxs文件

<UI>
  <ProgressText Action="InstallFiles" Template="!(loc.InstallFilesTemplate)">!(loc.InstallFiles)</ProgressText>
  <ProgressText Action="CreateShortcuts" Template="!(loc.CreateShortcutsTemplate)">!(loc.CreateShortcuts)</ProgressText>
  <ProgressText Action="WriteRegistryValues" Template="!(loc.WriteRegistryValuesTemplate)">!(loc.WriteRegistryValues)</ProgressText>
  <ProgressText Action="RegisterUser" Template="!(loc.RegisterUserTemplate)">!(loc.WriteRegistryValues)</ProgressText>
  <ProgressText Action="RegisterProduct" Template="!(loc.RegisterProductTemplate)">!(loc.RegisterProduct)</ProgressText>
  <ProgressText Action="PublishFeatures" Template="!(loc.PublishFeaturesTemplate)">!(loc.PublishFeatures)</ProgressText>
  <ProgressText Action="PublishProduct" Template="!(loc.PublishProductTemplate)">!(loc.PublishFeatures)</ProgressText>
  <ProgressText Action="InstallFinalize" Template="!(loc.InstallFinalizeTemplate)">!(loc.InstallFinalize)</ProgressText>
</UI>

!(loc.InstallFiles)
!(见附件1)
!(loc.writeRegistryValue)
!(loc.writeRegistryValue)
!(参见注册产品)
!(见附件PublishFeatures)
!(见附件PublishFeatures)
!(见附件4)
本地化文件

<String Id="InstallFiles">Installazione del archivos</String>
<String Id="InstallFilesTemplate">Archivo: [1], Tamaño de archivo: [6], Directorio: [9]</String>
<String Id="CreateShortcuts">Creacion de los atajos</String>
<String Id="CreateShortcutsTemplate">Atajo [1] creado</String>
<String Id="WriteRegistryValues">Escribir en registro</String>
<String Id="WriteRegistryValuesTemplate">Camino: [1], Nombre: [2], valor: [3]</String>
<String Id="RegisterUser">Registrar a los usuarios</String>
<String Id="RegisterUserTemplate">Usario: [1]</String>
<String Id="RegisterProduct">Registrar producto</String>
<String Id="RegisterProductTemplate">Producto: [1]</String>
<String Id="PublishFeatures">Publicar las características</String>
<String Id="PublishFeaturesTemplate">Caraterística: [1]</String>
<String Id="PublishProduct">Publicar el producto</String>
<String Id="PublishProductTemplate">Producto: [1]</String>
<String Id="InstallFinalize">Finalizar la instalación</String>
<String Id="InstallFinalizeTemplate">Finalizar [ProductName]</String>
Installazione del archivos
阿奇沃:[1],塔马诺·德·阿奇沃:[6],导演:[9]
阿塔霍斯酒店
阿塔乔[1]克雷多
注册描述
卡米诺:[1],名字:[2],勇气:[3]
奥萨里奥斯酒店
乌萨里奥:[1]
注册产品
Producto:[1]
卡拉克斯特公共酒店
卡拉季斯卡:[1]
公共产品
Producto:[1]
安塔拉西翁酒店
终结器[ProductName]
注:我不懂西班牙语,我只是让谷歌翻译

以下是按正确顺序发生的标准操作列表,您可能需要查看:

  • 安装初始化操作
  • ProcessComponents操作
  • 安装文件操作
  • 创建快捷方式操作
  • WriteRegistryValues操作
  • 注册器操作
  • RegisterProduct操作
  • 出版特色行动
  • 出版产品行动
  • 安装完成操作
我的知识是基于一本书名为以下ISBN的书:978-1782160427

默认情况下不会创建ActionText表

您必须通过向wxs文件之一添加UI元素来创建它。此UI元素必须包含ProgressText元素。将每个ProgressText元素的Id属性设置为标准操作的名称。此类元素的内部文本将覆盖为该特定操作显示的字符串

ProgressText元素还有一个模板属性。查看每个标准操作的文档,在此处定义适当的模板:。我不知道哪个特定操作正在显示您要查找的字符串

最好不要硬编码每个ProgressText元素的值,而是使用本地化文件。为每个ProgressText元素创建两个本地化字符串。一个用于模板,一个用于实际值

范例

wxs文件

<UI>
  <ProgressText Action="InstallFiles" Template="!(loc.InstallFilesTemplate)">!(loc.InstallFiles)</ProgressText>
  <ProgressText Action="CreateShortcuts" Template="!(loc.CreateShortcutsTemplate)">!(loc.CreateShortcuts)</ProgressText>
  <ProgressText Action="WriteRegistryValues" Template="!(loc.WriteRegistryValuesTemplate)">!(loc.WriteRegistryValues)</ProgressText>
  <ProgressText Action="RegisterUser" Template="!(loc.RegisterUserTemplate)">!(loc.WriteRegistryValues)</ProgressText>
  <ProgressText Action="RegisterProduct" Template="!(loc.RegisterProductTemplate)">!(loc.RegisterProduct)</ProgressText>
  <ProgressText Action="PublishFeatures" Template="!(loc.PublishFeaturesTemplate)">!(loc.PublishFeatures)</ProgressText>
  <ProgressText Action="PublishProduct" Template="!(loc.PublishProductTemplate)">!(loc.PublishFeatures)</ProgressText>
  <ProgressText Action="InstallFinalize" Template="!(loc.InstallFinalizeTemplate)">!(loc.InstallFinalize)</ProgressText>
</UI>

!(loc.InstallFiles)
!(见附件1)
!(loc.writeRegistryValue)
!(loc.writeRegistryValue)
!(参见注册产品)
!(见附件PublishFeatures)
!(见附件PublishFeatures)
!(见附件4)
本地化文件

<String Id="InstallFiles">Installazione del archivos</String>
<String Id="InstallFilesTemplate">Archivo: [1], Tamaño de archivo: [6], Directorio: [9]</String>
<String Id="CreateShortcuts">Creacion de los atajos</String>
<String Id="CreateShortcutsTemplate">Atajo [1] creado</String>
<String Id="WriteRegistryValues">Escribir en registro</String>
<String Id="WriteRegistryValuesTemplate">Camino: [1], Nombre: [2], valor: [3]</String>
<String Id="RegisterUser">Registrar a los usuarios</String>
<String Id="RegisterUserTemplate">Usario: [1]</String>
<String Id="RegisterProduct">Registrar producto</String>
<String Id="RegisterProductTemplate">Producto: [1]</String>
<String Id="PublishFeatures">Publicar las características</String>
<String Id="PublishFeaturesTemplate">Caraterística: [1]</String>
<String Id="PublishProduct">Publicar el producto</String>
<String Id="PublishProductTemplate">Producto: [1]</String>
<String Id="InstallFinalize">Finalizar la instalación</String>
<String Id="InstallFinalizeTemplate">Finalizar [ProductName]</String>
Installazione del archivos
阿奇沃:[1],塔马诺·德·阿奇沃:[6],导演:[9]
阿塔霍斯酒店
阿塔乔[1]克雷多
注册描述
卡米诺:[1],名字:[2],勇气:[3]
奥萨里奥斯酒店
乌萨里奥:[1]
注册产品
Producto:[1]
卡拉克斯特公共酒店
卡拉季斯卡:[1]
公共产品
Producto:[1]
安塔拉西翁酒店
终结器[ProductName]
注:我不懂西班牙语,我只是让谷歌翻译

以下是按正确顺序发生的标准操作列表,您可能需要查看:

  • 安装初始化操作
  • ProcessComponents操作
  • 安装文件操作
  • 创建快捷方式操作
  • WriteRegistryValues操作
  • 注册器操作
  • RegisterProduct操作
  • 出版特色行动
  • 出版产品行动
  • 安装完成操作

我的知识来源于一本书,书号如下:978-1782160427

它们位于MSI的ActionText表中:。也许Wix没有法文字符串。谢谢你的提示。我在WIX源代码中搜索了英文字符串,但什么也没找到。我的msi中没有ActionText表。。。我不明白安装程序从哪里加载本地化字符串。我的ProductLanguage属性正确(1036)。它们位于MSI的ActionText表中:。也许Wix没有法文字符串