0

Using a Windows CE 6.0 device to deploy a C# application using Visual Studio 2005. The device is specified as Windows CE 5.0 in Visual Studio. VS2005 does not have a smart device option for Windows CE 6.0.

The application deploys fine (but with a post-deploy error) and runs ok. Debugging does not work. Most of the time, but not always, the following error occurs during deployment:

Post-deploy error 0x00000001 returned after calling '\Windows\wceload.exe /noui \Windows\NETCFV2.wce5.armv4i.cab'.

When VS2005 asked whether to continue, choose to continue and the application runs fine. Try and deploy with debugging, and the application runs but breakpoints are not hit as "no symbols are loaded".

On the device itself, a log file Microsoft .NET CF 2.0.LOG.TXT appears in the root of the flash drive with some interesting entries (timestamps have been removed):

...
Opened CF registry key OK. 
Looking for upgradeable installations for version '2.0.6129.00'
Got version value '2.0.7045.00'
Upgradeable installation '2.0.7045.00' detected.
Downgrade attempt detected as newer version '2.0.7045.00' has been found in RAM.
Record '2.0.7045.00' preserved because this version is newer.
Got version value '3.5.7338.00'
Side by side version '3.5.7338.00' found and skipped.
CF registry key closed.
Installation can't continue as newer version detected.
...

Through the Windows CE File Explorer, when C:\Windows\NETCFV2.wce5.armv4i.cab is double-clicked the following message is displayed:

Microsoft .NET CF 2.0 is already installed. Re-install?

Click OK and then an error is displayed:

A later version of the .NET Compact Framework is already installed. If you want to install this version, first remove the existing version.

In the Windows CE Control Panel\Remove Programs, the following 3 entries are displayed:

Microsoft .NET CF 1.0 ENU-String Resource
Microsoft .NET CF 2.0
Microsoft .NET CF 2.0 ENU-String Resource

I am reluctant to uninstall, then re-install .NET CF 2.0 as this might brick the device.

My questions are:

  • Why is .NET CF 3.5 mentioned in the log file?
  • Could the device think .NET CF 3.5 is installed when it is not? The device was provided by a German manufacturer whom I understand mostly supplies installations with .NET CF 3.5 for which they recommend using Visual Studio 2008.
  • What registry key holds the .NET CF version details referred to in the log file? Can that registry key be manually modified to get around the error "Installation can't continue as newer version detected."?
  • Is there a way to get debugging working from VS2005 to Windows CE 6.0?

Thanks in advance for any help or advice you may be able to offer.

AlainD
  • 5,413
  • 6
  • 45
  • 99
  • Did you see this question? https://stackoverflow.com/questions/23348138 it also has a bunch of diagnostics steps in it. – rene Apr 02 '23 at 16:31
  • @rene: Interesting, thanks. I following one of the links and ran `C:\Windows\cgacutil.exe` and was rewarded by the message "Microsoft (R) .NET Compact Framework [3.5.11125.0]". So I guess answers part of the questions. – AlainD Apr 02 '23 at 16:55
  • 2
    Hi, some devices come with NetCF pre-installed, ie WinCE with NetCF 3.5. As it is within the 'ROM' of the device, you cannot delete it. I recommend to start with VS2008, which supports CE6 and CF3.5. OTOS NetCF 3.5 is compatible with NetCF 2. So, there is no real need to install NetCF 2 aside of NetCF 3.5. – josef Apr 03 '23 at 04:42
  • @josef: Thanks. This was the conclusion I was coming to as well. – AlainD Apr 03 '23 at 09:22

1 Answers1

1

With Win CE6.0 you should use VS2008. This should work better.

etalon11
  • 895
  • 2
  • 13
  • 36