维克斯:以下状态,而回滚卸载在法国没有本地化(WIX: Statuses while rolling

2019-10-28 15:36发布

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

安装该产品之后,我们尝试卸载它。 在卸载我们按取消,然后安装进行回滚(这是罚款)。 问题是,在回滚过程中的状态出现在英文...

例如:

我搜索了在英语和法语WXL串,但不能罚他们。

安装在法国OS测试。

有没有人有一个想法,在这些字符串可能来自哪里?

Answer 1:

默认情况下不会产生的ActionText表。

您可以通过添加一个UI元素的您WXS文件,一个自己创建它。 此UI元件具有包含ProgressText元件。 每个ProgressText元素的Id属性设置为一个标准动作的名称。 这样的元件的内文本将覆盖示出了用于该特定操作的字符串。

该ProgressText元素也有一个模板属性。 看看文档每个标准动作来定义相应的模板的位置: 标准操作参考 。 我不知道是哪个具体的行动显示你正在寻找的字符串。

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

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>

本地化文件

<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>

注:我不知道西班牙语,我只是让谷歌翻译。

这里是你可能想看看正确的顺序存在的标准操作的列表:

  • InstallInitialize行动
  • ProcessComponents行动
  • InstallFiles动作
  • CreateShortcuts行动
  • WriteRegistryValues行动
  • RegisterUser行动
  • RegisterProduct行动
  • PublishFeatures行动
  • PublishProduct行动
  • InstallFinalize行动

我的知识是基于一本书具有以下ISBN:978-1782160427



Answer 2:

你在引用您的安装进度字符串?

维克斯默认不包括这些,所以你需要确保你手动引用它们如下:

<UIRef Id="WixUI_ErrorProgressText" />

然后,只要你包括你的设置(法语fr-FR ),本地化的字符串将包括在内。



文章来源: WIX: Statuses while rolling back uninstall are not localized in French