views:

582

answers:

3

Hello,

I have spent all Friday and Saturday on this and I am running out of ideas;

I have a project where I need to run sql ce and .net2.0 on a symbol 8146 device running windows ce4.2 (windows mobile 2003) along with the symbol libraries that are needed for my application.

When the device is cold-booted everything in the user partition is deleted. In the past I have used the symbol memcapture utility to solve this, but this time it says there is not enough space on the device.

The problem is that the 8146 only has a little over 7 MB of non-volitial storage and I need to restore 10-12 MB woth of data (so far)

Has anybody else ran into this and solved it? I am thinking I need to write a small app that runs when the device boots and checks status of everything, then if needed copies stuff from a compact flash card back into main memory.

I do not know how to programaitcly access the CF card however so I am sort of stumped.

There is also two apps from symbol that sound like they may help: regmerge.dll and copyfiles - they only run on a cold boot.

There is only 10.2 megabytes of stuff that needs to persist, I know I can solve this somehow!

I will call symbol tech support Monday morning and post whatever solution (if any) I come up with here as well.

Any thoughts in the mean time?

Thanks,

Joe

Update: I have ordered a CF card overnight for it and Motorola has opened up a case - I should have something more Tuesday.

A: 

Can you compress the data any further?

Quibblesome
Not really sure, that same thought crossed my mind - I have not looked into file compression on a mobile device -- its a good thought however.
MostlyLucid
+2  A: 

Will the devices always be connected?

You may want to consider not trying to keep everything on the device itself and write a small boot strapper program that will contact a web server over the wireless network to bring down the rest of the program/data files.

Alternatively, you can ask Symbol/Motorala about AirBeam. AirBeam is their package deployment solution. On each boot of the device, it will check for updates to the packages.

If you really require the device to re-build when it is offline, you will need to use the Compact Flash card route that you mentioned above along with a bootstrap program that will ensure that each of the items you need are installed.

Jack Bolding
Jacco, thanks for the suggestion; They do not have a reliable wireless connection - the concern is when a driver lets the main battery run out while in the filed - even if they have a spare or a charger they will lose the image - I have posted a small batch file that should take care of it and will add a comment as soon as I get a compact flash card and can verify that it works.
MostlyLucid
+1  A: 

The following is a small batch file that should take care of this, note you may have to chagne the path names:

enter code here

ECHO OFF
REM ----------------------------
REM Install the Symbol Libraries:
REM ----------------------------
IF NOT EXIST "\Windows\AppMgr\Symbol Managed Class Libraries.DAT" copy "\Storage Card\symbol.all.arm.cab" \Temp\symbol.all.arm.cab IF EXIST \Temp\symbol.all.arm.cab \windows\wceload.exe /noaskdest \Temp\symbol.all.arm.cab

REM ----------------------------
REM Install the .NET Framework 2.0
REM ----------------------------
IF NOT EXIST "\Windows\AppMgr\Microsoft .NET CF 2.0.DAT" copy "\Storage Card\NETCFv2.wce5.armv4i.cab" \Temp\NETCFv2.wce5.armv4i.cab
IF EXIST \Temp\NETCFv2.wce5.armv4i.cab \windows\wceload.exe /noaskdest \Temp\NETCFv2.wce5.armv4i.cab

I will not be able to test this until I get a compact flash card (on order - best buy had one local for 149.00 .. naaa...)

--Joe

Please note that I am not sure if you will need to ensure you have the command processor on the deivce - I will comment here after I have tested / verivfied everything.

MostlyLucid
This looks like it is working out OK, I will open up another question if it turns out that it does not -- thanks to all!
MostlyLucid
How do you get it to run at startup?
Petoj