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

Deployment CF-在设备上安装CAB后缺少语言目录,deployment,localization,compact-framework,cab,Deployment,Localization,Compact Framework,Cab,在某些控件上,im使用定位(语言属性)。 除了默认设置(即英语),我还使用其他语言(斯洛文尼亚语) 其他本地化是通过应用程序资源文件完成的 如果我在emulator上调试应用程序,则会有一个目录(si sl),但如果我在emulator上构建CAB并安装CAB,则不会有这样的目录 有人知道为什么会这样吗?我得看看你们出租车的INF,但我有一个理论。CAB文件有一个限制,即它们只能有一个源文件名的实例。如果您有多个实例,CABWIZ不会抱怨或给出错误,它只会使用(IIRC)引用的最后一个实例 这意

在某些控件上,im使用定位(语言属性)。 除了默认设置(即英语),我还使用其他语言(斯洛文尼亚语)

其他本地化是通过应用程序资源文件完成的

如果我在emulator上调试应用程序,则会有一个目录(si sl),但如果我在emulator上构建CAB并安装CAB,则不会有这样的目录


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

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

这意味着您有如下源文件:

./en/resource.dll
./es/resource.dll
./jp/resource.dll
如果生成CAB文件,则目标中resource.dll文件的所有实例都将是相同的,而不是您认为要推送的单独文件。要解决这个问题,你必须在进入驾驶室的源端重命名它们


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

hello ctacke!当im在“si sl”文件夹中调试应用程序到emulator时,这是正确的,因为im只使用“default”和“si sl”。但在安装.CAB时,没有“si sl”文件夹。根据你的理论,如果我有一个以上的文件夹,重复的文件会导致问题,但在我的情况下,我只有一个。看起来cab生成器根本不包含语言文件夹。。。如果我查看[SourceDisksFiles]部分下的.inf文件,该目录没有列出……我想我找到了问题所在。在我的驱动器上,/Si SL文件夹位于../bin文件夹中,而.CAB文件是从../obj文件夹创建的,该文件夹不包括/Si SL文件夹。现在的问题是为什么我的安装项目不从../bin文件夹中获取数据?希望我有道理…答案必须在INF文件中。它准确地告诉了文件将从哪里来。我理解。但是如何设置它是从/bin而不是/obj获取的呢?修改INF文件。文件部分都是指向INF位置的相对路径,因此它可能类似于..\bin\myresource.dll或类似文件。