@Zitronella wegen Portable Starter

  • Weil ich das anderweitig gelesen habe, dass man evtl die Portable als würg-around Standardbrowser nutzen kann seit dedizierten Profile:
    https://www.winhelponline.com/blog/register-…grams-in-vista/

    Ich weiss, dass der Starter von Caschy automatisch -no-remote hinzufügt, sobald eine laufende Instanz erkannt wird. Ist das bei dir auch noch so? Dann dürfte der Starter von Caschy und dir in Verbindung mit dem verlinkten Tool nicht zielführend sein.

    War das jetzt zu schnell in Gedanken?

    Also mit nur einem Firefox und einem Standardprofil ist es egal, damit dürften die meisten dieses neue Feature gar nicht bemerken. Die Portable hingegen wird ja mit Parameter für das Profil gestartet und Firefox.exe war bislang ja auch darüber ansprechbar (ohne -no-remote) und hat praktisch diese Anfragen abgefangen. Dass ist ja seit dedizierten Profilen nicht mehr so. Jetzt sind die halt darauf gekommen, den Starter als Standardbrowser einzutragen - macht ja Sinn - und damit wird ja dann praktisch das Profil wieder mit übergeben, was ja den grundsätzlichen Überlegungen entspricht. Was aber eben nicht bedacht wurde, dass der Starter ein -no-remote hinzufügt, sobald eine laufende Instanz erkannt wird. Damit ist das Tool von oben praktisch wertlos, weil der Starter nicht mitspielt.

    Laut gedacht:
    Der Starter müsste eigentlich jetzt eigentlich zusätzlich feststellen, ob seine Firefox-Instanz schon läuft, ob er schon mal aufgerufen wurde. Und das ist nur möglich, wenn es den Pfad zur laufenden Instanz ausliest, es reicht keine INI oder "Flag" dafür, weil der Starter sich ja danach direkt wieder beendet und Firefox arbeiten lässt.


    Abseits davon, folgendes (ähnlich) nutze ich hier, um Firefox festzulegen:
    HKEY_CLASSES_ROOT\Applications\firefox.exe\shell\open\command
    @="X:\Firefox\firefox.exe" "%1"

    Wenn man nicht zwingend die profiles.ini nutzt, sondern -profile <pfad-zum-profil> könnte man damit verschiedene Firefox auf sich festlegen, wenn man die EXE umbenennt.

    HKEY_CLASSES_ROOT\Applications\firefox.exe\shell\open\command
    @="X:\Firefox\firefox.exe" "%1"

    HKEY_CLASSES_ROOT\Applications\firefox68.exe\shell\open\command
    @="X:\Firefox68\firefox68.exe" -profile <pfad68> "%1"

    HKEY_CLASSES_ROOT\Applications\firefox69.exe\shell\open\command
    @="X:\Firefox69\firefox69.exe" -no-remote -profile <pfad69> "%1"

    In diesem Zweig stehen u.a. notepad.exe, winrar.exe und andere, die man so ohne genaue Pfadangabe unter Start > "Ausführen" aufrufen kann.

    Beides liesse sich sogar verbinden, weil der Starter Parameter (zB Webseite) durchreicht

    HKEY_CLASSES_ROOT\Applications\firefox.exe\shell\open\command
    @="X:\Firefox Portable\firefoxstarter.exe" "%1"


    Nochmal auf das Tool "RegisterFirefoxPortable.exe" zu kommen - ich weiss nicht, was es tut, ich nutze kein NET Framework 3.5, welches benötigt wird. Kann ich nur unter Windows 7 testen.

    Wenn du weinen möchtest, bist du falsch hier. Hier gibt es nur Lösungen!
    Oh Herr, wirf Hirn, oder Steine - Hauptsache, du triffst endlich.
    Zu viele Goofies und Dulleks vom Dienst. Schlabokka!

  • Das hatte ich vor dem Schreiben ja noch gelesen und genau darauf beziehe ich mich ja. Bis v66 "firefox.exe" (egal welcher, ohne -no-remote) Aufrufe noch mit aufgefangen. Mit -no-remote hat es sich ja eh erledigt. Das Problem ergibt sich ja erst mit v67, dass Firefox selbst bei einer gestarteten Portable ein Profil im Benutzerordner erstellt bzw anfragt (Profilmanager). Und das muss der Portable Starter abfangen, nicht mehr Firefox.

    Die Portable als einmaliger Aufruf funktioniert, eine weitere Portable ja auch (-no-remote wird hinzugefügt), nur eben nicht mehr die Übergabe an eine laufende firefox.exe, weil die wegen der dedizierten Profile anders arbeitet.


    Das obige mit der Registry passt so nicht, es müsste sein
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe
    @="X:\\Firefox\\Firefox.exe"
    "Path"="X:\\Firefox"

    wird dann zu
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe
    @="X:\\Firefox\\FirefoxLoader.exe"
    "Path"="X:\\Firefox"

    (für die Portable, siehe Erklärung oben)
    Und der Code für den Starter muss erweitert werden, damit er bei Erkennung seine eigenen Instanz (siehe dein pastebin, BENE) eben auf Firefox mit gleichem Parameter für den Pfad starten.

    Um bei einem bildhaftem Beispiel zu bleiben, weil es bei vielen auch so passt:

    iCafee - Firefox Portable & Thunderbird Portable. TB (jedes andere beliebige Programm) kennt nur "firefox.exe" und weiss nicht, wo es liegt.
    Bislang reichte der Aufruf firefox.exe <link_aus_email>, jetzt muss bei einem Firefox Portable explizit das Profil angegeben werden, ansonsten landet der Aufruf als Profil im Benutzerordner. Problem dabei ist, dass weder der Ort von Firefox Portable (mitsamt Starter) bekannt ist noch der Ordner.

    Hilfreich wäre dann der Ort aus der Registry, den man setzen könnte (unter Berücksichtigung vorhandener Einträge), oder den anderen Program mitteil, wo der Portable Starter liegt.

    ---

    Nachtrag - der Code des Portable Starters erkennt schon seine eigene Instanz. Übersehen und zu kompliziert gedacht. Also müsste man nur den externen Aufruf an den Starter weiterreichen, nicht mehr an Firefox (siehe oben).

    Ich sehe grad noch einen Unterschied zum Code von Bene.

    D.h. der Code von Bene kann das gar nicht umsetzen, der macht nur einen neuen Tab auf wenn überhaupt.

    Was mir grad noch einfällt, der Starter stammt aus Zeiten, von noch kein multiprocess gab. Man müsste noch austesten, ob mit psapi nur die erste gefundene Instanz übergeben wird oder mehr als eine, ersteres wäre irgendwie schlecht.

    https://www.autoitscript.com/forum/topic/88…om-any-process/
    :idea:

    Wenn du weinen möchtest, bist du falsch hier. Hier gibt es nur Lösungen!
    Oh Herr, wirf Hirn, oder Steine - Hauptsache, du triffst endlich.
    Zu viele Goofies und Dulleks vom Dienst. Schlabokka!

    Einmal editiert, zuletzt von .DeJaVu (31. Mai 2019 um 19:49)

  • Eben etwas recherchiert und das ist bei rausgekommen:


    - Parameter berücksichtigt
    - Firefox-Prozesse eingelesen
    - Pfad vergleichen
    - und ggf mit no-remote starten

    Update:

    - save/recover "addonStartup.json.lz4" für jedes Gastsystem

    Update2:

    - Struktur geändert

    - Option für Löschen(Standard)/Speichern der Datei (analog zu John T Haller bei portableapps.com)

    Hier wird multiprocess berücksichtigt, was bei psapi vorher nicht der Fall war.

    Jetzt fehlt nur noch die Festlegung auf den Starter als Ausgangspunkt für externe Aufrufe.

    #Code-Korrektur

    Funktioniert auf x86 und x64 (getestet unter Windows 8 und 10)
    Kann sich jeder mit AutoIt selbst zur EXE kompilieren
    https://www.autoitscript.com/site/

    Wenn du weinen möchtest, bist du falsch hier. Hier gibt es nur Lösungen!
    Oh Herr, wirf Hirn, oder Steine - Hauptsache, du triffst endlich.
    Zu viele Goofies und Dulleks vom Dienst. Schlabokka!

    2 Mal editiert, zuletzt von .DeJaVu (4. September 2019 um 19:22)

  • Update:

    - save/recover "addonStartup.json.lz4" für jedes Gastsystem

    Wegen

    Portable-Version FF - Aktivierte Add-ons werden nicht in Adress-Leiste angezeigt - nach PC-Wechsel

    In dieser Daten werden die pfade zu den Extensions gespeichert und das kann je nach Gastsystem abweichen und daher der beschriebene Effekt. Der Starter prüft und stellt ggf eine passende Ausgabe wieder her.

    Ganz Wichtig: Firefox Portable muss in solchen Fällen zwei Mal gestartet werden!

    Es gäbe noch die Möglichkeit, das LZ4 zu entpacken, müsste dann aber auch neu gepackt werden. Problematik dabei ist, dass Mozillas LZ4-Format abweicht vom Standard und auch eigene Konventionen verfolgt, die a) in zwei extra Tools ended und b) danach weiter modifiziert werden müssen. Derzeit sind meine eigene Fähigkeiten dahingehend begrenzt und deswegen nicht umsetzbar.

    Quelle: https://github.com/avih/dejsonlz4

    Update2:

    - Struktur geändert

    - Option für Löschen(Standard)/Speichern der Datei (analog zu John T Haller bei portableapps.com)

    Wenn du weinen möchtest, bist du falsch hier. Hier gibt es nur Lösungen!
    Oh Herr, wirf Hirn, oder Steine - Hauptsache, du triffst endlich.
    Zu viele Goofies und Dulleks vom Dienst. Schlabokka!

    Einmal editiert, zuletzt von .DeJaVu (4. September 2019 um 19:22)

  • Update

    Kompilation mit https://autoit.de/

    Wenn du weinen möchtest, bist du falsch hier. Hier gibt es nur Lösungen!
    Oh Herr, wirf Hirn, oder Steine - Hauptsache, du triffst endlich.
    Zu viele Goofies und Dulleks vom Dienst. Schlabokka!

  • Nach Fehlersuche und Mitarbeit von 2002Andreas bzgl. "MultipleFirefoxLoader" :thumbup:

    Änderungen wie folgt:

    - setzen des Arbeitsverzeichnisses, sonst wollen andere Instanzen das gleiche Profil nutzen

    - bei einer vorhandenen Sitzung der gleichen Portable passiert nichts weiter

    - Code-Vereinfachung

    - auf Wunsch Symbole für Final/Beta/Nightly aus den offiziellen Assets

    Product Identity Assets
    The Photon Design System houses guidelines, reusable UI components, templates, and other resources to help you create products for Firefox users.
    design.firefox.com

    Resultat und Quellcode als ZIP (Update am 8.2.2023 abends)

    Für Firefox

    Firefox_Portable_2023-02-08_3.zip
    Shared with Dropbox
    www.dropbox.com

    Für Thunderbird

    Thunderbird_Portable_2023-02-08_1.zip
    Shared with Dropbox
    www.dropbox.com

    Hinweis: alle Dropbox-Nachfragen wegklicken und dann oben Links "Herunterladen"

    Der Starter kann Windows 32- und 64-Bit erkennen und auf entsprechende Builds umschalten. Gibt es beides nicht: Fehlermeldung. Im ZIP ist eine entsprechende funktionierende Ordnerstruktur vorgegeben, ohne Profil und Anwendung, das müsst ihr selbst reinkopieren.

    Der Code lässt sich mit Autoit kompilieren, enthält aber dann kein Symbol, dazu braucht es "AutoIt3Wrapper" aus "Scite".

    Wer ein anderes Symbol möchte, sollte sich das Script neu kompilieren, ansonsten kann es zu Fehlfunktionen kommen!

    Tip: Eine Bearbeitung des Symbols ist hier (getestet) auch mit RessourceHacker machbar.

    Scite ist extra:

    AutoIt Script Editor Downloads - AutoIt
    Overview This is the main download page for the AutoIt Script Editor and related files. Current Versions File Date updated Notes SciTE4AutoIt3.exe (5439Kb)…
    www.autoitscript.com

    Autoit deutsch hier

    Unerledigte Themen - AutoIt.de - Das deutschsprachige Forum.

    Und nochmal:

    Zitat


    Hinweis: alle Dropbox-Nachfragen wegklicken und dann oben Links "Herunterladen"

  • Update am 7.2.2023 für einen weiteren Starter auf Wunsch. Durch ein neueres Autoit sind auch diverse Falschmeldungen bei Antivirusprogrammen obsolet, allenfalls Kaspersky, McAfee und ein paar unbekannte. Defender ist nicht dabei.

    VirusTotal

    Wenn du weinen möchtest, bist du falsch hier. Hier gibt es nur Lösungen!
    Oh Herr, wirf Hirn, oder Steine - Hauptsache, du triffst endlich.
    Zu viele Goofies und Dulleks vom Dienst. Schlabokka!

  • Hast du die "Automatische Übermittlung von Beispielen" aktiviert?

    Ich kann mich nur an meinen Systemen und VT orientieren und da kommt nichts.

    Ansonsten steht es jedem frei, sich autoit zu besorgen und selbst zu kopilieren.

    Wenn du weinen möchtest, bist du falsch hier. Hier gibt es nur Lösungen!
    Oh Herr, wirf Hirn, oder Steine - Hauptsache, du triffst endlich.
    Zu viele Goofies und Dulleks vom Dienst. Schlabokka!

  • "Automatische Übermittlung von Beispielen" aktiviert?

    Ja, hatte ich aktiviert, dann aber aus geschaltet und erneut herunter geladen und wird trotzdem mokiert.


    selbst wenn ich den cludbasierten Schutz auch noch zusätzlich deaktiviere wird es immer noch mokiert.

    Hilfe auch im deutschsprachigen Matrix-Chat möglich oder im IRC-Chat
    Meine Anleitungstexte dürfen gerne "geklaut" und weiter verwendet/kopiert werden ;)

    Einmal editiert, zuletzt von Zitronella (7. Februar 2023 um 21:58) aus folgendem Grund: Ein Beitrag von Zitronella mit diesem Beitrag zusammengefügt.

  • Ich habe ein Update auf einer anderen Basis eingestellt in die #7.

    Der Aufwand war entsprechend höher, weil die Programmiersprache wesentlich einfacher gehalten ist. Dadurch sind auch die Header kleiner usw.

    Zu einer Datei daraus.

    VirusTotal

    Wenn du weinen möchtest, bist du falsch hier. Hier gibt es nur Lösungen!
    Oh Herr, wirf Hirn, oder Steine - Hauptsache, du triffst endlich.
    Zu viele Goofies und Dulleks vom Dienst. Schlabokka!