PMB-Light 1.0
für den automatischen/manuellen Start des MN5 oder MN6:
- prüft, welches Kartenmaterial auf der Storage Card vorhanden ist
- prüft, ob die Navigationssoftware überhaupt vorhanden ist
- startet aufgrund des Kartenmaterials die korrekte MN-Version
- bei Vorhandensein von Kartenmaterial und Software beider Versionen Auswahlfenster
- Kopieren von erforderlichen Dateien vor dem Start des MN6
- Wechsel ins Menü während des Betriebs des MN6
- Beenden des MN6
- Abfragemeldungen grafisch ans eigene Skin anpassbar
[Blockierte Grafik: http://www.lumumba.de/image-archiv/pmb-light-01.gif][Blockierte Grafik: http://www.lumumba.de/image-archiv/pmb-light-02.gif]
[Blockierte Grafik: http://www.lumumba.de/image-archiv/pmb-light-03.gif]
Voraussetzungen:
- lauffähig installierte Version vom MN5 (Auslieferungszustand des 7934 )
- lauffähig installierte Version vom MN6
- entsprechendes Kartenmaterial
- KEIN installiertes PMB Voraussetzung !
Installation:
1. Navi einschalten und mit dem PC verbinden, nichts auf dem Navi starten
Ab hier gibt es mehrere verschiedene Startszenarien für die weitere Installation:
Variante 1:
Auf dem Becker 7934 wurde bis auf den MN6 (auf der Storage Card oder Flash Disk) noch nichts weiter installiert.
2. direkt weiter zu "die nächsten Schritte der Installation" (siehe unten)
Variante 2:
Auf dem Becker 7934 wurde neben MN6 zusätzlich schon meine alte Version zum automatischen Start der jeweiligen Navi-Software installiert, aber KEIN komplettes PMB.
2. folgende Dateien KÖNNEN auf dem Navi gelöscht werden, sofern man sie nicht anderweitig verwendet, der Schritt kann aber auch übersprungen werden, allerdings hat man dann einige Dateien auf der Flash Disk, die man nicht benötigt
/My Flash Disk/Tools/ns.exe
/My Flash Disk/Tools/aygshell.dll
/My Flash Disk/Tools/nsscript/choose-mn.ns
Variante 3:
Auf dem Becker wurde neben MN6 auch schon PMB installiert.
2. direkt weiter zu "die nächsten Schritte der Installation" (siehe unten)
Variante 4:
Auf dem Becker wurde neben MN6 auch PMB und die alte Version zum automatischen Start der jeweiligen Navi-Software installiert.
2. folgende Datei KANN gelöscht werden
/My Flash Disk/Tools/nsscript/choose-mn.ns
Variante 5:
Ihr habt die andere Lösung zum Beenden des MN6 hier aus dem Forum installiert, die dort gemachten Schritte in umgekehrter Reihenfolge wieder rückgängig machen, so das beim Klick auf "Navigation" im Hauptmenü wieder der MN5 wie früher gestartet wird, d.h. die Original-MN5-Software wird wieder über
/My Flash Disk/mnav/mnavdce.exe
gestartet
die nächsten Schritte der Installation:
3. Auf dem Navi die Datei
/My Flash Disk/mnav/mnavdce.exe
umbenennen in
/My Flash Disk/mnav/mnavdceOriginal.exe
4. Angehängtes ZIP-Archiv auf dem PC entpacken.
5. Auf dem PC aus dem ZIP-Archiv die Datei
\My Flash Disk\PMB\mortscript\variablen.mscr
kontrollieren und ggf. anpassen (siehe weiter unten, bitte erst zu Ende lesen)
6. Die Dateien anschließend auf das Navi 1:1 kopieren (also \My Flash Disk\PMB sollte nachher auf dem Navi dann ebenfalls in \My Flash Disk\PMB zu finden sein)
7. Die Fontdateien, die für MN6 benötigt werden, in das in der Datei variablen.mscr konfigurierte Verzeichnis kopieren (siehe weiter unten, unbedingt lesen!), Voreinstellung ist hier
\My Flash Disk\PMB\ToCopy
Achtung: Fonts hier nicht enthalten!
8. Fertig!
Wie funktioniert das ganze?
Wie in der ursprünglichen Version bzw. auch in der anderen Version aus dem Forum wird die Original-MN5-Software umbenannt bzw. ausgetauscht, so das beim Klick auf "Navigation" diese ausgetauschte Software gestartet wird, in diesem Fall das Programm RunINI. RunINI startet Programme, die in der Datei RunINI.ini angegeben sind, somit ist es möglich, an diesem Punkt auch mehrere Programme gleichzeitig/hintereinander zu starten. Wir benötigen aber RunINI, weil wir beim Start des von uns gewünschten Programms einen Parameter mit übergeben wollen. In PMB-Light startet (das umbenannte) RunINI also den Script-Interpreter "MortScript.exe" und übergibt als Parameter den Namen des auszuführenden Scripts "choose-mn.mscr"!
Was macht das Script?
Beim Start des Scriptes wird das Script "variablen.mscr" nachgeladen und ausgeführt. In diesem Script werden die möglichen Kartennamen, Pfade zur Software etc. in Variablen festgelegt. Ich habe das in ein extra Script ausgelagert, so das im Normalfall nur dieses separate Script und nicht das Hauptscript "choose-mn.mscr" editiert werden muss und sich dadurch eventuell Fehler einschleichen.
Nachdem die Variablen definiert wurden, schaut das Script, ob eine der beiden MN-Versionen eventuell bereits läuft, wenn ja, wird diese in den Vordergrund geholt und das Script beendet.
Findet es keine laufende MN-Version, wird geprüft, ob in der Registry Einträge für MortScript bzw. SystemInformation vorhanden sind, wenn nicht (Normalfall beim ersten Aufruf des Scriptes), werden diese erstellt. Diese Registry-Einträge ermöglichen es uns im weiteren Scriptverlauf, das entsprechende Programm (MortScript oder SystemInformation) einfach durch Aufruf des Scriptnamens (mit Dateiendung .mscr) oder der INI-Datei für SystemInformation (mit Dateiendung .sii) automatisch zu starten. Das ist somit einfach nur eine Verknüpfung einer Dateiendung (.mscr und .sii) mit dem dazugehörigen Programm.
Der nächste Schritt ist das automatische Kopieren von Dateien, im speziellen Fall hier die für den MN6 benötigten Font-Dateien. Hier gab es lt. diversen Fragen im Forum schonmal Probleme, daher habe ich das vereinfacht.
In der Datei "variablen.mscr" werden 2 Verzeichnisse festgelegt, als Voreinstellung habe ich hier "\My Flash Disk\PMB\ToCopy" und "\Storage Card\PMB\ToCopy" definiert.
Soll nun was auch immer kopiert werden, legt dort einfach Unterverzeichnisse an und die zu kopierenden Dateien dort ab. Diese werden beim Kopieren 1:1 wie dort abgelegt kopiert. Das gestaltet sich recht einfach, daher mal als Beispiel das Kopieren der Fonts für den MN6:
Erstellt z.B. auf dem Navi im Verzeichnis \My Flash Disk\PMB\ToCopy das Verzeichnis Windows und darin nochmal das Verzeichnis Fonts. Kopiert nun eure Font-Dateien dort hinein. Das Script kopiert anhand der Unterverzeichnisse die Dateien dann automatisch in die richtigen Verzeichnisse auf dem Navi, also alles, was im Verzeichnis \My Flash Disk\PMB\ToCopy\Windows\Fonts liegt, findet ihr nach dem Kopieren im Verzeichnis \Windows\Fonts, ich hoffe, das ist verständlich erklärt.
Bei diesem Kopieren werden übrigens keine Dateien überschrieben, wurden die durch einen vorherigen Scriptaufruf bereits kopiert, werden die nicht erneut kopiert, d.h. keine weiteren Schreibvorgänge im RAM.
[1. Ergänzung seit Erstellung des Threads]:
Es gibt einige User, die PMB installiert haben und das Kopieren der Fonts bereits in der "install.ns" erledigen. Die können das so lassen, brauchen also die Fonts hier nicht abzulegen. Da das ganze aber bez. der Funktionalität in Richtung PMB2 geht, rate ich, das Kopieren wie hier beschrieben zu gestalten und aus der "install.ns" wieder rauszunehmen.
Nun wird nach vorhandenem Kartenmaterial gesucht. Als Voreinstellung wurde hier in der "variablen.mscr" das Verzeichnis "\Storage Card" festgelegt. Ebenso werden in dieser Datei die möglichen Kartennamen (Dateinamen) festgelegt, nach denen wie hier beschrieben dann auf der "\Storage Card" gesucht wird.
Anschließend wird überprüft, ob die Navigationssoftware überhaupt in den (ebenfalls in der "variablen.mscr") vorgegebenen Verzeichnissen existiert, denn was nützt eine Kartendatei, wenn die Software (warum auch immer) überhaupt nicht existiert!
Abschließend wird dann die entsprechende MN-Version automatisch gestartet. Findet das Script beide MN-Versionen und ebenfalls Kartenmaterial für beide MN-Versionen (für Besitzer von 4 GB-SD-Karten, die beide Kartenvarianten drauf haben, sinnvoll), erscheint ein Auswahlfenster, über welches man entscheiden kann, welche Software gestartet werden soll. Wird kein Kartenmaterial und/oder keine MN-Software gefunden, erscheint ebenfalls ein Hinweisfenster.
Betrieb MN6:
Drückt man während des Betriebes des MN6 die rote Becker-Taste, erscheint ein (hoffentlich) selbsterklärendes Menü:
- "Ja" = Beenden des MN6
- "Nein" = Passiert nix
- "Menü" = MN6 wird in den Hintergrund geschoben und das Original-Menü mit den 4 Buttons angezeigt
Wie beim MN5 kommt man dann hier durch Druck auf "Navigation" im Hauptmenü wieder zum MN6 zurück, d.h. in Wirklichkeit wird natürlich das Script neu gestartet, merkt aber, das der MN6 läuft und holt den wieder in den Vordergrund.
Wie kann man testen, ob das ganze überhaupt funktioniert?
Da nicht jeder eine 4 GB-Karte und somit Platz für Kartenmaterial beider MN-Versionen hat, kann man die Funktionalität des Scriptes trotzdem testen, Voraussetzung natürlich, das MN5 und MN6 auf dem Gerät installiert ist und vom Script aufgrund der in der "variablen.mscr" angegebenen Pfade auch gefunden wird. Ist z.B. auf der SD-Karte das Kartenmaterial des MN6 (z.B. "Europe_NT200708.map"), kopiert irgendeine kleine Datei ins Verzeichnis "\Storage Card" auf dem Navi und nennt diese Datei dort dann um (in z.B. "Europe D.map"), anschließend drückt ihr im Hauptmenü auf "Navigation". Hier sollte nun das Auswahlfenster für die Navigationssoftware angezeigt werden. Kommt das, wird die MN-Software auf dem Gerät gefunden wie auch 2 "angebliche" Karten. Drückt im Auswahlfenster einfach auf "keine Navigation", benennt BEIDE Kartendateien (die falsche und die richtige) einfach mal um in z.B. "Europe_NT200708.map.test" und "Europe D.map.test" und drückt erneut auf "Navigation", nun sollte ein Hinweisfenster erscheinen. Abschließend nun die richtige Kartendatei wieder korrekt benennen und die als Test kopierte Datei wieder löschen.
Was müsst/könnt ihr nun selbst machen:
Generell gilt wie oben beschrieben: kontrolliert die Datei "variablen.mscr" und passt diese ggf. an. Folgende Definitionen wurde von mir vorab dort eingetragen, wer hier jetzt Differenzen erkennt, sollte die Datei anpassen, im allgemeinen sollte das aber bestenfalls den Pfad zum MN6 betreffen:
Das Kartenmaterial liegt auf dem Navi unter "\Storage Card", das heißt auf der SD-Karte in KEINEM Unterverzeichnis, ist eigentlich der Standard.
Die möglichen Kartennamen für den MN5 lauten "Europe A.map","Europe B.map","Europe C.map","Europe D.map","Europe.map" (Standard)
Die möglichen Kartennamen für den MN6 lauten "Europe_NT200708.map","DACH_NT2008.map","WesternEurope_NT2008.map" (Standard)
Der Dateiname incl. Pfad für das auszuführende Programm des MN5 lautet "\My Flash Disk\mnav\mnavdceOriginal.exe" (wenn ihr euch oben an die Anleitung haltet, ist das ebenfalls Standard!)
Der Dateiname incl. Pfad für das auszuführende Programm des MN6 lautet "\Storage Card\MN6\MN6.exe" (der Pfad kann je nach Installation variieren, bitte kontrollieren)
Der Pfad für die eventuell zu kopierenden Dateien auf der Flash Disk lautet "\My Flash Disk\PMB\ToCopy\" (wenn ihr das ZIP hier 1:1 kopiert, dann Standard)
Der Pfad für die eventuell zu kopierenden Dateien auf der Storage Card lautet "\Storage Card\PMB\ToCopy\" (könnt ihr selbst bei Bedarf anlegen, ist kein muss!)
Dann könnt ihr (und genau deshalb hat das ganze auch etwas länger gedauert) bei Bedarf grafisch an den Hinweisfenstern und Buttons Hand anlegen. Hier wird ebenfalls SystemInformation verwendet, allerdings werden jetzt statt Icons (.ico) einfach Bitmaps (.bmp) benutzt, die man wesentlich einfacher selbst erstellen oder anpassen kann. Somit ist auch das Anpassen der Optik der Hinweisfenster an z.B. die Farbgebung des eigenen Skins ohne weiteres machbar, wer es gerne in Blau, Scharz oder Lila mag, kann's selbst anpassen. Die Grafikdateien findet ihr im Verzeichnis
\My Flash Disk\PMB\sysinfoinis\bitmaps
Hier sind dann aufgrund der Verwendung von Bitmaps nun auch rechteckige Grafiken als Buttons möglich. Wem das Layout der Auswahlmasken nicht gefällt, kann natürlich auch die Position, Größe etc. der Buttons verändern, hierzu die Dateien unter
\My Flash Disk\PMB\sysinfoinis
Die hier beiliegenden Grafikdateien passen zum grauen MN6-Skin.
Ich hoffe, das ganze ist nicht wie üblich zu ausführlich, aber hoffentlich verständlich beschrieben, viel Erfolg ...
Abschließend möchte ich mich bedanken bei:
Daniel Schumann, dem Autor vom hier verwendeten SystemInformation und HotKey, der speziell für PMB-Light beide Programme noch erweitert hat. Die hier verwendeten Versionen kann man aktuell ( Stand 24.01.2008 ) noch nicht auf seiner Homepage http://www.ultimatelaunch.de herunterladen !!
Mirko Schenk, dem Autor von MortScript, der mir zum einen erlaubt hat, MostScript mit ins Archiv zu packen und mir bei dem einen oder anderen Problem hilfreich zur Seite stand. MortScript ist Freeware, mehr zu MortScript auf http://www.sto-helit.de !!
nano. hier aus dem Forum für die Inspiration, das Beenden des MN6 auch auf die Taste anstatt auf eine Overlay-Grafik zu legen.
Kleiner Hinweis für PMB-Nutzer:
Wie ihr anhand des Blocks hier drüber festgestellt habt, benutze ich hier eine neuere Version von SystemInformation als im PMB-Paket enthalten. Diese liegt allerdings hier in einem anderen Verzeichnis (jetzt schon die neue Verzeichnisstruktur für eventuell PMB2). Ihr könnt natürlich auch in PMB diese Version nutzen, allerdings hätte das zur Folge, das ihr Änderungen in den ns-Skripten wie auch in den INI-Dateien für die "alten" PMB-Menüs durchführen müsstet, da es sonst zu diversen Nebeneffekten kommen kann. Daher rate ich vom Versuch ab, die alte einfach durch die neue Version zu ersetzen, lieber es bei beiden Versionen (bis zu PMB2) belassen.
Letzte Worte:
Wie immer das ganze natürlich ohne Gewähr!
Bei mir funktioniert das hier beschriebene einwandfrei. Sollte etwas nicht funktionieren, ihr Verbesserungen an den Scripten vornehmen oder aber eigene Grafiken erstellen, würde ich mich freuen (und sicher der eine oder andere User auch), wenn ihr die der Übersicht halber hier in diesen Thread hängt.
Die Scripte choose-mn.mscr und variablen.mscr wurden mit massig Kommentaren versehen, so das man auch als Laie ggf. den Ablauf verstehen und verändern kann.
Ciaoi
Alhifi