安装的.exes将手持设备上的哪些位置用于其相关文件?

时间:2014-04-25 17:57:13

标签: dependencies compact-framework windows-ce dependency-management circular-dependency

我觉得奇怪的情况是:我工作的项目的旧.exe在手持设备上运行。新版本没有(甚至完全相同的代码,没有添加)。

即使在一台手持设备上运行的.exe也没有。有关一些血腥的详细信息,请参阅this

根据this,我认为我可以追踪问题。

但是这个PC工具包告诉我那个(PC /构建机器)环境缺少什么。我需要知道CE设备上缺少/错误的内容。

那么为了“伪造”我的PC上的环境,我需要将掌上电脑中的哪些文件复制到PC? IOW,在CE设备上的.exe目录中哪些目录会查找其必需品?

更新

毫不奇怪,the CF Whisperer(ctacke)是对的。这是我在.csproj文件中看到的内容:

在较新的/ 3190设备上运行的实用程序:

<NativePlatformName>Windows CE</NativePlatformName>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>

的旧应用程序在较新的/ 3190设备上运行:

<PlatformFamilyName>WindowsCE</PlatformFamilyName>
<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>

因为我在新旧版本的来源之间来回走动,像一只母熊一样捣蛋,s s grow grow whose whose whose whose cub cub and and and and and and and and and不想将项目升级到3.5;我将它留在2.0而不是“降级”设备。

那么:我如何将手持设备“降级”到较旧的CF版本?

更新2

所以(有点)现在才有意义:

一个手持设备(3190)安装了CF 3.5;因此,为CE 3.5构建的实用程序在其上运行,而为CE 2.0构建的应用程序则不运行。

OTOH,另一个手持设备(Motorola / Symbol 3090)安装了CF 2.0(Windows \ cgacutil.exe报告为Compact Framework版本1.0.3316.00)。为CE 2.0构建的应用程序在其上运行,但实用程序没有。

Arghhh !!!!!!!!!!!!!!!!!

版本化是女性“说服”的犬,可以这么说!

为什么操作系统和子系统不是“更智能”,以便它们能够自动检测到这种类型的Arcana,并且可以自动地自动修复这种类型,或者至少可以通过单击按钮为您执行此操作?我讨厌把我的日子压在底盘下面,脏油滴在我的偷窥者身上。

所以,在一种扭曲的逻辑中(请告诉我,如果我错了),以下是这种情况:

Windows CE 2.0 == CF 1.0.3316.00
Windows CE 3.5 == CF ???? (the 3190 device does not have "cgacutil.exe", so I can't see what the version is)

现在:如何删除较新版本的CF并将其替换为较旧/较旧的版本?

我现在还记得,这个项目的前任领导者(曾经过绝对的)表示我们不能使用3.5(空间/内存问题),所以尝试将项目从目标2.0升级到3.5不是一种选择。

注意: 3090(符号)的操作系统版本为05.00.1400 Windows CE版本5.00(Build 1400)

3190(摩托罗拉)的操作系统版本为6.00.000 Windows CE版本6.00

1 个答案:

答案 0 :(得分:2)

你的问题中有一些陌生感(和错误感)。接受一点教育的时间(我的&gt; 15年的CE app dev偶尔会得到回报)。

就版本化而言,Windows CE和Compact Framework完全不相关。嗯,有一些&#34; X支持Y&#34;有点东西,但除此之外它们是无关的。

Windows CE 2.0可以追溯到1998年或1999年。那时CF并不存在,它是eVB。你没有运行CE 2.0。我保证。

对于Compact Framework,有4个主要版本,每个版本都有一些服务包。

  • CF 1.0 - 与Studio 2003一起发布。自从CE 5.0在现场发布CF 2.0以来,在CE 5.0天后没见多少。
  • CF 2.0 - 与Studio 2005一起发布。这个在运行CE 5.0和CE 6.0的旧手持设备中非常常见
  • CF 3.5 - 与Studio 2008一起发布。这在新硬件中有点常见。它可以安装在很多旧硬件上。
  • CF 3.9 - 与Studio 2012一起发布。仅适用于WEC2013。

如果您的设备报告了CF 1.0,那么它只能运行为1.0构建的应用。使用Studio 2005支持构建CF 1.0应用程序。如果硬件具有空间和内存,则可以安装较新版本的CF(通过CAB文件)。

如果您有设备报告CF 2.0,它可以运行CF 1.0或CF 2.0应用程序。同样,如果你有空间和内存,你可以更新到3.5。

如果您有一台报告CF 3.5的设备,它可以运行CF 2.0应用程序(可能还有1.0个应用程序,但我怀疑我已经尝试了十年)。

您无法删除ROM中的任何CF版本。但是,您可以并排安装。通常不建议也不需要安装旧版本,因为较新版本的CF将运行为旧版本构建的应用程序。

有时,您可能会发现使用CF 3.5的设备无法运行2.0应用程序。有一些兼容性怪异的东西。在这些情况下,您可以通过修改app.config文件并显式设置SupportedRuntime来强制CF 3.5实际以2.0模式运行(无需安装2.0位)。 Take a look at this MSDN page

相关问题