CF - 在设备上安装CAB后缺少语言目录

时间:2010-09-14 08:01:09

标签: deployment localization compact-framework cab

在我使用locatisation(语言属性)的一些控件上。 除了默认(即英语),我还使用其他语言(斯洛文尼亚语)。

使用应用程序资源文件完成其他本地化。

如果我在模拟器上调试应用程序有一个目录(si-sl),但是如果我构建一个CAB并在模拟器上安装CAB那里就没有这样的目录。

有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

我必须看看你的CAB的INF,但我有一个理论。 CAB文件有一个限制,即它们只能有一个文件名的实例。如果你有多个实例,CABWIZ不会抱怨或给出错误,它只会使用(IIRC)引用的最后一个。

这意味着你有这样的源文件:

./en/resource.dll
./es/resource.dll
./jp/resource.dll

如果您构建CAB文件,目标中resource.dll文件的所有实例都将是相同的,而不是您正在推送的认为的单独文件。要解决此问题,您必须在源端重命名它们进入CAB。

可以使用CAB将它们重命名为全部具有相同名称(即resource.dll),因此手动修改INF仍然可以获得所需的输出结构。您只需修改CAB构建过程即可重命名重复项。