tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
535
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    mdo mdo ist offline Mitglied Bronze
    Registriert seit
    Feb 2010
    Beiträge
    37
    Hallo!

    Ich will einen eigenen Dateityp mit einem Programm verknüpfen. Soweit ganz klar und funktioniert auch super. Ich klicke doppelt auf die Datei und schon öffnet sich die Datei mit dem gewünschten Programm.
    Die Dateiendung ist *.marisxml und das Programm heißt MAREC.
    Ich will nun aber bei der Installation von MAREC alle *.marecxml Dateien für MAREC registrieren. Aber nicht nur an Windows sondern im Firefox. Dort erscheint ja normalerweise beim ersten Auftreten einer Dateiendung das kleine Fenster in dem man gefragt wird, was man mit dieser Dateiendung jetzt und in Zukunft machen will. Genau diesen Schritt will ich umgehen und direkt bei der Installation von "MAREC" einen möglichen Firefox identifizieren und ihm sagen, dass ab sofort alle *.marisxml Dateien mit dem gerade installierten Notepad zu starten sind.
    Mein erster Gedanke waren natürlich irgendwelche Command-Line-Arguments... Leider gibt es keinen einzigen Parameter der auf so etwas schließen lässt. Ich war schon auf einigen Mozilla Seiten unterwegs und wurde einfach nicht fündig...
    Mein zweiter Gedanke war die Registry. Leider ebenfalls Fehlanzeige...
    Mein dritter Gedanke führte mich dann ins Anwendungsverzeichnis und dort fand ich immerhin folgende Datei:
    C:\Dokumente und Einstellungen\mdo\Anwendungsdaten\Mozilla\Firefox\Profiles\ey72wvz7.default\mimeTypes.rdf

    In dieser Datei gibt es einen Eintrag zu den *.marisxml Dateien und MAREC:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    <RDF:Description RDF:about="urn:handler:local:C:\Programme\MARIS\MAREC\MAREC.exe"
                       NC:prettyName="MAREC.exe"
                       NC:path="C:\Programme\MARIS\MAREC\MAREC.exe" />
     
    <RDF:Description RDF:about="urn:mimetype:handler:application/marisxml"
                       NC:alwaysAsk="false">
        <NC:possibleApplication RDF:resource="urn:handler:local:C:\WINDOWS\system32\NOTEPAD.EXE"/>
        <NC:possibleApplication RDF:resource="urn:handler:local:C:\Programme\MARIS\MAREC\MAREC.exe"/>
        <NC:externalApplication RDF:resource="urn:mimetype:externalApplication:application/marisxml"/>
      </RDF:Description>

    Ich könnte nun natürlich hingehen und für den installierenden (angemeldeten) Benutzer alle Firefoxprofile editieren. Natürlich erst, nachdem alle Firefox-Instanzen geschlossen wurden, sonst dürfte beim Beenden von Firefox die Datei wohl mit den gecachten Infos wieder neu geschrieben werden (habe ich noch nicht getestet, dürfte aber so sein).
    Allerdings möchte ich nicht nur den angemeldeten User-Firefox editieren, sondern die Dateiendung quasi für die gesamte LOCAL_MACHINE hinterlegen.

    So langsam glaube ich, Firefox lässt das nicht zu... Hat jemand hier eine hilfreiche Idee? Oder vielleicht sogar die gleiche Erfahrung gemacht?

    Vielen Dank für die Hilfe,
    mdo
     

  2. #2
    SE Tutorials.de Gastzugang
    Hmm ... da das Zielsystem Windows ist gibt es eine sehr einfache Lösung : IE nutzen und Registry-Key setzen.

    Das Problem an FF ist : er ist auf Grund seiner Zielstrebung nach OpenSource und vor allem Plattformunabhängigkeit so programmiert das er das Unix-typische Verhalten , nämlich für Konfigurationen config-Dateien im User-Verzeichnis , auf Windows anwedet obwohl Windows genau dafür die Registry hat. Da man aus Sicherheitsgründen auch nicht in User-Daten anderer User rumspielen kann *klar ... als Admin geht das* wird es speziell für den FF so keine Lösung geben.
     

  3. #3
    mdo mdo ist offline Mitglied Bronze
    Registriert seit
    Feb 2010
    Beiträge
    37
    Ja zu dem Schluss bin ich mittlerweile auch gekommen. Für den IE habe ich die Registry-Lösung schon vorher umgesetzt und wollte Firefox nun auch mit ins Boot nehmen.
    Ich habe mir eigentlich eine Art Argumentfunktion erhofft: firefox.exe -ext:marisxml -prog:"C:\bla\bla.exe"
    Leider sind diese Zuweisungen von FF Profil zu FF Profil unterschiedlich. Und ein Windows Profil kann auch noch mehrere FF Profile besitzen... Also müsste noch eine Art -allProfiles Schalter hinzukommen.
    Leider gibt es keinen dieser drei Schalter und per Hand alle Profile zu lokalisieren ist definitiv zu viel Aufwand, vorallem da diese Profilstrukturen ja nicht in Stein gemeißelt sind und für jede FF Version geprüft werden müssten... Und dann kommen noch Zugriffsbeschränkungen der Windows Profile hinzu.
    Naja, Schade... Dann muss der Benutzer bei der ersten Verwendung die Sache eben selbst in die Hand nehmen. Ist auch kein Halsbruch, auch wenns wirklich schade ist...

    Aber danke für die Antwort!
     

Ähnliche Themen

  1. Mehrere Dateitypen mit SDI Programm
    Von intGeneSys im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 28.05.08, 12:30
  2. VB.NET: Dateitypen mit Projekt verknüpfen
    Von Terminator2 im Forum .NET Datenverwaltung
    Antworten: 4
    Letzter Beitrag: 18.05.08, 13:54
  3. Im Kontextmenü Programm verknüpfen?
    Von partitionist im Forum Microsoft Windows
    Antworten: 1
    Letzter Beitrag: 15.01.07, 22:05
  4. Firefox Dateitypen erklären
    Von vop im Forum Internet, DSL & Flatrate
    Antworten: 3
    Letzter Beitrag: 15.09.05, 08:16

Stichworte