NET CF 3.5 bei PNA mit WinCE 5.0 Core nachrüsten

  • Edit:
    Geändert wurde die im Dateianhang ("My Flash Disk.RAR") hinterlegte Ordner- und Dateien-
    struktur, sowie das zugehörige Mort-Skript NET_CF_35_PROMPT.mscr.



    Warum dieser Thread hier im Forum?


    Habe mir kürzlich bei ALDI das PNA Medion MD 97630, Model E4230 mit Windows CE 5.0 Core
    als Betriebssystem gekauft. Als Skin habe ich Navirunner New Line V2 aufgespielt.
    Mein Ausprobieren der Möglichkeiten des PNAs ergab, insbesondere nach dem Ummodeln dieses
    in ein Pseudo-PDA ergab, dass viele - mir interessant scheinende - externe WinCE Appli-
    kationen das NETCompactFramework brauchen, um zu laufen.


    Habe deshalb wiederholt versucht das NET CF 3.5 mit Hilfe des (originalen) MS Installers
    auf zu spielen. Ging jedesmal voll in die Hose - Installationsabbruch u.a. mit dem Hinweis,
    dass zu wenig Speicher zur Verfügung stünde:


    "Installation error. Stop all applications and processes, maximize available storage space,
    and run installation again. Support info: 2"


    Nun, ich habe an der werkseitig vorgegebenen Speichereinteilung nichts verändert und werde
    (dies aus guten Gründen) auch künftig nicht tun.
    Nach etlichem Rumprobieren habe ich es heraus gefunden, wie man dennoch NET CF 3.5 - u.a.
    mit Hilfe von Mortscript - auf dem eigenen PNA installieren kann. Und dies wollte ich
    - ein absoluter Anhänger der open source Idee - allgemein bekanntmachen, da ich meine,
    dass auch Andere diese Nuß schon knacken wollten.


    Mein Weg zu einer Lösung


    A:


    Ich habe die Installationsdatei Microsoft .NET CF 3.5.CAB ( 8,96 MBytes ) analysiert,
    [ vgl. hierzu das angehängte Bild "NET CF 3.5 CAB contents" ] und es ergab sich Folgendes:



    1. Von den insgesamt 35 im CAB enthaltenen Dateien kommen 5 standardmäßig
    nach My Device\Windows


    mscoree3_5.dll
    netcfagl3_5.dll
    netcfd3dm3_5.dll
    cgautil.exe
    mscoree.dll


    Weiters kommen nach My Device\Windows standardmäßig noch die 2 Dateien


    Microsoft .NET CF 3.5.GAC
    Microsoft .NET CF 3.5.unload


    wenn wceload (der CAB-Installer) ausgeführt wird


    das sind insgesamt 1,39 MBytes


    (Anmkg.: Diese 7 Dateien gehen bei jedem Hard-Reset verloren, somit dies-
    bezüglich noch ein work-around zu machen ist)


    2. Die restlichen 30 Dateien kommen in ein frei auswählbares (bspw. hier durch mich
    vorgegebene) Verzeichnis My Device\My Flash Disk\Microsoft .NET CF 3.5


    das sind weitere 4,81 MBytes


    (Anmkg.: Diese 30 Dateien gehen bei einem Hard-Reset somit nicht verloren)


    3. In die Registry kommt standardmäßig unter
    HKEY_LOCAL_MACHINE\Software\Microsoft\.NETCompactFramework\Installer
    folgender Wert zum Eintrag
    GACPath RegSZ \My Flash Disk\Microsoft .NET CF 3.5


    (Anmkg.:
    a) Dieser Eintrag geht bei jedem Hard-Reset verloren, somit dies-
    bezüglich grundsätzlich ein work-around zu machen wäre, aber:
    b) Dieser Standard-Registry-Eintrag hat im Übrigen mit einer er-
    folgreichen .NET CF 3.5 Installation absolut nichts zu tun, wird
    meiner Einschätzung nach nur von wceload bzw. cgautil
    während des Installationsvorgangs ausgelesen
    )


    B:


    Nach etlichem Rumprobieren habe ich es heraus gefunden, wie man trotz offensichtlichem
    Speichermangels dennoch NET CF 3.5 - u.a. mit Hilfe von Mortscript - auf dem eigenen PNA
    zum Laufen bringt: also die MSI wird zunächst auf dem Desktop PC ausgeführt und das Ganze
    findet sich dann unter C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE.


    Der Trick ist, dann diese Pre-Installation auf dem Desktop PC abzugreifen und diese auf's
    eigene PNA zu bringen.


    Jetzt ging's für mich nur noch darum, diese vorgefundene Pre-Installation so aufzubereiten,
    dass sie auf jedem PNA passt - insbesondere auf meinem. Die Hauptarbeit dabei war für mich,
    die notwendigen Registry-Einträge unter


    HKLM\Software\Microsoft
    HKLM\Software\Apps


    richtig hinzubekommen. Und ich meine, ich habe dies geschafft:


    Entsprechend meiner Lösung werden im Ordner


    \My Flash Disk\Microsoft .NET CF 3.5 6,24 MBytes


    verbraucht ( einschließlich der NetCompactFramework.reg mit 25 KBytes ) , und im Ordner


    \Windows 230 Bytes


    verbraucht.




    Die Vorstellung meiner Lösung


    Da ich vermute, dass es auch Andere interessieren könnte, wie .NET CF 3.5 - auch bei
    geringem Speicher - tatsächlich auf ein PNA zu bringen ist, mache ich das Ergebnis
    meiner Bemühungen hiermit bekannt.



    Euer Weg zu dieser Lösung


    1. Download
    (My Flash Disk.RAR)


    2. Entpacken


    3. Dateien auf's PNA in das Verzeichnis \My Flash Disk 1:1 kopieren
    (Verzeichnisstrucktur übernehmen)


    4. Soft-Reset


    5. Im Hauptmenü "NET CF 3.5" ausführen
    (Registrieren = Aktivieren)

  • Nicht schlecht, Herr Sp... äh jwoegerbauer! :tup Genau an dem Problem hatte ich mir mal vor einiger Zeit die Zähne ausgebissen (aber mehr aus Zeitvertreib bzw. Lust am Ausprobieren, ohne konkreten Bedarf): Frage an die Programmierprofis


    Toller Job! :tup Bevor ich es mal ausprobiere, wieviel Progammspeicher geht denn dabei flöten?

  • Wenn man den "WR-Tools Resinfo" Glauben schenkt, verbrät das Einbinden
    von NET CF 3.5 tatsächlich 1,3 MB Program-Memory und 21 KB Storage-Memory

  • Zitat

    Original von jwoegerbauer
    Wenn man den "WR-Tools Resinfo" Glauben schenkt, verbrät das Einbinden
    von NET CF 3.5 tatsächlich 1,3 MB Program-Memory und 21 KB Storage-Memory


    Tja, zu V3-Zeiten, auch mit dem PW, hätte man damit noch leben können. ;D Und die V4 alleine wäre ja auch noch ok, aber zusammen mit dem PW? :-D)

  • Toll daran hab ich mir bisher die Zähne ausgebissen. :gap
    Aaaaber klappt es wirklich?
    Hab mir das Ganze mal angeschaut und offensichtlich verzichtest Du auf die Einbindung der CGAUTIL.EXE, die ja auch die CAB-File-Installation scheitern läßt. Für mich war das bisher der ultimative Test dafür, das die Installation funktioniert hat.
    Ich hab es nur mal schnell angetestet mit WMPAUKER. das läuft aber leider nicht. Und wenn ich dann versuche, das NET CF Framework zu deinstallieren kommt:
    "No appropriate registry entries found".
    Ein Blick in die Registry zeigt auch, daß der Eintrag:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETCompactFramework
    fehlt. Ein händisches importieren mit Regedit scheitert an:
    "syntax error"


    Nachtrag:
    1) -> Das Problem des Regimports ließ sich lösen durch Umwandeln der *.reg Datei ins ANSI Format. Leider krieg ich aber trotzdem keine .NET Programme zum laufen.
    2) Ein Test mit NetCFCfg.exe (Microsoft Powertoys) zeigt, daß MSXML nicht installiert ist. Daran hängt es dann wohl.


    Welche NETCF Programme laufen denn bei Dir?


    Ach ja fürs Protokoll. Ich habe einen Medion E3230 mit Gopal 4.7.


    Gruß
    nannys_hedgehog

    3 Mal editiert, zuletzt von nannys_hedgehog ()

  • 1.
    Fehlende cgautil.exe


    Meine Schlamperei: hatte vergessen, diese 22,3 KB mit zu liefern


    2.
    Mißverständliche Menü-Optionen und MeldungsTexte


    Habe die mißverständlichen Menü-Punkte umgeschrieben


    # the install options
    instOptions[1] ="Activate (Install)"
    instOptions[2] ="Deactivate"


    ebenso die Meldungstexte


    3.
    Deinstallation von .NET CF 3.5 muß händisch erfolgen


    4.
    Es waren insbesondere Spiele, die ich auf dem PNA zum Laufen bringen
    wollte, weil diese i.d.R. nicht static linked sind: darum meine Anstrengungen
    .NET CF 3.5 auf dem PNA zu installieren.
    Gegenwärtig habe ich überhaupt nichts Externes auf dem PNA, weil ich es zum
    Navigieren gekauft habe.


    5.
    Test auf NET CF 3.5 schon aktiviert ? eingefügt


    # added: 2009-07-12
    # test
    isexisting = RegKeyExists("HKLM", "SOFTWARE\Microsoft\.NETCompactFramework" )
    If (isexisting = 1)
    SetMessageFont(22, "Verdana")
    BigMessage( ".NET CF 3.5 already activated.", "^NL^No need to activate/install " & %MY_TITLE% )
    # # done for now
    Exit
    Endif


    6.
    Die fehlende cgautil.exe und die geänderte Skript-Datei INST_NET_35_PROMPT.mscr
    habe ich angehängt: bitte die .zip-Datei NET_CF_35_V2007-07-12 auspacken und den
    enthaltenen Ordner NET_CF_35_V2007-07-12 einfach auf's PNA kopieren

  • Hallo,


    eine Frage habe ich noch zur Installation. Wenn es nur daran scheitert das nicht genügend memory da ist, warum ordnet ihr dann nicht einfach mehr zu?
    Bei mir funktioniert es dann mit der ganz normalen ms-Installation


    wds

    Einmal editiert, zuletzt von oskarder5 ()

  • Logisch, bei 128MB RAM kann man auch aus dem Vollen schöpfen! :-D) Bei dem 465er mit nominal 64MB hatte ich m.E. damals alles ausgereizt, da ging nix.

  • Zitat

    Original von Ralf25
    Logisch, bei 128MB RAM kann man auch aus dem Vollen schöpfen! :-D) Bei dem 465er mit nominal 64MB hatte ich m.E. damals alles ausgereizt, da ging nix.


    im Zweifelsfalls kannst du es auch auf der StorageCard installieren..

  • Zitat

    Original von oskarder5


    im Zweifelsfalls kannst du es auch auf der StorageCard installieren..


    Du hattest es im Vorfeld schon bei einem 64MB-RAM-PNA ausprobiert oder ist das jetzt mehr ein theoretischer Rat von Dir?


    Und auch weniger des Setups wegen, sondern vor allem unter dem Aspekt, das nach einem Reset die SD auch schnell genug angezogen wird!

  • Zitat

    Original von Ralf25
    Du hattest es im Vorfeld schon bei einem 64MB-RAM-PNA ausprobiert oder ist das jetzt mehr ein theoretischer Rat von Dir?


    Und auch weniger des Setups wegen, sondern vor allem unter dem Aspekt, das nach einem Reset die SD auch schnell genug angezogen wird!


    Hallo Ralf,


    ich habe es nicht mit einem 64mb PNA probiert, sondern aktuell auf meinen 4425.
    Das mit dem Reset verstehe ich nicht, warum sd ziehen?


    gruß


    wds

  • Zitat

    Original von oskarder5
    Das mit dem Reset verstehe ich nicht, warum sd ziehen?


    Hi Oskar,


    nach jedem StandBy oder auch Reset wird ja die SD neu gemountet. Wenn das bspw. zu lange dauert, gibt's Probleme, z.B. aus dem StandBy der allseits bekannte \Storage Card 2 (SC2)-Fehler.
    Ich hatte dieses Problem nur mit der FW R09, nach anderen Berichten hing das wohl auch mit der SD-Karte selber zusammen.


    Ich weiß jetzt nicht mehr, ob mir damals beim CAB-Setup eine Option angeboten wurde, wo die Sourcen zu installieren sind (-> %InstallDir%). Wenn, dann würde aber die MFD genauso ausreichen. Ich werde es heute abend nochmal testen.

  • Zitat

    Original von Ralf25
    Ich weiß jetzt nicht mehr, ob mir damals beim CAB-Setup eine Option angeboten wurde, wo die Sourcen zu installieren sind (-> %InstallDir%). Wenn, dann würde aber die MFD genauso ausreichen. Ich werde es heute abend nochmal testen.


    Hallo Ralf.


    wenn du die msi-Installation von MS nimmst und auf deinem PC ausführst und der PNA über activeSync dranhängt wird es auf jeden Fall angeboten.


    Gruß
    wds