Nightly builds wie in portable Version einspielen?
Nightly builds wie in portable Version einspielen?
Hallo icke1954,
ich ärgere mich weiterhin mit dem Synchronisationsproblem mit dem portable Thunderbird herum. Die Synchronisation klappt wenn überhaupt nur, wenn ich zuerst MPE starte, synchronisiere und MPE dann in diesem Zuge Thunderbird aufruft. Auch dann klappt es nicht bei ersten Mal, aber meist nach mehrmaligen Wiederholen der Synchronisation. Auch warten hilft. Sonst bekomme ich immer die Fehlermeldung: "Einträge konnten nicht aus Thunderbird gelesen werden."
Das Problem liegt wohl an der zu niedrigen Timeout-Zeit. Abhilfe soll wohl der aktuelle nightly build bringen. Da ich aber auch MPE portable nutze, bekomme ich bei der Installation des nightly builds immer die Fehlermeldung: “Install-Location of MyPhoneExplorer not found!”.
Das Problem macht den MPE derzeit fast unbenutzbar für mich, da ich es immer wieder mit dem Sync versuchen muss. Es dauert oft eine halbe Stunde bis der Zugriff auf Thunderbird gelingt. Manchmal klappt es auch gar nicht.
Hier nun meine Fragen:
1. Wie kann ich den nightly build manuell in die portable Version einspielen?
2. Falls das nicht geht, könntet ihr auch ein nigthly build der portablen Version veröffentlichen? Ich hoffe bereits seit Wochen, dass es eine neue offizielle Version veröffentlicht wird, die mir den Bugfix zugänglich macht.
3. Finde ich unter: https://www.fjsoft.at/files/MyPhoneExpl ... Update.exe immer den jeweils aktuellen Nightly?
Viele Dank schon mal! Gruß Bernd
Mein System
MPE v1.9.0 portable (KEIN Nightly)
Thunderbird v91.4.0 x32
MPE-Thunderbird-Addon 3.0.18 /08.12.2021
MPE-Client 2.3
ich ärgere mich weiterhin mit dem Synchronisationsproblem mit dem portable Thunderbird herum. Die Synchronisation klappt wenn überhaupt nur, wenn ich zuerst MPE starte, synchronisiere und MPE dann in diesem Zuge Thunderbird aufruft. Auch dann klappt es nicht bei ersten Mal, aber meist nach mehrmaligen Wiederholen der Synchronisation. Auch warten hilft. Sonst bekomme ich immer die Fehlermeldung: "Einträge konnten nicht aus Thunderbird gelesen werden."
Das Problem liegt wohl an der zu niedrigen Timeout-Zeit. Abhilfe soll wohl der aktuelle nightly build bringen. Da ich aber auch MPE portable nutze, bekomme ich bei der Installation des nightly builds immer die Fehlermeldung: “Install-Location of MyPhoneExplorer not found!”.
Das Problem macht den MPE derzeit fast unbenutzbar für mich, da ich es immer wieder mit dem Sync versuchen muss. Es dauert oft eine halbe Stunde bis der Zugriff auf Thunderbird gelingt. Manchmal klappt es auch gar nicht.
Hier nun meine Fragen:
1. Wie kann ich den nightly build manuell in die portable Version einspielen?
2. Falls das nicht geht, könntet ihr auch ein nigthly build der portablen Version veröffentlichen? Ich hoffe bereits seit Wochen, dass es eine neue offizielle Version veröffentlicht wird, die mir den Bugfix zugänglich macht.
3. Finde ich unter: https://www.fjsoft.at/files/MyPhoneExpl ... Update.exe immer den jeweils aktuellen Nightly?
Viele Dank schon mal! Gruß Bernd
Mein System
MPE v1.9.0 portable (KEIN Nightly)
Thunderbird v91.4.0 x32
MPE-Thunderbird-Addon 3.0.18 /08.12.2021
MPE-Client 2.3
Die Portable-Version ist, wie Du schon selbst bemerkt hast, nur über die MPE-Standandardversion installierbar.
Daran wird sich auch nichts ändern.
D.h. zu deinen Fragen 1. + 2. => Nein
Zu 3. Ja, korrekt, hier findest Du immer die aktuellste Nightly, die Du nicht grundlos einfach installieren solltest...
Ich kann das von Dir beschriebene Problem reproduzieren und leite es an FJ weiter.
Daran wird sich auch nichts ändern.
D.h. zu deinen Fragen 1. + 2. => Nein
Zu 3. Ja, korrekt, hier findest Du immer die aktuellste Nightly, die Du nicht grundlos einfach installieren solltest...
Ich kann das von Dir beschriebene Problem reproduzieren und leite es an FJ weiter.
Danke für die schnelle Rückmeldung und das Weiterleiten an FJ!
Das die portable Version hinten ansteht, habe ich mir schon gedacht. Ist ja auch in den allermeisten Fällen nicht notwendig, diese parallel zu testen.
Das MPE-Thunderbird-Addon 3.0.18 macht in diesem Zusammenspiel auch weiterhin bei mir Ärger. Keiner der drei Menüpunkte des Dropdown-Menüs startet die Synchronisation. Ich vermute es liegt ebenfalls an dem obigen Problem. Aber das ist aus meiner Sicht nachrangig, es wäre schon großartig, wenn wieder ein Weg der Synchronisation funktioniert.
Das die portable Version hinten ansteht, habe ich mir schon gedacht. Ist ja auch in den allermeisten Fällen nicht notwendig, diese parallel zu testen.
Das MPE-Thunderbird-Addon 3.0.18 macht in diesem Zusammenspiel auch weiterhin bei mir Ärger. Keiner der drei Menüpunkte des Dropdown-Menüs startet die Synchronisation. Ich vermute es liegt ebenfalls an dem obigen Problem. Aber das ist aus meiner Sicht nachrangig, es wäre schon großartig, wenn wieder ein Weg der Synchronisation funktioniert.
Wie schon erwähnt konnte ich folgendes reproduzieren:
Wird der Sync über MPE aktiviert, ohne zuvor TB gestartet zu haben…
- Funktioniert der Sync Problemlos, wenn sich TB-Portable auf der Festplatte befindet
- Ist TB auf einem USB-Stick installiert, kommt es 1 mal zu einer Fehlermeldung, da der Zugriff schneller erfolgt, als TB geladen werden kann. Aber der 2. Versuch, nachdem TB vollständig gestartet wurde, ist bei mir immer erfolgreich
- Wurde zuvor TB gestartet, kommt es z.Z. immer zu der beschriebenen Fehlermeldung.
Fall-1: Du hattest Tb über MPE schon aufgerufen, dann sollte der Sync per AddOn-Button auch funktionieren
Fall-2: MPE wird von TB aufgerufen, dann kommt besagte Fehlermeldung bei mir.
Wird der Sync über MPE aktiviert, ohne zuvor TB gestartet zu haben…
- Funktioniert der Sync Problemlos, wenn sich TB-Portable auf der Festplatte befindet
- Ist TB auf einem USB-Stick installiert, kommt es 1 mal zu einer Fehlermeldung, da der Zugriff schneller erfolgt, als TB geladen werden kann. Aber der 2. Versuch, nachdem TB vollständig gestartet wurde, ist bei mir immer erfolgreich
- Wurde zuvor TB gestartet, kommt es z.Z. immer zu der beschriebenen Fehlermeldung.
Das kann ich bei mir nicht reproduzieren, der Sync sollte angestoßen werden.Bernd.W hat geschrieben:Das MPE-Thunderbird-Addon 3.0.18 macht in diesem Zusammenspiel auch weiterhin bei mir Ärger. Keiner der drei Menüpunkte des Dropdown-Menüs startet die Synchronisation.
Fall-1: Du hattest Tb über MPE schon aufgerufen, dann sollte der Sync per AddOn-Button auch funktionieren
Fall-2: MPE wird von TB aufgerufen, dann kommt besagte Fehlermeldung bei mir.
Ich denke, dass grenzt das Problem schon ein. Ich arbeite über eine externe USB3 HDD. Auf dieser laufen noch eine ganze Reihe anderer portable Programme, was möglicherweise die Zugriffzeit weiter erhöht (und dazu führt, dass bei mir der Fehler noch stärker auftritt). Das erscheint mir zumindest als ein mögliches konsistentes Bild.icke1954 hat geschrieben:Wie schon erwähnt konnte ich folgendes reproduzieren:
Wird der Sync über MPE aktiviert, ohne zuvor TB gestartet zu haben…
- Funktioniert der Sync Problemlos, wenn sich TB-Portable auf der Festplatte befindet
- Ist TB auf einem USB-Stick installiert, kommt es 1 mal zu einer Fehlermeldung, da der Zugriff schneller erfolgt, als TB geladen werden kann. Aber der 2. Versuch, nachdem TB vollständig gestartet wurde, ist bei mir immer erfolgreich
- Wurde zuvor TB gestartet, kommt es z.Z. immer zu der beschriebenen Fehlermeldung.
Fall-1 funktioniert bei mir leider nicht. Zudem tritt bei mir noch ein weiterer Artefakt auf: Der Symbol-Button MyPhoneExplorer ist doppelt vorhanden (Rechter Mausklick auf Toolbar > Customize > icon in Toolbar ziehen). Ich kann beide Einträge auch in die Toolbar legen. Einer funktioniert überhaupt nicht. Der andere zeigt zwar das Drop-Down-Menü mit drei Einträgen an, welche aber alle keine Funktion haben.icke1954 hat geschrieben:Das kann ich bei mir nicht reproduzieren, der Sync sollte angestoßen werden.Bernd.W hat geschrieben:Das MPE-Thunderbird-Addon 3.0.18 macht in diesem Zusammenspiel auch weiterhin bei mir Ärger. Keiner der drei Menüpunkte des Dropdown-Menüs startet die Synchronisation.
Fall-1: Du hattest Tb über MPE schon aufgerufen, dann sollte der Sync per AddOn-Button auch funktionieren
Fall-2: MPE wird von TB aufgerufen, dann kommt besagte Fehlermeldung bei mir.
Ich habe zudem folgende Fehlermeldung in der Firefox Error-Console:
ExtensionError: No such native application myphoneexplorer.extension ExtensionUtils.jsm:58:5
ExtensionError resource://gre/modules/ExtensionUtils.jsm:58
startupPromise resource://gre/modules/NativeMessaging.jsm:83
So bei der erneuten Fehlersuche habe ich zumindest die doppelten Icon-Buttons rausbekommen. Ich habe das MPE-Thunderbird-Addon 3.0.18 /08.12.2021 deinstalliert. Anders als sonst habe ich Thunderbird nicht selbst neu gestartet, sondern Thunderbird geschlossen und über MPE gestartet. Da bekam ich den Hinweis, dass MPE-Thunderbird-Addon nicht installiert sei und installieren müsse. Dann eine zweite Meldung in Thunderbird, ich solle das MPE-Thunderbird-Addon aktivieren. Das habe ich gemacht. Dann hatte ich wieder die Version MPE-Thunderbird-Addon 3.0.17 /04.10.2021 installiert. Wieso? Weshalb? Keine Ahnung.
Ich vermute fast, dass durch den Download und die manuelle Installation von MPE-Thunderbird-Addon 3.0.18 /08.12.2021 diese parallel zu Versionen MPE-Thunderbird-Addon 3.0.17 /04.10.2021 installiert war.
Thunderbird hat dann die neueste Version des MPE-Thunderbird-Addons dann geupdatet und so nun die Version 3.0.19 /17.12.2021 installiert.
Leider hat das Drop-Down-Menü weiterhin keine Funktion.
Nachtrag:
Nach mehrmaligen testen, hatte ich einmal keinen Eintrag in der Error-Console. Just in diesem Moment funktionierte die Synchronisation mit allen drei Einträgen des Drop-Down-Menüs.
Weiterer Neustart und wieder alles wie gehabt. Wieder die Fehlermeldung
ExtensionError: No such native application myphoneexplorer.extension ExtensionUtils.jsm:58:5
ExtensionError resource://gre/modules/ExtensionUtils.jsm:58
startupPromise resource://gre/modules/NativeMessaging.jsm:83
und die Einträgen des Drop-Down-Menüs reagieren überhaupt nicht. Dies scheint übrigens 1:1 Mit der Fehlermeldung aus MPE "Einträge konnten nicht aus Thunderbird gelesen werden! "zu korrespondieren. Entweder geht beides oder keines.
Ich hoffe, dass hilft bei der Fehlersuche.
Ich vermute fast, dass durch den Download und die manuelle Installation von MPE-Thunderbird-Addon 3.0.18 /08.12.2021 diese parallel zu Versionen MPE-Thunderbird-Addon 3.0.17 /04.10.2021 installiert war.
Thunderbird hat dann die neueste Version des MPE-Thunderbird-Addons dann geupdatet und so nun die Version 3.0.19 /17.12.2021 installiert.
Leider hat das Drop-Down-Menü weiterhin keine Funktion.
Nachtrag:
Nach mehrmaligen testen, hatte ich einmal keinen Eintrag in der Error-Console. Just in diesem Moment funktionierte die Synchronisation mit allen drei Einträgen des Drop-Down-Menüs.
Weiterer Neustart und wieder alles wie gehabt. Wieder die Fehlermeldung
ExtensionError: No such native application myphoneexplorer.extension ExtensionUtils.jsm:58:5
ExtensionError resource://gre/modules/ExtensionUtils.jsm:58
startupPromise resource://gre/modules/NativeMessaging.jsm:83
und die Einträgen des Drop-Down-Menüs reagieren überhaupt nicht. Dies scheint übrigens 1:1 Mit der Fehlermeldung aus MPE "Einträge konnten nicht aus Thunderbird gelesen werden! "zu korrespondieren. Entweder geht beides oder keines.
Ich hoffe, dass hilft bei der Fehlersuche.
Damit man den regulären Vorgang versteht ein paar Hintegrundinfos:
- ein NativeMessagingHost ist dafür da damit ein Mozilla-Addon mit anderen Prozessen kommunizieren kann
- damit der Host geladen wird muss beim Start von Thunderbird ein entsprechender Eintrag in der Registry gesetzt werden unter HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts
- da eine portable Anwendung ja keine Spuren hinterlassen soll und sich der Pfad der Anwendung ja theoretisch ändern könnte setzt MyPhoneExplorer den Eintrag erst direkt vor dem Sync und löscht ihn dann wieder (übrigens beim weniger problematischen Schlüssel HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts) - nach dem Sync wird er wieder gelöscht
Das ist auch der Grund warum es nur funktioniert wenn MyPhoneExplorer Thunderbird durch den Sync startet. Nur dann wird die Schnittstelle von Thunderbird geladen weil nur dann der entsprechende Schlüssel in der Registry gespeichert ist. Ich weiß das ist eine ungute Situation, aber ich wüsste nicht wie ich es derzeit besser lösen könnte - also für alle User. Wenn du dir sicher bist dass die MyPhoneExplorer portable.exe immer im selben Ordner liegt dann leg folgenden Schlüssel in der Registry an:
Als Wert gibst du ihm den Pfad zur myphoneexplorer.extension.json - Datei an die im Ordner DLL liegt, z.B.:
Du kannst überprüfen ob Thundebird die Schnittstelle geladen hat indem du den Taskmanager öffnest, das Ganze sollte dann so aussehen:

- ein NativeMessagingHost ist dafür da damit ein Mozilla-Addon mit anderen Prozessen kommunizieren kann
- damit der Host geladen wird muss beim Start von Thunderbird ein entsprechender Eintrag in der Registry gesetzt werden unter HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts
- da eine portable Anwendung ja keine Spuren hinterlassen soll und sich der Pfad der Anwendung ja theoretisch ändern könnte setzt MyPhoneExplorer den Eintrag erst direkt vor dem Sync und löscht ihn dann wieder (übrigens beim weniger problematischen Schlüssel HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts) - nach dem Sync wird er wieder gelöscht
Das ist auch der Grund warum es nur funktioniert wenn MyPhoneExplorer Thunderbird durch den Sync startet. Nur dann wird die Schnittstelle von Thunderbird geladen weil nur dann der entsprechende Schlüssel in der Registry gespeichert ist. Ich weiß das ist eine ungute Situation, aber ich wüsste nicht wie ich es derzeit besser lösen könnte - also für alle User. Wenn du dir sicher bist dass die MyPhoneExplorer portable.exe immer im selben Ordner liegt dann leg folgenden Schlüssel in der Registry an:
Code: Alles auswählen
HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts\myphoneexplorer.extensionCode: Alles auswählen
C:\Users\FJ\Desktop\MyPhoneExplorer portable\DLL\myphoneexplorer.extension.json
Ich bitte um Verständnis daß ich aufgrund des hohen Aufkommens im Forum und meines zeitlichen Rahmens nichtmehr jeden Thread im Forum persönlich lesen bzw. beantworten kann.
Bitte benutzt auch die Forum-Suche bzw. die FAQ
Bitte benutzt auch die Forum-Suche bzw. die FAQ
Das ist auch der Grund, warum es nur funktioniert, wenn MyPhoneExplorer Thunderbird durch den Sync startet. Nur dann wird die Schnittstelle von Thunderbird geladen, weil nur dann der entsprechende Schlüssel in der Registry gespeichert ist. Ich weiß das ist eine ungute Situation, aber ich wüsste nicht, wie ich es derzeit besser lösen könnte - also für alle User. Wenn du dir sicher bist dass die MyPhoneExplorer portable.exe immer im selben Ordner liegt dann leg folgenden Schlüssel in der Registry an:
Also ich habe nun fleißig getestet. Die gute Nachricht. Gerade läuft es bei mir. Allerdings verstehe ich nicht, warum der Thunderbird-Prozess über MPE gestartet werden muss. Denn in beiden Fällen werden die Registry-Einträge zuverlässig von MPE unter HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts gesetzt. Der Eintrag führt bei mir immer zum korrekten Pfad unter\MyPhoneExplorer portable\DLL\myphoneexplorer.extension.json. Das kann also nicht der Grund sein. Am Ende der erfolgreichen oder auch nicht erfolgreichen Synchronisation wird dieser wieder ordnungsgemäß gelöscht. Das ist im Sine von portable Apps keine schöne Lösung (da nicht Stealth) aber doch eine solider Workaround.
Möglicherweise spielt es eine Rolle, dass wenn Thunderbird über MPE gestartet wird, Thunderbird.exe mehrmals als Unterprozesse von MPE auftaucht und damit über andere Rechte verfügt?
Nachdem ich den Schlüssel unter HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts hinzugefügt getestet und dann wieder gelöscht habe funktioniert auch die automatisierte Lösung mittels HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts.
Allerdings manchmal erst beim dritten oder vierten Versuch. Allerdings muss ich nicht mehr eine halbe Stunde probieren, bis es funktioniert.
Kurzum: Es scheint kein prinzipielles Problem damit zu geben, wo der Eintrag in der Registry steht. Portable Thunderbird ist in der Lage, diesen sowohl unter HKEY_LOCAL_MACHINE sowie unter HKEY_CURRENT_USER auszulesen. Dass es bei mir nicht beim ersten Mal klappt, könnte darauf hindeuten, dass der Eintrag noch nicht in HKEY_CURRENT_USER geschrieben wird. Vielleicht sollte dort ein Timeout von zusätzlichen 500 oder 1000 Millisekunden vor den ersten Synchronisationsversuch eingefügt werden, um das Problem zu verbessern (oder bei Misserfolg ein zweiter Versuch erfolgen, bevor der Key gelöscht wird).
Das NativeMessaging nur über die Registry angesprochen werden können, ist ja ein Bug von portable Firefox/Thunderbird. Diese Konfiguration gehört ja bei portable Programmen klassisch in eine Ini- oder XML-Datei als Basiskonfiguration.
Vielen, vielen Dank für Eure Hilfe und Support!
Zuletzt geändert von Bernd.W am Di 28. Dez 2021, 12:39, insgesamt 1-mal geändert.
Weil Thunderbird bei der portablen Version nicht wissen kann, wo sich MPE befindet und beim Start diese Information schon benötigt.Bernd.W hat geschrieben:Allerdings verstehe ich nicht, warum der Thunderbird-Prozess über MPE gestartet werden muss. Denn in beiden Fällen werden die Registry-Einträge zuverlässig von MPE unter HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts gesetzt.
Richtig ist, dass das an Thunderbird liegt und in den Vorversionen es anders war, nämlich genau umgekehrt. Man musste Thunderbird erst starten, damit MPE wusste wo der sich befand.
Ja logisch, sonst hatte das FJ das ja nicht als Workaround vorgeschlagenBernd.W hat geschrieben:Es scheint kein prinzipielles Problem damit zu geben, wo der Eintrag in der Registry steht. Portable Thunderbird ist in der Lage, diesen sowohl unter HKEY_LOCAL_MACHINE sowie unter auszulesen
Der Unterschied bei den beiden Eintragungen besteht darin, dass bei gesetztem Eintrag unter HKEY_LOCAL_MACHINE, die Verbindung gleich beim ersten mal funktionieren sollte.
Danke für die Klarstellung icke1954!
Die derzeitige Lösung mit der manuellen Eintragung des Schlüssel ist wirklich unschön. Wenn man auf wechselnden Systemen arbeitet und/oder auf Systemen, die sich nach dem herunterfahren zurücksetzen. Auch wenn der externe Datenträger mit MPE und Thunderbird einen anderen Laufwerksbuchstaben zugewiesen bekommt, klappt es nicht mehr. In allen Fällen, muss der Registry-Eintrag manuell korrigiert werden.
Wäre toll, wenn sich FJ dem nochmal in Zukunft annehmen und prüfen könnte, ob eine Anpassung im Sinne der portable Programmierung umgesetzt werden kann.
Mit dem NativeMessage-Umsetzung bei Mozilla ärgern sich auch andere herum. Es scheint so, als wäre der portable Mode nicht mitbedacht worden.
Die entscheidende Frage ist ja, warum sollte / funktioniert es hier beim ersten Mal. Wenn es egal ist, ob die Information aus HKEY_LOCAL_MACHINE oder HKEY_CURRENT_USER gelesen wird (Ich weiß nicht ob dies Thunderbird "native" macht oder es durch das MPE-Thunderbird-Addon erfolgt), dann liegt es wohl daran, dass der Registry Eintrag zu spät bereit steht. Zumindest im zweiten Falle (Auslesen des Registry Eintrags erfolgt durch das MPE-Thunderbird-Addon), könnte eine entsprechende Wartezeit ergänzt werden, um das Problem zu beheben.icke1954 hat geschrieben:Weil Thunderbird bei der portablen Version nicht wissen kann, wo sich MPE befindet und beim Start diese Information schon benötigt.Bernd.W hat geschrieben:Allerdings verstehe ich nicht, warum der Thunderbird-Prozess über MPE gestartet werden muss. Denn in beiden Fällen werden die Registry-Einträge zuverlässig von MPE unter HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts gesetzt.
Richtig ist, dass das an Thunderbird liegt und in den Vorversionen es anders war, nämlich genau umgekehrt. Man musste Thunderbird erst starten, damit MPE wusste wo der sich befand.
Ja logisch, sonst hatte das FJ das ja nicht als Workaround vorgeschlagenBernd.W hat geschrieben:Es scheint kein prinzipielles Problem damit zu geben, wo der Eintrag in der Registry steht. Portable Thunderbird ist in der Lage, diesen sowohl unter HKEY_LOCAL_MACHINE sowie unter auszulesen![]()
Der Unterschied bei den beiden Eintragungen besteht darin, dass bei gesetztem Eintrag unter HKEY_LOCAL_MACHINE, die Verbindung gleich beim ersten mal funktionieren sollte.
Das ist aus meiner Sicht der derzeit einzige praktikable Workaround im Sinne einer portable Ansatzes. Wenn sich das Auslesen unter HKEY_CURRENT_USER nicht durch eine vorgeschaltete Wartezeit verbessern lässt, sollte der temporäre Ansatz auch für den Registry-Eintrag unter HKEY_LOCAL_MACHINE gewählt werden. Die Eintragung bzw. Löschung könnte auch beim Start bzw. Ende von MPE erfolgen.FJ hat Folgendes geschrieben: hat geschrieben:da eine portable Anwendung ja keine Spuren hinterlassen soll und sich der Pfad der Anwendung ja theoretisch ändern könnte setzt MyPhoneExplorer den Eintrag erst direkt vor dem Sync und löscht ihn dann wieder (übrigens beim weniger problematischen Schlüssel HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts) - nach dem Sync wird er wieder gelöscht
Die derzeitige Lösung mit der manuellen Eintragung des Schlüssel ist wirklich unschön. Wenn man auf wechselnden Systemen arbeitet und/oder auf Systemen, die sich nach dem herunterfahren zurücksetzen. Auch wenn der externe Datenträger mit MPE und Thunderbird einen anderen Laufwerksbuchstaben zugewiesen bekommt, klappt es nicht mehr. In allen Fällen, muss der Registry-Eintrag manuell korrigiert werden.
Wäre toll, wenn sich FJ dem nochmal in Zukunft annehmen und prüfen könnte, ob eine Anpassung im Sinne der portable Programmierung umgesetzt werden kann.
Mit dem NativeMessage-Umsetzung bei Mozilla ärgern sich auch andere herum. Es scheint so, als wäre der portable Mode nicht mitbedacht worden.
Ich habe Dir einen Script für eine VBS-Datei (*.vbs) erstellt:
Du musst nur den Pfad_TB, Pfad_MPE und u.U. die Pausenzeit anpassen
Das Tool realisiert folgendes:
1. Registryeintrag in HKLM setzen
2. Start TB
3. 20 sek Pause
4. Start MPE
Code: Alles auswählen
Pfad_TB="\Thunderbird\ThunderbirdPortable.exe"
Pfad_MPE="\MPE\MyPhoneExplorer_Portable"
Pausenzeit=20000
'***************************************************************************
Set objNet = CreateObject("WScript.NetWork")
Set WshShell = WScript.CreateObject("Wscript.Shell")
WshShell.RegWrite "HKLM\SOFTWARE\Mozilla\NativeMessagingHosts\myphoneexplorer.extension\", Pfad_MPE & "\DLL\myphoneexplorer.extension.json", "REG_SZ"
WshShell.Run(Pfad_TB)
WScript.sleep Pausenzeit
WshShell.Run(Pfad_MPE & "\MyPhoneExplorer_portable.exe")
Set WshShell = Nothing Das Tool realisiert folgendes:
1. Registryeintrag in HKLM setzen
2. Start TB
3. 20 sek Pause
4. Start MPE
Vielen, vielen Dank icke1954 für Dein Skript und die Korrekturen. Ich war bereits auf Fehlersuche. Allerdings funktioniert bei mir das Skript immer noch nicht. Ich bekomme folgende Fehlermeldung:icke1954 hat geschrieben:Ich habe Dir einen Script für eine VBS-Datei (*.vbs) erstellt:Du musst nur den Pfad_TB, Pfad_MPE und u.U. die Pausenzeit anpassenCode: Alles auswählen
Pfad_TB="\Thunderbird\ThunderbirdPortable.exe" Pfad_MPE="\MPE\MyPhoneExplorer_Portable" Pausenzeit=20000 '*************************************************************************** Set objNet = CreateObject("WScript.NetWork") Set WshShell = WScript.CreateObject("Wscript.Shell") WshShell.RegWrite "HKLM\SOFTWARE\Mozilla\NativeMessagingHosts\myphoneexplorer.extension", Pfad_MPE & "\DLL\myphoneexplorer.extension.json", "REG_SZ" WshShell.Run(Pfad_TB) WScript.sleep Pausenzeit WshShell.Run(Pfad_MPE & "\MyPhoneExplorer_portable.exe") Set WshShell = Nothing
Das Tool realisiert folgendes:
1. Registryeintrag in HKLM setzen
2. Start TB
3. 20 sek Pause
4. Start MPE
Zeile: 6; Zeichen: 1
Fehler: Ungültige Wurzel in Registrierungsschlüssel "".
Code: 80070005
Quelle: WshShell.RegWrite
Gehe ich richtig in der Annahme, dass der Pfad von Thunderbird nicht wie oben relativ sein darf? Darf der MPE-Pfad relativ sein, wenn ich das VBS-Skript in das Root-Verzeichnis von MPE lege?
Ab davon ist mir noch eine Idee gekommen. Kann es sein, dass mein Problem in dem Zusammenspiel von der 32Bit und 64Bit Versionen von Thunderbird und MPE entsteht? Mein Thunderbird ist eine 32Bit-Version und läuft meist auf einem Windows 64Bit System (auf dem ich auch immer getestet habe).
Werden Registry-Einträge unter HKLM\SOFTWARE bei 32Bit-Version nicht über WOW6432Node geleitet? Sucht also meine 32Bit-Version vielleicht unter HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Mozilla\NativeMessagingHosts und findet daher nicht die Einträge von MPE unter HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts.
Ich denke das wird nicht die Ursache sein, denn zuweilen hat es ja funktioniert und MPE schaffte es sich mit Thunderbird zu synchronisieren. Aber ich wollte diesen Gedanken doch mal reinwerfen.
Ja, in der Tat scheint bei den meisten aktuellen Systemen ein HKLM-Eintrag mittels VBS problematisch zu sein, ich habe für das Problem "Ungültige Wurzel in Registrierungsschlüssel" bisher keine Lösung gefunden ?!Bernd.W hat geschrieben:Fehler: Ungültige Wurzel in Registrierungsschlüssel
Bezüglich
1.HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Mozilla\NativeMessagingHosts
2.HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts
Wenn ein Pfad unter 1. gesetzt wurde, wird der auch vorrangig genutzt.
Wurde unter 1. kein Pfad gesetzt, nimmt sich bei mir TB den aus 2.
Ja, bei mir funktioniert es problemlosBernd.W hat geschrieben:Darf der MPE-Pfad relativ sein, wenn ich das VBS-Skript in das Root-Verzeichnis von MPE lege?
Hallo icke1954,
Deine Email ist angekommen. Vielen Dank für Deine Unterstützung. Das ist wirklich toller Support!
Die Lösung trägt, auch wenn diese weit von portable App Gedanken weg ist, da man nun aufgrund des HKLM Eintrags Adminrechte benötigt.
Ich habe nun nochmal systematisch alle Varianten durchgetestet. Dabei stellt sich mir folgendes Bild dar:
1. Entscheidend ist der Registry-Eintrag unter HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts\myphoneexplorer.extension
2. Der Registry-Eintrag muss bereits vor dem Start von Thunderbird existieren. Sonst klappt es bei mir nicht. Anscheinend stellt Thunderbird die NativeMessaging-Schnittstelle beim Start bereit. (Nach erfolgreichen Sync kann der Eintrag gelöscht werden und der Sync klappt weiter).
3. Es ist (mit obiger Konfiguration) egal, ob ich zuerst MPE oder Thunderbird starte. Im ersten Fall läuft Thunderbird als als Child-Prozess von MPE. Im zweiten der MozillaConnector als Child-Prozess von Thunderbird. Beides funktioniert.
4. Bei beiden Varianten schlägt bei mir der erste Synchronisationsversuch immer fehl (egal wie lange ich zwischenzeitlich warte). Der zweite klappt in etwa 90% der Fälle. Der dritte in dieser Konfiguration klappt wohl immer.
Thunderbird liest offensichtlich den Eintrag HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts nicht. Ein Timeout-Problem habe ich versucht auszuschließen, indem ich den Eintrag bereits vor Synchronisation manuell gesetzt habe, was aber zu keinem Erfolg führt.
Seltsam ist, dass es zuweilen bei mir auch ohne den Registry-Eintrag unter HKEY_CURRENT_USER geklappt hatte. Eventuell war das immer nach Neu-Installation oder Update des MPE-Thunderbird-Addons? Wird da auch ein Eintrag vorgenommen?
Insgesamt habe ich den Eindruck, dass Mozilla seine Spezifikationen nicht umsetzt. Oder aber es liegt am MPE-Thunderbird-Plugin, dass es einen Unterschied macht, je nachdem wo der Schlüssel aus der Registry ausgelesen wird. Ich vermute aber ersteres.
Zur Doku mal die entsprechenden Referenzen:
https://wiki.mozilla.org/WebExtensions/Native_Messaging
https://developer.mozilla.org/en-US/doc ... _messaginghttps://developer.mozilla.org/en-US/doc ... _manifests
https://bugzilla.mozilla.org/show_bug.c ... 190682#c37
Deine Email ist angekommen. Vielen Dank für Deine Unterstützung. Das ist wirklich toller Support!
Die Lösung trägt, auch wenn diese weit von portable App Gedanken weg ist, da man nun aufgrund des HKLM Eintrags Adminrechte benötigt.
Ich habe nun nochmal systematisch alle Varianten durchgetestet. Dabei stellt sich mir folgendes Bild dar:
1. Entscheidend ist der Registry-Eintrag unter HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts\myphoneexplorer.extension
2. Der Registry-Eintrag muss bereits vor dem Start von Thunderbird existieren. Sonst klappt es bei mir nicht. Anscheinend stellt Thunderbird die NativeMessaging-Schnittstelle beim Start bereit. (Nach erfolgreichen Sync kann der Eintrag gelöscht werden und der Sync klappt weiter).
3. Es ist (mit obiger Konfiguration) egal, ob ich zuerst MPE oder Thunderbird starte. Im ersten Fall läuft Thunderbird als als Child-Prozess von MPE. Im zweiten der MozillaConnector als Child-Prozess von Thunderbird. Beides funktioniert.
4. Bei beiden Varianten schlägt bei mir der erste Synchronisationsversuch immer fehl (egal wie lange ich zwischenzeitlich warte). Der zweite klappt in etwa 90% der Fälle. Der dritte in dieser Konfiguration klappt wohl immer.
Thunderbird liest offensichtlich den Eintrag HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts nicht. Ein Timeout-Problem habe ich versucht auszuschließen, indem ich den Eintrag bereits vor Synchronisation manuell gesetzt habe, was aber zu keinem Erfolg führt.
Seltsam ist, dass es zuweilen bei mir auch ohne den Registry-Eintrag unter HKEY_CURRENT_USER geklappt hatte. Eventuell war das immer nach Neu-Installation oder Update des MPE-Thunderbird-Addons? Wird da auch ein Eintrag vorgenommen?
Insgesamt habe ich den Eindruck, dass Mozilla seine Spezifikationen nicht umsetzt. Oder aber es liegt am MPE-Thunderbird-Plugin, dass es einen Unterschied macht, je nachdem wo der Schlüssel aus der Registry ausgelesen wird. Ich vermute aber ersteres.
Zur Doku mal die entsprechenden Referenzen:
https://wiki.mozilla.org/WebExtensions/Native_Messaging
https://developer.mozilla.org/en-US/doc ... _messaginghttps://developer.mozilla.org/en-US/doc ... _manifests
https://bugzilla.mozilla.org/show_bug.c ... 190682#c37
Hmm, bedeutet das, es funktioniert, wenn auch nur mit Adminrechten ?Bernd.W hat geschrieben:Die Lösung trägt, auch wenn diese weit von portable App Gedanken weg ist, da man nun aufgrund des HKLM Eintrags Adminrechte benötigt.
Zu 1. Das ist bei mir reproduzierbar nur der Fall, wenn der Pfad in HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Mozilla\NativeMessagingHosts nicht gesetzt wurde, nur dann holt sich TB den Pfad aus HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts\myphoneexplorer.extension.
Übrigens bei jedem MPE-Update wird der Inhalt beider Reg-Pfade auf "C:\Program Files (x86)\MyPhoneExplorer\DLL\myphoneexplorer.extension.json" gesetzt, hat bisher niemanden gestört
Zu 2. Ja korrekt
Zu 3. Ja korrekt, aber wenn ich TB auf einem USB-Stick von MPE starten lasse, kommt es beim ersten mal zu besagter Fehlermeldung
Zu 4. Das kann ich nur teilweise bestätigen, oder wir sprechen von verschiedenen 2 Varianten ?
Bei mir funktioniert der Sync immer schon beim ersten Mal, wenn der korrekte Eintrag unter HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Mozilla\NativeMessaging gesetzt ist und TB vor dem Sync gestartet wurde (siehe 1. und 2.).
Habe jetzt auch eine Möglichkeit gefunden mittels VBS-Script in die Registry zu schreiben
Code: Alles auswählen
Pfad_TB="F:\Thunderbird\ThunderbirdPortable.exe"
Pfad_MPE="F:\MPE\MyPhoneExplorer_Portable\MyPhoneExplorer_portable.exe"
MPE_Extensions="\MPE\MyPhoneExplorer_Portable\DLL\myphoneexplorer.extension.json"
Pausenzeit=20000
'***************************************************************************
If Not WScript.Arguments.Named.Exists("elevate") Then
CreateObject("Shell.Application").ShellExecute WScript.FullName _
, """" & WScript.ScriptFullName & """ /elevate", "", "runas", 1
WScript.Quit
End If
Set objNet = CreateObject("WScript.NetWork")
Set WshShell = WScript.CreateObject("Wscript.Shell")
WshShell.RegWrite "HKLM\SOFTWARE\WOW6432Node\Mozilla\NativeMessagingHosts\myphoneexplorer.extension\", MPE_Extensions, "REG_SZ"
WshShell.Run([Pfad_TB])
WScript.sleep Pausenzeit
WshShell.Run([Pfad_MPE])
Set WshShell = NothingExakt, so war das gemeint. Ein klassischer Fall von portable Apps, sind Nutzer, die keine Admirechte haben (z.B. im Unternehmen, an der Uni, in Internet-Cafes, …)icke1954 hat geschrieben:Hmm, bedeutet das, es funktioniert, wenn auch nur mit Adminrechten ?Bernd.W hat geschrieben:Die Lösung trägt, auch wenn diese weit von portable App Gedanken weg ist, da man nun aufgrund des HKLM Eintrags Adminrechte benötigt.
Ja, das hatte ich nicht explizit erwähnt. Mozilla checkt, wie Du gesagt hattest und wie es in den Spezifikationen beschrieben ist, erst WOW6432Node. Entscheidend ist ein Eintrag unter HKLM.icke1954 hat geschrieben: Zu 1. Das ist bei mir reproduzierbar nur der Fall, wenn der Pfad in HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Mozilla\NativeMessagingHosts nicht gesetzt wurde, nur dann holt sich TB den Pfad aus HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\NativeMessagingHosts\myphoneexplorer.extension.
Hier wird es interessant. Wenn hier etwas gemacht wird, was dazu führt, dass Thunderbird einmalig doch die Information zur myphoneexplorer.extension.json bekommt. Wo werden die Einträge genau gesetzt? In HKLM etwa?icke1954 hat geschrieben: Übrigens bei jedem MPE-Update wird der Inhalt beider Reg-Pfade auf "C:\Program Files (x86)\MyPhoneExplorer\DLL\myphoneexplorer.extension.json" gesetzt, hat bisher niemanden gestört![]()
Mein Thunderbird schreibt nicht in HKLM (die beiden obigen Einträge muss ich manuell setzen, da einer davon – egal welcher – entscheiden dafür ist, ob Thunderbird weiß, wo die json-Datei liegt). Möglicherweise weicht hier das Vorgehen bei der portablen (ohne Admin) und der Installationsvariante ggf. mit Adminrechten ab.
Ja, bei mir auch. Wollte ich mit Punkt 4 klarmachen.icke1954 hat geschrieben: Zu 3. Ja korrekt, aber wenn ich TB auf einem USB-Stick von MPE starten lasse, kommt es beim ersten mal zu besagter Fehlermeldung
Also ich habe nur von Stick, bzw. bei mir eine externe HDD, getestet. Bei mir kommt bei allen Varianten bisher immer zuerst ein Fehlschlag. Der zweite Versuch klappt dann fast immer (manchmal brauchte es einen dritten Versuch). Das könnte auf ein zusätzliches Timeoutproblem hinweisen, dass Thunderbird noch lädt und verzögert antwortet.icke1954 hat geschrieben: Zu 4. Das kann ich nur teilweise bestätigen, oder wir sprechen von verschiedenen 2 Varianten ?
Bei mir funktioniert der Sync immer schon beim ersten Mal, wenn der korrekte Eintrag unter HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Mozilla\NativeMessaging gesetzt ist und TB vor dem Sync gestartet wurde (siehe 1. und 2.).
Bei Deinem Skript muss ich den vollständigen Pfad eintragen, sonst kappt es nicht. Vielen Dank!