bestimmten Dateityp immer mit jar-Datei öffnen

kodela

kodela

Bekanntes Mitglied
Hallo,

von meinem ZiffernPuzzle-Programm werden Str8ts-Aufgaben als str-Dateien gespeichert.

Wenn ich eine solche Datei mit der rechten Maustaste anklicke und im sich öffnenden Kontextmenü die Option "Datei öffnen mit" selektiere, kann ich in den nächsten sich öffnenden Dialogen erst über "Weitere Apps" und dann "Andere App auf diesem PC suchen" mit "Immer diese App zum Öffnen von str-Dateien verwenden" in einem Dateidialog die ausführbare jar-Datei auswählen. Danach konnten bisher str-Dateien vom Explorer aus per Doppelklick mit dem jar-Programm geöffnet werden.

Das hat bisher einwandfrei geklappt. Heute habe ich es mit einem Zweitgerät (System auf gleichem Stand wie mein Hauptgerät) versucht und bekam die Meldung "Diese App kann auf dem PC nicht ausgeführt werden", was nicht richtig ist. Sie kann sehr wohl ohne irgend welche Einschränkungen ausgeführt werden.

Wie kann man Windows 10 dazu bewegen, jar-Dateien auch über den beschriebenen Weg auszuführen?

Danke schon einmal vorweg für jeden Tipp,

kodela
 
kodela

kodela

Bekanntes Mitglied
Danke mihe7!

Leider wird als Standard für str-Dateien nur eine Suche im Microsoft Store angeboten.

1598048955338.png


Dieser Screenshot stammt von meinem Hauptrechner, auf dem str-Dateien mit dem von mir beschriebenen, vor einiger Zeit angewandten Verfahren bereits standardmäßig mit eine jar-Datei geöffnet werden. Siehe diesen Screenshot:

1598050444583.png


Diesen Dialog bekomme ich, wenn ich es für das Öffnen einer str-Datei über das Kontextmenü "Öffnen mit..." versuche.

Auf dem Zweitrechner wird unter all den vielen Dateitypen der str-Typ überhaupt nicht angezeigt.
 
kodela

kodela

Bekanntes Mitglied
Ich könnte das Öffnen einer str-Datei durch eine jar-Datei natürlich auch über eine reg-Datei machen. Das funktioniert auf jeden Fall. So habe ich es seit Jahren gemacht. Vor kurzem habe ich aber entdeckt, dass es auf die eingangs beschriebene Weise auch möglich ist/war und wollte nun anderen Anwendern meines Str8ts-Programms diese Methode empfehlen, da damit nicht direkt auf die Registry zugegriffen werden müsste.
 
mihe7

mihe7

Top Contributor
Leider wird als Standard für str-Dateien nur eine Suche im Microsoft Store angeboten.
Ich meinte die Methode über die Befehlszeile :) (s. u.)

Auf dem Zweitrechner wird unter all den vielen Dateitypen der str-Typ überhaupt nicht angezeigt.

Was liefert
Code:
assoc .str
? Kommt die Meldung, dass kein Dateityp mit der Endung assoziiert ist? Dann setze sie z. B.
Code:
assoc .str=strfile

Damit dürfte die Endung wenigstens in der Liste auftauchen.

Der zweite Schritt wäre, das Programm zu setzen, entweder über die Oberfläche oder aber über die Befehlszeile:
Code:
ftype strfile="C:\Program Files\Java\jre1.8.0_241\bin\javaw.exe" "-jar" "%1"

Es gibt wohl auch Windows-Bugs zum Thema, z. B. https://www.ghacks.net/2018/11/09/m...e-association-bug-in-windows-10-version-1803/
 
kodela

kodela

Bekanntes Mitglied
Danke für die ausführliche Antwort!

Leider funktioniert der Weg über "assoc" bei mir auch nicht.

assoc-Benennung.png


Das könnte daran liegen, dass bei mir die Windows Home-Version installiert ist und bei Dir vermutlich die Professional-Version.

Oder habe ich einen Fehler gemacht?
 
kodela

kodela

Bekanntes Mitglied
Danke für den Hinweis!

Damit ließ sich der .str-Typ Windows bekannt machen.

assoc-Benennung_2.png


Aber das ändert an meinem Problem nichts, denn Windows sagt mir immer noch, die Datei könne nicht geöffnet werden.
Anmerkung zu vorstehendem Screenshot: Die JRE-Version wurde nach diesem Test aktualisiert auf die Version 1.80_261

Str-File_oeffnen.png


Sieht doch eigentlich richtig aus. Dann aber kommt das:

Str-File_oeffnen_2.png


So sieht es in der Registry aus:

Strg-File-Reg.png


und so im Explorer:

Strg-File-Typ.png


Oben die ausführbare JAR-Datei und darunter eine STR-Datei. Sie sollte durch einen Doppelklick mit der JAR-Datei geöffnet werden.

Müsste hier:

1598098051033.png


eventuell an Stelle von "-jar" der Platzhalter so beschrieben werden: "*.jar" ?

kodela
 
Zuletzt bearbeitet:
J

JustNobody

Top Contributor
Der Aufruf muss doch auch das jar File angeben. Der Aufruf ist doch etwas wie
java -jar deinJarFile.jar gespeicherteDatei.str

Den genauen Aufruf kannst du ja in der Eingabeaufforserung testen. Aus der str Datei machst du dann das "%1".
 
kodela

kodela

Bekanntes Mitglied
Ja, ich meine, das ist mir klar. Der gewünschte Aufruf umfasst einmal die JRE-Datei, das ist

"C:\Program Files\Java\jre1.8.0_241\bin\javaw.exe"

Dann kommt die eigentliche JAR-Programmdatei, das ist bei mir

"D:\Tools\Kodelas-ZiffernPuzzles\kodelasZiffernPuzzle.jar"

und dann muss die vom Programm zu öffnende Datei, eine beliebige STR-Datei kommen.

In der Registry ist allein für das Öffnen eine JAR-Datei filgender Eintrag:

"C:\Program Files\Java\jre1.8.0_261\bin\javaw.exe" -jar "%1" %*

Ich weiß nicht, ob das richtig ist, aber so habe ich den Aufruf herauskopiert.
 
J

JustNobody

Top Contributor
Mach den Aufruf einmal komplett auf der Kommandozeile. Das wäre dann doch:
"C:\Program Files\Java\jre1.8.0_261\bin\javaw.exe" -jar "D:\Tools\Kodelas-ZiffernPuzzles\kodelasZiffernPuzzle.jar" "D:\Tools\Kodelas-ZiffernPuzzles\letztes.str"

Und nun soll es ja für einen Doppelklick auf eine str Datei gelten. Also ist der letzte Parameter dann durch "%1" zu ersetzen:
"C:\Program Files\Java\jre1.8.0_261\bin\javaw.exe" -jar "D:\Tools\Kodelas-ZiffernPuzzles\kodelasZiffernPuzzle.jar" "%1"

Und eben nicht nur ein
"C:\Program Files\Java\jre1.8.0_261\bin\javaw.exe" -jar "%1"

Denn das würde ja bei einem Doppelklick einen Aufruf wie folgt erzeugen:
"C:\Program Files\Java\jre1.8.0_261\bin\javaw.exe" -jar "D:\Tools\Kodelas-ZiffernPuzzles\letztes.str"
was natürlich nicht funktionieren kann.
 
kodela

kodela

Bekanntes Mitglied
Nein, keiner dieser Aufrufe funktioniert.

Hier meine Reg-Datei. Mit der funktioniert es auf meinem Hauptrechner einwandfrei:

Code:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.str]
@="str-File"

[HKEY_CLASSES_ROOT\str-File]
@="binäre Str8ts-Datei"
"AlwaysShowExt"=""
"EditFlags"=dword:00000000

[HKEY_CLASSES_ROOT\str-File\DefaultIcon]
@="D:\\Tools\\Kodelas-ZiffernPuzzles\\zpuzz.ico,0"

[HKEY_CLASSES_ROOT\str-File\shell]
@="Open"

[HKEY_CLASSES_ROOT\str-File\shell\Open]
@="Open"

[HKEY_CLASSES_ROOT\str-File\shell\Open\command]
@="\"C:\\Program Files\\Java\\jre1.8.0_261\\bin\\javaw.exe\" \"-jar\" \"D:\\Tools\\Kodelas-ZiffernPuzzles\\kodelasZiffernPuzzle.jar\" \"%1\""

Und so sieht der Eintrag selbst aus:

1598103624213.png


Darum ging es mir aber eigentlich nicht. Ich wollte, wie es mir schon möglich war, diese Option ohne explizite Eintragung in der Registry erreichen.
Das Vorgehen dafür sollte in der Hilfe-Datei beschrieben sein. Nun geht das aber scheinbar nicht mehr. Also werde ich bei der Registry-Variante bleiben und weniger erfahrene Anwender vor einem solchen Zugriff warnen. Schade.

kodela
 
Zuletzt bearbeitet:
J

JustNobody

Top Contributor
Was genau funktioniert nicht? Stimmen die Pfade? Funktioniert der Aufruf im CMD Fenster wenn du ihn da eingibst?

Wenn der Aufruf im CMD Fenster funktioniert: Zeige ihn und zeige dann , was für Aufrufe du genau gemacht hast und was für Meldungen du ggf. bekommst...
 
kodela

kodela

Bekanntes Mitglied
Kommando zurück!

Der Aufruf von:

"C:\Program Files\Java\jre1.8.0_261\bin\javaw.exe" -jar "D:\Tools\Kodelas-ZiffernPuzzles\kodelasZiffernPuzzle.jar" "D:\Tools\Kodelas-ZiffernPuzzles\letztes.str"

funktioniert. Warum er vorhin nicht funktioniert hat, ist mir nicht klar. Bei den letzten Versuchen war ich zwar als Admin angemeldet und jetzt als Standarduser. Ob es daran lag, ich kann es mir eigentlich nicht vorstellen, werde ich noch prüfen.

Wie aber soll ich jetzt durch einen Ersatz der letzten str-Datei mit "%1" erreichen, dass der Explorer weiß was er bei einem Doppelklick auf eine srt-Datei zu tun hat? Wie gesagt, ohne Eingriff in die Registry.

Man könnte vielleicht eine Batchdatei "basteln" und de str-Dateien nicht mit der jar-Programmdatei, sondern mit der Batchdatei verknüpfen.
 
J

JustNobody

Top Contributor
Die Version mit %1 gehört in den Aufruf von ftype. Und unter dem Strich wird da auch nur die Registry angepasst, denn das ist der Speicherort.

(Ggf aber unter HKey_Local_User statt Classes Root, also nur für den aktuellen User und nicht global.)
 
kodela

kodela

Bekanntes Mitglied
Hallo @mihe7, hallo @JustNobody,

ich gebe es auf, weiter nach einer Lösung für mein Problem zu suchen und bedanke mich für Eure Hilfe sehr herzlich.

Meine Reg-Datei von dem Thread #12 mit angepasstem Pfadbezeichner konnte (laut Windows erfolgreich) ausgeführt werden. Die Strings für das Icon und das Öffnungskommando wurden jedoch nicht übernommen.

Die Deklaration des des Open-Kommandos für den Dateityp str (str-File) über ftype war dagegen erfolgreich und wurde in die Registry eingetragen.
Für die Ausführung dieses Kommandos habe ich sehr darauf geachtet, Tippfehler zu vermeiden. Hier der Verlauf in der Eingabeaufforderung mit administrativen Rechten:

Code:
Microsoft Windows [Version 10.0.18363.1016]
(c) 2019 Microsoft Corporation. Alle Rechte vorbehalten.

C:\WINDOWS\system32>ftype str-File="C:\Program Files\Java\jre1.8.0_261\bin\javaw.exe" "-jar" "D:\Tools\Ziffernpuzzle\kodelasZiffernPuzzle.jar" "%1"
str-File="C:\Program Files\Java\jre1.8.0_261\bin\javaw.exe" "-jar" "D:\Tools\Ziffernpuzzle\kodelasZiffernPuzzle.jar" "%1"

C:\WINDOWS\system32>

Trotzdem kommt bei dem Versuch, das Programm per Doppelklick mit einer str-Datei zu starten die oben bereits gezeigte Fehlermeldung, dass diese App auf dem PC nicht ausgeführt werden könne.

Interessant ist, dass es dieses Problem auf meinem Hauptrechner nicht gibt.

kodela
 
J

JustNobody

Top Contributor
Also wenn Du es nicht weiter verfolgen willst, dann ist das natürlich ok. Aber du könntest einmal die Registry-Keys im Detail zeigen, die Du jetzt bezüglich der Endung hast (Also ähnlich wie die reg Datei - alle Keys interessieren).

Was noch beim durchgehen des Threads auffällt: Teilweise ist von strfile die Rede, teilweise von str-File. Nicht dass da noch ein Problem liegt (Dann hast Du str-File korrekt, aber .str ist strfile zugeordnet oder so ....)

Dann könnte auch interessant sein, die User-Settings zu prüfen - nicht dass der User da irgend etwas für .str gesetzt hat. Dann könntest Du global machen was Du willst und das lokale Setting des Users würde dennoch gelten (HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts)

Am Einfachsten wäre ggf. einfach die Ausgabe von
assoc str
ftype <was str zugewiesen wurde>
zu machen und zu posten (Natürlich nur, wenn Du noch Lust und Zeit hast. Ich will Dich zu nichts drängen, wenn Du es nicht mehr möchtest!)
 
kodela

kodela

Bekanntes Mitglied
... du könntest einmal die Registry-Keys im Detail zeigen, die Du jetzt bezüglich der Endung hast (Also ähnlich wie die reg Datei - alle Keys interessieren).

Danke für den "Stupser" und entschuldige bitte, dass ich so spät darauf reagiere.

Leider kann ich für die Registry nur noch die aktuelle Situation liefern. Hier die Einträge zur str-Erweiterung:

Hier die Eintragungen für den Standard-User:

Code:
[HKEY_CLASSES_ROOT\.str]
@="str-File"

Und hier für den Administrator:

Code:
[HKEY_CLASSES_ROOT\.str]
@="str-File"


[HKEY_CLASSES_ROOT\assoc .str]

[HKEY_CLASSES_ROOT\assoc .str\Shell]

[HKEY_CLASSES_ROOT\assoc .str\Shell\Open]

[HKEY_CLASSES_ROOT\assoc .str\Shell\Open\Command]
@=hex(2):20,00,00,00

Du hättest sicher lieber gesehen, wie die Registry vor zwei Tagen aussah. Damit kann ich leider nicht mehr dienen, da ich, wie aus den letzten Eintragungen zu ersehen ist, mit "assoc .str= " alles platt gemacht habe. Dies müsste aber kein Nachteil sein, könnte ich doch jetzt noch einmal nach Deinen Empfehlungen versuchen, die Verknüpfung der str-Erweiterung mit der jar-Datei neu aufzubauen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Schandro Datei öffnen mit... Bestimmten Dateityp mit einen Java-Programm öffnen lassen Allgemeine Java-Themen 5
I DOM-Parser - Element im Element an bestimmten Stellen auslesen Allgemeine Java-Themen 1
C Movement auf bestimmten Weg bestimmen Allgemeine Java-Themen 11
S Apache POI Filtern nach bestimmten Kriterium Allgemeine Java-Themen 1
C Config nach bestimmten Wertdurchsuchen. Allgemeine Java-Themen 2
V Bilder bei bestimmten Zeiten wechseln, bitte um Hilfe Allgemeine Java-Themen 5
N Das Ende von bestimmten zeilen in text datei ändern und speichern Allgemeine Java-Themen 3
FrittenFritze Swing Apache Batik - Zoom an einer bestimmten Stelle Allgemeine Java-Themen 4
K Bestimmten Bereich eines Strings lesen Allgemeine Java-Themen 6
L Erste Schritte Java Date Format Pattern bestimmten Allgemeine Java-Themen 2
B Sprachdatei anhand von bestimmten Kriterien zerschneiden Allgemeine Java-Themen 0
L Von ArrayList abgeleitete Klasse nur mit bestimmten Objekten füllen Allgemeine Java-Themen 1
A Fehlerhafte Nst Berechnung einer bestimmten Fkt. (Bisektion) Allgemeine Java-Themen 10
KilledByCheese String an bestimmten Stellen teilen Allgemeine Java-Themen 2
M Ein Programm das nur von einem bestimmten Programm geöffnet werden kann Allgemeine Java-Themen 7
V Klassenname von allen Klassen mit einer bestimmten Eigenschaft bekommen Allgemeine Java-Themen 2
C Generic-Funktion nur bei bestimmten Typen erlauben Allgemeine Java-Themen 6
H Bestimmte Aufgaben zur bestimmter Zeit/ in bestimmten Intervallen Allgemeine Java-Themen 3
E Tool um Methodenaufrufe aus bestimmten Pkg zu finden Allgemeine Java-Themen 2
S Methoden Stunden seit einem bestimmten Zeitpunkt Allgemeine Java-Themen 3
H Bestimmten Wert aus String parsen Allgemeine Java-Themen 7
J Ist eine Instanz von einem bestimmten Object Typ? Allgemeine Java-Themen 6
N Zahl mit bestimmter Länge und nur bestimmten Zahlen generieren lassen Allgemeine Java-Themen 7
T Sechsecke, erkennen von bestimmten Werten Allgemeine Java-Themen 9
A Excel nach bestimmten Inhalt durchsuchen Allgemeine Java-Themen 8
F Dynamisch ein Objekt einer bestimmten Subklasse erstellen Allgemeine Java-Themen 7
c_sidi90 Werte an bestimmten Position aus PDF in DB sichern Allgemeine Java-Themen 2
L Java TimeZone für bestimmten offset -> Bessere Möglichkeit? Allgemeine Java-Themen 2
L Sicherstellen das 2x die gleichen Daten unter bestimmten Keys enthalten sind. Allgemeine Java-Themen 6
H Bestimmten String mit Pattern und Matcher herauslesen => kein erfolg Allgemeine Java-Themen 9
T Javaprogramm unter Linux auf bestimmten Kern starten/laufen lassen ? Allgemeine Java-Themen 22
S JavaCC : SKIP Token nur für bestimmten Bereich ?? Allgemeine Java-Themen 2
B PDF lesen funktioniert bei bestimmten Dateien nicht mit pdfview Allgemeine Java-Themen 4
isowiz java.util.List: Sortierung nicht nach bestimmten Attribut? Allgemeine Java-Themen 4
D Ereigniss zur bestimmten Uhrzeit Allgemeine Java-Themen 3
Developer_X Ein Array nach einem bestimmten Attribut sortieren Allgemeine Java-Themen 3
D Objekte nur unter bestimmten Voraussetzungen erzeugen Allgemeine Java-Themen 4
B Scheduler soll bestimmten Job stoppen Allgemeine Java-Themen 4
J Jar zu einer bestimmten Uzeit Ausführen Allgemeine Java-Themen 8
R Drucken über bestimmten Drucker Allgemeine Java-Themen 11
T Bestimmten Inhalt aus Manifest.MF auslesen Allgemeine Java-Themen 8
K Suche alle Objekte einer bestimmten Klasse Allgemeine Java-Themen 2
R bestimmten HTML Code per JAva lesen lassen Allgemeine Java-Themen 7
J Konstruktor-Aufruf nur aus einem bestimmten Package erlauben Allgemeine Java-Themen 5
R Ab bestimmten Trennzeichen linke Seite. Allgemeine Java-Themen 2
O Klassen mit bestimmten Interface finden Allgemeine Java-Themen 11
C Farbpunkt von einer bestimmten Fensterposition lesen Allgemeine Java-Themen 7
S installer mit bestimmten features? Allgemeine Java-Themen 2
N Dateien mit einer bestimmten Erweiterung suchen Allgemeine Java-Themen 9
M Problem mit bestimmten ASCII Codes Allgemeine Java-Themen 3
S addAtPosition - Zahl an einer bestimmten Position einfügen Allgemeine Java-Themen 8
M PDF-Datei nach einer bestimmten zeichenfolge durchsuchen Allgemeine Java-Themen 2
F Was ist der Dateityp meines Parameters für die Main Methode. Allgemeine Java-Themen 6
J Dateityp im Internet Allgemeine Java-Themen 3
M dateityp ändern Allgemeine Java-Themen 2
R Dateityp und -Icon Allgemeine Java-Themen 9
C FileLock - Exception wird immer geworfen Allgemeine Java-Themen 4
W Haben Konstruktoren in Java eigentlich immer mindestens einen Parameter? Allgemeine Java-Themen 4
C Variablen == gibt immer false aus. Allgemeine Java-Themen 2
@SupressWarnings() Multilanguaging lädt immer falsch Allgemeine Java-Themen 5
A Swing Immer aktuelle Mausposition anzeigen lassen Allgemeine Java-Themen 7
F Java Mail Problem: Authentifizierung wird nicht immer mitgeschickt Allgemeine Java-Themen 1
T Textarea text wird immer überschrieben Allgemeine Java-Themen 4
J StringTokenizer - Trennzeichen nicht immer beachten Allgemeine Java-Themen 2
B Threads Timer wird immer schneller Allgemeine Java-Themen 6
S Zahlen aus (String mit zahlen) immer wieder neu auslesen Allgemeine Java-Themen 5
I Java Applet wird immer blockiert Allgemeine Java-Themen 3
AssELAss Zeilenumbruch immer nach bestimmtem Zeichen Allgemeine Java-Themen 1
Y Prüfen ob ein Graph immer einen von mehren Enden erreicht Allgemeine Java-Themen 4
E Immer nur der Catch-Zweig Allgemeine Java-Themen 3
T Variablenübergabe liefert immer null Allgemeine Java-Themen 13
iB0T "goto" Befehl aus Batch in Java und Variablen wert immer wieder neu setzen Allgemeine Java-Themen 4
K Image beim catchen ist immer null Allgemeine Java-Themen 9
M Input/Output Datei erzeugen funktioniert nicht (immer) vom .jar aus Allgemeine Java-Themen 5
7 String in Int, immer ein Anführungszeichen Allgemeine Java-Themen 4
T Wie heißt ein Binärbaum, dessen Knoten immer zwei Kinder haben müssen? Allgemeine Java-Themen 2
D Webseite wird nicht immer komplett ausgelesen Allgemeine Java-Themen 11
2 Array immer die Mitte (Nicht trivial) Allgemeine Java-Themen 4
R JNI if abfrage gibt immer false zurück. Allgemeine Java-Themen 7
E rückgabewert ist immer null Allgemeine Java-Themen 2
H2SO3- bestimmte class immer mit 1.4 compilieren Allgemeine Java-Themen 5
S HashMap containsKey liefert immer false zurück Allgemeine Java-Themen 15
D Api mit eine Methode die "immer" läuft bis "stop" "gerufen wird. Allgemeine Java-Themen 25
VfL_Freak ServerSocket wirft nicht immer eine BindException Allgemeine Java-Themen 21
J Comparable aber nicht immer Allgemeine Java-Themen 15
D KeyEvents immer fangen Allgemeine Java-Themen 5
data89 A-Stern: fährt immer wieder vor die Wand! - Hilfeeee Allgemeine Java-Themen 7
L Applet immer wieder neu laden - Problem Allgemeine Java-Themen 25
V Hostname abfragen gelingt nicht immer Allgemeine Java-Themen 2
S Wieso stehen in der API immer wieder abstrakte Methoden ? Allgemeine Java-Themen 7
S Methode übergibt immer den gleichen Wert Allgemeine Java-Themen 21
thE_29 Generic Methoden die sich aufrufen wollen nicht immer Allgemeine Java-Themen 12
A Rekursives Programm wird immer langsamer Allgemeine Java-Themen 10
T jmf - Immer "Unable to handle fo rmat:" Allgemeine Java-Themen 2
B in file immer 2. zeile überschreiben Allgemeine Java-Themen 8
J Variabeln immer klein aber. Allgemeine Java-Themen 4
T Log4J: Bei Programmstart immer eine neue LogDatei erzeugen Allgemeine Java-Themen 9
M Double immer mit 2 Kommastellen Allgemeine Java-Themen 3
B RXTX sendet immer mit 9600Baud Allgemeine Java-Themen 4
J Eigener ClassLoader wird nicht immer verwendet Allgemeine Java-Themen 3

Ähnliche Java Themen

Anzeige


Oben