2

Ich habe den ganzen Freitag und Samstag hier verbracht und ich habe keine Ideen mehr;Umgang mit persistenten Speicher und kalte Stiefel mit ce 4.2

Ich habe ein Projekt, wo ich sql ce und .net2.0 auf einem Symbol 8146-Gerät mit Windows CE4.2 (Windows Mobile 2003) zusammen mit den Symbolbibliotheken, die für meine Anwendung benötigt werden.

Beim Kaltstart des Geräts wird alles in der Benutzerpartition gelöscht. In der Vergangenheit habe ich das Symbol memcapture verwendet, um dieses Problem zu lösen, aber dieses Mal steht auf dem Gerät nicht genügend Speicherplatz zur Verfügung.

Das Problem ist, dass die 8146 nur etwas mehr als 7 MB nicht-volitial Speicher hat und ich brauche 10-12 MB Woth von Daten wiederherzustellen (bisher)

Hat jemand anderes in diese lief und gelöst es? Ich denke, ich muss eine kleine App schreiben, die ausgeführt wird, wenn das Gerät bootet und den Status von allem überprüft, und dann, wenn nötig, kopiert Zeug von einer Compact Flash-Karte zurück in den Hauptspeicher.

Ich weiß nicht, wie man auf die CF-Karte programmaTly Zugang, aber so bin ich irgendwie ratlos.

Es gibt auch zwei Apps von Symbol, die klingen, als könnten sie helfen: regmerge.dll und copyfiles - sie laufen nur auf einem Kaltstart.

Es gibt nur 10,2 Megabytes Zeug, die bestehen bleiben müssen, ich weiß, dass ich das irgendwie lösen kann!

Ich werde Symbol Tech Support Montagmorgen anrufen und Post was auch immer Lösung (falls vorhanden) Ich komme auch hier.

Irgendwelche Gedanken in der Zwischenzeit?

Danke,

Joe

Update: Ich habe eine CF-Karte über Nacht für sie bestellt und Motorola einen Fall eröffnet hat - ich sollte etwas mehr Dienstag haben.

+0

Nur ein Update: Die Datei, die Windows CE verwendet, ist eine .cpy-Datei - wenn es diese Datei findet, folgt es den Anweisungen darin. I ersetzt eine der Zeilen, die \ Application \ RemCapture \ SmartDeviceProject1 \ Project1.exe mit lesen: \ MMC-Karte \ SmartDeviceProject1 \ Project1.exe Nach einem Kaltstart den direcotry erstellt aber nichts hinein bewegen . vielleicht kann es nicht auf die MMC-Karte so früh im Boot-Prozess zugreifen? ich noch über eine kleine App denke, die beim Start läuft das Zeug zu bewegen ... –

+0

OK, das: http://devzone.symbol.com/resources/Installing_Applications_for_Persistence_v2.pdf Staaten, die die Copyfiles Prozess läuft becuase Zu Beginn der Boot-Sequenz kann es NICHT auf CF- oder SD-Speicher zugreifen. Hmmm ... das Problem ist, das Gerät hatte nur 7 MB nicht-volitalen Speicher - die VB-und CF-Dateien allein nehmen mehr als das - Vielleicht gibt es einen Batch-Prozess, auf den zugegriffen werden kann? –

+1

+1 für ein interessantes Problem. BTW. Es ist besser, deine Frage zu bearbeiten als Kommentare hinzuzufügen. Es ist einfacher, so zu lesen. – Nifle

Antwort

1

Im Folgenden ist eine kleine Batchdatei, die sich darum kümmern sollte, Hinweis: Sie können die Pfadnamen chagne haben:

enter code here 

ECHO OFF
REM ---------- ------------------
REM Installieren der Symbolbibliotheken:
REM --------------------- -------
WENN NICHT EXISTIERT "\ Windows \ AppMgr \ Symbol Verwaltete Klassenbibliotheken.DAT" Kopieren "\ Speicherkarte \ symbol.all.arm.cab" \ Temp \ symbol.all.arm.cab WENN EXIST \ Temp \ symbol.all.arm.cab \ windows \ wceload.exe/noaskdest \ Temp \ symbol.all.arm.cab

REM ----------------------------
REM Installieren Sie das .NET Framework 2.0
REM ----------------------------
WENN NICHT EXIST "\ Windows \ AppMgr \ Microsoft .NET CF 2.0.DAT "Kopieren" \ Speicherkarte \ NETCFv2.wce5.armv4i.cab "\ Temp \ NETCFv2.wce5.armv4i.cab Wenn EXIST \ Temp \ NETCFv2.wce5.armv4i.cab \ windows \ wceload. exe/noaddest \ Temp \ NETCFv2.wce5.armv4i.cab

Ich werde nicht in der Lage sein, dies zu testen, bis ich eine Compact Flash-Karte (auf Bestellung - der beste Kauf hatte eine lokale für 149,00 .. naaa ...)

--Joe

Bitte beachten Sie, dass ich nicht sicher bin, wenn Sie Sie den Befehl Prozessor auf dem deivce haben müssen, um sicherzustellen, - ich werde hier kommentieren, nachdem ich/verivfied alles getestet haben.

+0

Das sieht so aus als würde es funktionieren OK, ich werde eine andere Frage aufwerfen, wenn sich herausstellt, dass es nicht geht - danke an alle! –

+0

Wie können Sie es beim Start ausführen? – Peter

1

Können Sie die Daten weiter komprimieren?

+0

Nicht wirklich sicher, derselbe Gedanke kam mir in den Sinn - ich habe noch nicht in Dateikomprimierung auf einem mobilen Gerät untersucht - es ist ein guter Gedanke jedoch. –

2

Werden die Geräte immer angeschlossen?

Sie sollten nicht versuchen, alles auf dem Gerät selbst zu behalten und ein kleines Boot-Strapper-Programm schreiben, das einen Web-Server über das drahtlose Netzwerk kontaktiert, um den Rest der Programm-/Datendateien zu löschen.

Alternativ können Sie Symbol/Motorala über AirBeam fragen. AirBeam ist ihre Paketbereitstellungslösung. Bei jedem Start des Geräts wird nach Updates für die Pakete gesucht.

Wenn das Gerät wirklich neu erstellt werden muss, wenn es offline ist, müssen Sie die oben erwähnte Route der Compact Flash-Karte zusammen mit einem Bootstrap-Programm verwenden, das sicherstellt, dass alle benötigten Elemente installiert sind .

+0

Jacco, danke für den Vorschlag; Sie haben keine zuverlässige drahtlose Verbindung - die Sorge ist, wenn ein Fahrer die Hauptbatterie im Feld auslaufen lässt - selbst wenn sie ein Ersatzteil oder ein Ladegerät haben, werden sie das Bild verlieren - ich habe eine kleine Batch-Datei, die sollte mach's gut und füge einen Kommentar hinzu sobald ich eine Compact Flash Karte bekomme und verifizieren kann, dass es funktioniert. –