我应该将哪个cab部署到我的手持设备以安装CF版本2?

时间:2014-04-29 17:22:20

标签: arm compact-framework windows-ce motorola handhelddevice

根据我阅读here的内容,为了在我的掌上电脑设备上安装CF版本2,我应该在这里复制一个cab文件:

enter image description here

......但是哪一个?

有问题的设备是Symbol 3090,目前只安装了CF版本1.0.3316.00(1.0 SP2)。该设备的操作系统版本为05.00.1400

设备CPU可能是' ARMV4I'作为一个类似的设备(摩托罗拉3190)说它配备了这样的。

更新

根据我点击&#34时看到here的内容;此链接"这里:

- 或 - 如果您的设备上安装了Windows Mobile 5或更高版本,请单击此链接并将文件保存到计算机的桌面。

......似乎" NETCFv2.wm.armv4i.cab "可能是最好的选择。

有任何反驳吗?

更新2

我复制了我认为是那个的文件,并在设备上点击了它,但是:

enter image description here

Sam L. Clemens'杰出的记忆在这里发生?!?

更新3

然后我复制了上面链接中的另一个文件,略有不同(2.12MB而不是2.14MB,一件事),并尝试运行它,并获得与上面相同的错误消息。

更新4

尝试从上一个链接安装,我看到:

enter image description here

更新5

实际上,事实证明我真正需要的是在设备冷启动后安装CF版本1 ......但我不知道CF版本1是否仍然可用。这是现有.exe运行的唯一版本,但我的PC只有版本2和3.5的cab文件...... ???

更新6

在.exe的最新版本(构建和编译,但未在任一设备上运行)中,它在其References区域中有三个,计数三个mscorlib;版本是:

1.0.5000.0
2.0.0.0
3.5.0.0

它们都具有相同的公钥令牌(与屏幕截图中显示的相同)

唯一的其他多参考是System,它同时包含版本2和3.5

AND,在System.Xml下面,有三个coredll.dll,虽然拼写不同:

coredll.dll
CoreDll.dll
CoreDll.DLL

(没有任何信息...... ???)

更新7

我将NETCFv2.wce4.ARMV4.cab复制到3090。

我在设备上双击它,但得到了这个:

enter image description here

所以,我退缩了(选择" No")。

因此,持续不断的手持式开发人员的艰辛。

更新8

该项目设置为Framework Version == v2.0,Platform == Windows CE,Target Device == Windows Mobile 6 Classic Emulator(我拥有的少数模拟器选项之一),输出显示它 正在部署的ARMV4i:

Deploying '%CSIDL_PROGRAM_FILES%\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\ARMV4i    
\sqlce.ppc.wce5.armv4i.CAB'

Deploying '%CSIDL_PROGRAM_FILES%\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\ARMV4i    
\sqlce.repl.ppc.wce5.armv4i.CAB'

Deploying '%CSIDL_PROGRAM_FILES%\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\ARMV4i    
\sqlce.dev.enu.ppc.wce5.armv4i.CAB'

Deploying 'C:\Program Files (x86)\Motorola EMDK for .NET\v2.8\SDK\Smart Devices\wce500\armv4i\symbol.all.arm.cab'

当我在模拟器中运行.exe时,它失败了," 错误 - Platypus.exe发生意外错误 选择退出并重新启动此程序,或选择详细信息以获取更多信息。 此应用程序需要比此设备上安装的版本更新版本的MS .NET Compact Framework 。"

选择"细节"按钮增加了精神痛苦," TypeLoadException 此应用程序需要比此设备上安装的版本更新版本的MS .NET Compact Framework。"

2 个答案:

答案 0 :(得分:1)

首先,您需要弄清楚您正在运行的CE版本。您可以通过转到系统属性找到它。当您在系统属性中时,请注意您正在运行的处理器(arm,mips ......)。如果您运行的是Windows 4.2或更高版本,则会从wce400文件夹中选择一个cab文件。如果您运行的是Windows CE 5.0或更高版本,则会从wce500文件夹中选择一个cab文件。请注意,根据Microsoft文档,您无法在Windows CE 4.1或更低版本上安装.net 2.0,但是,我注意到cab文件的最低版本设置为4.0,因此您可能能够破解它。 就像我之前说的那样,系统属性页面也是您正在使用的处理器类型。从中选择wce400或wce500中的相应子文件夹。在每个处理器的大多数文件夹中,应该只有一个cab文件。如果有多个cab文件,请查看文件名是否包含wm for windows mobile,wce for windows ce,或ppc for Pocket PC,并选择最适合你的文件。

您还可以通过创建带有淡入文本的ini文件并使用ceappmgn.exe为您选择和安装正确的cab文件来完成整个过程中的猜测工作。

[CEAppManager]
Version = 1.0
Component = NETCF

[NETCF]
Description = .NET Compact Framework v2.0
CabFiles=wce400\armv4\NETCFv2.ppc.armv4.cab,wce400\armv4\NETCFv2.wce4.ARMV4.cab,wce400\mipsii\NETCFv2.wce4.MIPSII.cab,wce400\mipsiv\NETCFv2.wce4.MIPSIV.cab,wce400\sh4\NETCFv2.wce4.sh4.cab,wce400\x86\NETCFv2.wce4.x86.cab,wce500\armv4i\NETCFv2.wm.armv4i.cab,wce500\mipsii\NETCFv2.wce5.mipsii.cab,wce500\mipsiv\NETCFv2.wce5.mipsiv.cab,wce500\sh4\NETCFv2.wce5.sh4.cab,wce500\armv4i\NETCFv2.wce5.armv4i.cab

答案 1 :(得分:1)

假设您使用的是3090的WinCE 4.2版本(它来自4.2和5.0),您应该使用NETCFv2.wce4.ARMV4.cab继续安装。 "该程序不兼容......"消息只是一个警告,而不是一个非常聪明的消息。甚至还有一种方法可以编辑驾驶室,以便在您想要的时候删除该警告,尽管我的记忆在确切的方式上让我失望。我之前必须这样做才能进行静音安装(否则唠叨屏幕会挡住你的方式)。