Windows Registry Editor

Diskutiere Windows Registry Editor im Windows 10 Software Forum im Bereich Windows 10 Foren; C:\Program Files (x86)\Common Files\Oracle\Java ... muss als erste Pfad-Variable drin stehen bleiben !!! Sonst weiss das OS ja nicht, dass es...
  • Windows Registry Editor Beitrag #21
Argor

Argor

Erfahrener Benutzer
Dabei seit
30.04.2019
Beiträge
1.420
Ort
Saarland
Version
Win 11 aktuell
System
Strix X570-F, R9 3900X, 32 GB, RTX 3080 Strix OC, Aorus FV43U
C:\Program Files (x86)\Common Files\Oracle\Java

... muss als erste Pfad-Variable drin stehen bleiben !!! Sonst weiss das OS ja nicht, dass es java gibt.

und der Eintrag zum str-file hat ja nichts mit java zu tun, das bezieht sich wohl auf das Programm selbst

Achja, und die Pfadangaben für die Registry mit DoppelSlashs übergeben ;-)

Beispiel:
@="D:\\Tools\\Stradoku\\stradoku.ico,0"
 
Zuletzt bearbeitet:
#
schau mal hier: Windows Registry Editor. Dort wird jeder fündig!
Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  • Windows Registry Editor Beitrag #22
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
551
Version
Windows 10 Home, x64, Version 22H2
System
i7 950, 12 GB, GTX 1650
... der Eintrag zum str-file hat ja nichts mit java zu tun, das bezieht sich wohl auf das Programm selbst

Was ist damit gemeint, die Einträge in der Registry? Das sind ja mehrere, alle Einträge meiner .reg-Datei beziehen sich doch auf ein .str-file.

Der Eintrag für das Icon von .str-Dateien wurde über meine .reg-Datei nicht gesetzt. Ich habe ihn nun manuell nachgetragen und die Icons werden angezeigt.

Auch der Eintrag für das Öffnen von .str-Dateien wurde nicht übernommen. Ich habe ihn manuell nachgetragen, aber der Aufruf funktioniert nicht. Es kommt folgende Meldung:

1609242652662.png

Ich habe also zwei Probleme. Warum wird eine .reg-Datei nicht so wie vorgegeben ausgeführt und warum funktioniert der manuell vorgenommene Eintrag "javaw.exe -jar D:\Tools\Stradoku\Stradoku.jar %1" für da Öffnen von .str-Dateien nicht. Dieses letztere Problem hat zumindest indirekt etwas mit Java zu tun.
 
  • Windows Registry Editor Beitrag #23
Argor

Argor

Erfahrener Benutzer
Dabei seit
30.04.2019
Beiträge
1.420
Ort
Saarland
Version
Win 11 aktuell
System
Strix X570-F, R9 3900X, 32 GB, RTX 3080 Strix OC, Aorus FV43U
Den Aufruf so hinzubekommen könnte etwas tricky sein, auf Anhieb fällt mir dazu keine Lösung ein. Wieso rufst Du die str-Datei nicht über das geöffnete Java-Prog auf ? Das sollte die gängigste Lösung sein.

So, aber um mal Dein ganzes Syntax-Chaos aufzulösen, habe ich die reg-Datei mal entsprechend korrigiert.
Ob sie funktioniert, das kann ich nicht testen. Allerdings hätte ich vielleicht noch den Pfad zur Stradoku.jar fest in die Umgebungsvariablen gebügelt, das erspart vieles, vor allem Syntaxfehler.

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\\Stradoku\\stradoku.ico,0" [HKEY_CLASSES_ROOT\str-File\shell\Open\command] @="\"javaw.exe -jar D:\\Tools\\Stradoku\\Stradoku.jar %1\""
 
Zuletzt bearbeitet:
  • Windows Registry Editor Beitrag #24
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
551
Version
Windows 10 Home, x64, Version 22H2
System
i7 950, 12 GB, GTX 1650
Wieso rufst Du die str-Datei nicht über das geöffnete Java-Prog auf ? Das sollte die gängigste Lösung sein.

Selbstverständlich können gespeicherte Str8ts-Aufgaben auch aus dem Programm heraus geöffnet werden.
Aber ich habe diese Möglichkeit in meinem Programm geschaffen und sie ist auch sehr praktisch, wenn man auf die Schnelle eine bestimmte Str8ts-Aufgabe sucht und sie sollte deshalb auch funktionieren, Tut sie auch, denn vor zwei Tagen (und auch die vergangenen Jahre) hat sie ja auch funktioniert.

Windows wirft im Zusammenhang mit diesem Problem bei mir Fragen über Fragen auf. Eintragungen in die Registry werden angeblich erfolgreich übernommen und sind dann aber nicht übernommen worden.

Der Befehl "C:\Program" ist entweder falsch geschrieben oder konnte nicht gefunden werden, meint Windows.

Dann versuche ich es damit:

C:\Users\Administrator>%ProgramFiles%\Java\jre1.8.0_271\bin\javaw.exe -jar D:\Tools\Stradoku\Stradoku.jar

Und was sagt Windows: Der Befehl "C:\Program" ist entweder falsch geschrieben oder . . .

Hangle ich mich bis %ProgramFiles%\Java\jre1.8.0_271\bin\ durch und starte von dort aus 'javaw.exe -jar D:\Tools\Stradoku\Stradoku.jar', dann kommt die Meldung "Error: Unable to access jarfile D:\Tools\Stradoku\Stradoku.jar"

Es ist zum Verzweifeln.
 
  • Windows Registry Editor Beitrag #25
Argor

Argor

Erfahrener Benutzer
Dabei seit
30.04.2019
Beiträge
1.420
Ort
Saarland
Version
Win 11 aktuell
System
Strix X570-F, R9 3900X, 32 GB, RTX 3080 Strix OC, Aorus FV43U
Du hast einfach nur absolut keinen Plan von der Windows-Syntax :rofl1

Ist nicht böse gemeint und weshalb die Schreibweisen inner- und außerhalb von Scripten unterschiedlich und manchmal noch ganz anders sind, das versteht oftmal niemand. Ich denke, das macht Microsoft nur, damit nicht jeder drin rumprogrammieren kann und ihnen die Arbeit und den Gewinn abholt :aha

Und nochmal, Du musst vom Arbeitsverzeichnis aus denken, nicht vom Java-Verzeichnis aus....
 
  • Windows Registry Editor Beitrag #26
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
551
Version
Windows 10 Home, x64, Version 22H2
System
i7 950, 12 GB, GTX 1650
So, aber um mal Dein ganzes Syntax-Chaos aufzulösen, habe ich die reg-Datei mal entsprechend korrigiert.
Ob sie funktioniert, das kann ich nicht testen. Allerdings hätte ich vielleicht noch den Pfad zur Stradoku.jar fest in die Umgebungsvariablen gebügelt, das erspart vieles, vor allem Syntaxfehler.

Jetzt haben sich unsere Beiträge überschnitten, das macht nichts.

Danke für das modifizierte .reg-Script. ich habe es schon einmal ausprobiert und es kam diese Meldung:

1609249481959.png


Jetzt werde ich es noch einmal als Admin versuchen. - Ist geschehen, die Meldung ist die selbe.

Es werden jetzt aber in der Registry alle Eintragungen angenommen. Es waren die einfachen Backlashs und fehlende Anführungszeichen. Als ich vor drei Tagen die Registrierung machen wollte, da waren diese Zeichen alle noch in meinem Skript, man kann es in meinem ersten Beitrag zu diesem Thema sehen, aber dann mit Probieren und Probieren sind sie dann verschwunden, auch weil ich im Netz diverse Beispiele für .reg-Dateienngefunden habe, ohne Backlash als Präfix für Sonderzeichen.

Welches Objekt ist wohl jetzt damit gemeint, auf das wegen fehlender Berechtigung nicht zugegriffen werden kann?

Du hast einfach nur absolut keinen Plan von der Windows-Syntax

Ja, da ist sicher etwas dran. Soweit ich Windows regelmäßig für meine Arbeit benötige, habe ich keine Probleme. Das sieht dann aber ganz anders aus, wenn es sich um ausgefallene Dinge handelt, wie eine Registrierung unter Windows.
 
Zuletzt bearbeitet:
  • Windows Registry Editor Beitrag #27
Argor

Argor

Erfahrener Benutzer
Dabei seit
30.04.2019
Beiträge
1.420
Ort
Saarland
Version
Win 11 aktuell
System
Strix X570-F, R9 3900X, 32 GB, RTX 3080 Strix OC, Aorus FV43U
Und mit Pfad mal probiert ?


[HKEY_CLASSES_ROOT\str-File\shell\Open\command]
@="\"C:\\Program Files\\Java\\jre1.8.0_261\\bin\\javaw.exe\ -jar D:\\Tools\\Stradoku\\Stradoku.jar %1\""
 
  • Windows Registry Editor Beitrag #28
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
551
Version
Windows 10 Home, x64, Version 22H2
System
i7 950, 12 GB, GTX 1650
Danke, dass Du dran bleibst"

Eben habe ich den Aufruf über die direkte Pfadangabe probiert. Trotzdem, selbst als Admin, bekomme ich die selbe Meldung wie vorstehend gezeigt.

Da mir der Backlash nach jawaw.exe zweifelhaft erschien, habe ich auch eine Versuch ohne diesen gemacht. Das sah dann so aus:

Code:
@="\"C:\\Program Files\\Java\\jre1.8.0_261\\bin\\javaw.exe -jar D:\\Tools\\Stradoku\\Stradoku.jar %1\""

Zu guter Letzt habe ich noch einen Versuch mit folgendem String gemacht:

Code:
@="\"C:\\Program Files\\Java\\jre1.8.0_261\\bin\\javaw.exe\"  \"-jar\"  \"D:\\Tools\\Stradoku\\Stradoku.jar\"  \"%1\""

Ich habe also die einzelnen Komponenten geklammert, so wie in meinem ursprünglichen String, also den vollen Pfad für den Aufruf von javaw.exe, dann den Aufrufparameter für eine jar-Datei, den vollen Pfad für die aufzurufende jar-Datei und schließlich den Parameter für die Übergabe einer str-Datei.

Am Ergebnis änderte dies alles nichts.


Wenn ich es über die Konsole probiere, bekomme ich folgende Ergebnisse:

Code:
C:\WINDOWS\system32>pushd D:\Tools\Stradoku\        // ins Programmverzeichnis gehen

D:\Tools\Stradoku>javaw -jar Stradoku.jar            // Aufruf über javaw.exe
// auf Konsole keine Reaktion - eigener Fehlerdialog: Unable to access jarfile D:\\Tools ...

D:\Tools\Stradoku>java -jar Stradoku.jar            // Aufruf über java.exe                                                  
Error: Unable to access jarfile Stradoku.jar        // diese Fehlermeldung auf der Konsole
 
Zuletzt bearbeitet:
  • Windows Registry Editor Beitrag #29
Argor

Argor

Erfahrener Benutzer
Dabei seit
30.04.2019
Beiträge
1.420
Ort
Saarland
Version
Win 11 aktuell
System
Strix X570-F, R9 3900X, 32 GB, RTX 3080 Strix OC, Aorus FV43U
Hmm, ich überlege gerade, wenn Du das Programm selbst geschrieben hast, hast Du es an eine Version gebunden ?
Oder hast Du hal den kompletten java-Cache gelöscht ? Außerdem weiß ich nicht mehr genau, wann Oracle die sicherheitseinstellungen erhöht hatte, das könte auch noch zum Problem geworden sein. Hier mal schaun, ob das jetzt nicht sogar auf maximaler stufe steht.

Boah, da gibts eigentlich so viele Ansatzpunkte und ohne Kenntnis den Sourcecodes kann man da nur etwas rumstochern und hoffen, dass man das Problem erwischt.
Ich denke, ich bin dann auch langsam raus hier, weil blinder Eifer hier nicht zum Erfolg führt.
 
  • Windows Registry Editor Beitrag #30
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
551
Version
Windows 10 Home, x64, Version 22H2
System
i7 950, 12 GB, GTX 1650
Hallo Argor,

danke für Deine Antwort. Nun aber zu Deinen Fragen und Überlegungen:

Hast Du es [das Programm] an eine Version gebunden? - Nein, mein Programm ist an keine Version gebunden.

Hast Du den kompletten java-Cache gelöscht? - Ja, ich habe auch den kompletten Java-Cache bereits gelöscht.

Zu den Sicherheitseinstellungen schaun, ob das jetzt nicht sogar auf maximaler stufe steht. - Nein, die Sicherheitsebene ist auf "hoch", sonst gibt es nur noch "sehr hoch". Das bezieht sich aber nur auf Webseiten. Dateien oder Ordner lassen sich in die Ausnahmeliste nicht eintragen.

Unter den erweiterten Einstellungen habe ich versuchsweise alles was als eigentlich der Sicherheit dienen soll, deaktiviert. Einige der dort angeführten Optionen sind für mich aber spanische Dörfer.

Mein Sourcode könnte von jedem, der daran interessiert ist, eingesehen werden. Ich kann mir allerdings nicht vorstellen, dass sich daraus irgend welche problemrelevanten Erkenntnisse gewinnen ließen.
Hier der Code für die Einsprungmethode:

Java:
    public static void main(final String args[]) {
        try {
            UIManager.setLookAndFeel(
                    UIManager.getSystemLookAndFeelClassName());
        } catch (ClassNotFoundException
                | InstantiationException
                | IllegalAccessException
                | UnsupportedLookAndFeelException ex) {
            JOptionPane.showMessageDialog(null,
                    "Folgender Fehler ist aufgetreten: \n\n"
                    + ex.getMessage(),
                    "Hinweis", 1);
        }
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new StradokuApp(args).setVisible(true);
            }
        });
    }

Danach wird überprüft, ob der Anwendung ein Argument übergeben wurde, wenn ja und es ist eine str-Datei, dann wird diese genau so geöffnet, wie eine str-Datei, die der Anwender zum Beispiel über einen FileChooser zur Öffnung auswählt.

Da sich ja erst vor wenigen Tagen die str-Dateien per Doppelklick mit dem Programm öffnen ließen (siehe #6), scheiden doch eine Menge von möglichen Fehlerquellen aus.

Hier noch einmal die Zeile in der reg-Datei, mit der es funktionierte:
Code:
@="C:\Program Files\Java\jre1.8.0_271\bin\javaw.exe" "-jar" "D:\Tools\Stradoku\Stradoku.jar" "%1"

Was habe ich gemacht, dass es dann nicht mehr funktionierte, ich wollte den Pfad zur javaw.exe über "javapath" setzen. Das ging nicht und konnte auch nicht gehen, weshalb ich mir die Systemvariable "JRE_HOME" anlegte, definiert mit "C:\Program Files\Java\jre1.8.0_261\bin\javaw.exe". Damit funktionierte es auch nicht und ein zurück zur funktionierenden Variante rettete mich auch nicht mehr.

Anschließen habe ich beide JRE-Versionen (32 und 64 Bit) deinstalliert und die 64er Variante neu installiert. Das Ergebnis ist bekannt.
 
Zuletzt bearbeitet:
  • Windows Registry Editor Beitrag #31
Wolf.J

Wolf.J

Super-Moderator
Dabei seit
28.02.2017
Beiträge
7.656
Version
Verschiedene WIN 10 und WIN 11
weshalb ich mir die Systemvariable "JRE_HOME" anlegte, definiert mit
"C:\Program Files\Java\jre1.8.0_261\bin\javaw.exe".
In dem absoluten Pfad steht aber eine falsche Version. 261
Oder ist das ein Tippfehler?
 
  • Windows Registry Editor Beitrag #32
Argor

Argor

Erfahrener Benutzer
Dabei seit
30.04.2019
Beiträge
1.420
Ort
Saarland
Version
Win 11 aktuell
System
Strix X570-F, R9 3900X, 32 GB, RTX 3080 Strix OC, Aorus FV43U
Was mich an der ganzen Sache stört ist, dass ich es noch nie erlebt habe, daß man automatisch eine Fremdfiledateiendung mit einem Java Programm in Win per Doppelklick öffnen kann.
Wenn der TE hier nicht explizit drauf bestehen würde, dass das schon mal ging, würde ich glatt behaupten, das gibt Windows so nicht auf trivialem Wege her.
 
  • Windows Registry Editor Beitrag #33
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
551
Version
Windows 10 Home, x64, Version 22H2
System
i7 950, 12 GB, GTX 1650
Damit es keine Zweifel gibt: Ich habe zwischen 2010 und 2017 unter Java ein ziemlich komplexes Sudoku-Programm geschrieben. Den genauen Zeitpunkt, zu dem ich die Möglichkeit implementierte, den Programmstart mit der Übernahme einer Sudoku-Datei zu verbinden, kann ich nicht mehr angeben. Es muss jedoch spätestens 2014 gewesen sein.

2017 begann ich damit, das Sudoku-Programm so umzuarbeiten, dass damit Str8ts bearbeitet werden können. Die Möglichkeit, das Programm über einen Doppelklick auf eine Stradoku-Aufgabe (Str8ts ist urheberrechtlich geschützt) mit der Stradiku-Aufgabe zu starten, wurde übernommen.

In der Hilfe-Datei und in Begleittexten zu beiden Programmen habe ich auf diese Möglichkeit hingewiesen.
Hier ein Auszug aus diesen Hinweisen für das Sudoku Programm:

8. Registrierung unter Windows
==============================

Wer möchte, dass die binär gespeicherten Sudoku-Aufgaben im Windows-Explorer
mit einem kleinen Sudoku-Icon gekennzeichnet werden und über einen Doppelklick
KODELA's Sudoku mit dieser Aufgabe gestartet wird, kann dies unter Windows durch
eine Registrierung erreichen. Man braucht dazu die beiliegende Registrierungsdatei
"sud-File.reg" nur durch einen Doppelklick mit der linken Maustaste starten.

Zuvor muss diese Datei jedoch mit einem beliebigen Texteditor den eigenen
Verhältnissen angepasst werden.

Das hier beschriebene Verfahren empfehle ich allerdings nur erfahrenen Anwendern
und warne ausdrücklich davor, dass eine fehlerhafte Registrierung zu schwerwiegenden
Systemstörungen führen kann.

Hier der Inhalt von "sud-File.reg" mit zusätzlich varangestellter Zeilennummerierung:

01 REGEDIT4
02
03 [HKEY_CLASSES_ROOT\.sud]
04 @="sud-File"
05
06 [HKEY_CLASSES_ROOT\sud-File]
07 @="binäre Sudokudatei"
08 "EditFlags"=dword:00020000
09 "AlwaysShowExt"=""
10
11 [HKEY_CLASSES_ROOT\sud-File\DefaultIcon]
12 @="D:\\Tools\\KoDeKu\\SUDOKU.ICO,0"
13
14 [HKEY_CLASSES_ROOT\sud-File\shell]
15
16 [HKEY_CLASSES_ROOT\sud-File\shell\Open]
17 @="Open"
18
19 [HKEY_CLASSES_ROOT\sud-File\shell\Open\command]
20 @=""C:\\Program Files (x86)\\Java\\jre6\\bin\\javaw.exe" "-jar" "D:\\Tools\\KoDeKu\\kodeku.jar" "%1""

Was muss angepasst werden:

- In Zeile 12 ist "D:\\Tools\\KoDeKu" durch die entsprechende Angabe des Installationsverzeichnisses,
also dem Verzeichnis, in welches das Programmpaket kopiert wurde, zu ersetzen.

- Gleiches gilt für die Zeile 20. Auch hier ist der Eintrag "D:\\Tools\\KoDeKu" durch die entsprechende
Angabe Ihres Installationsverzeichnisses für KODELA's Sudoku zu ersetzten.

- In Zeile 20 muss in Abhängigkeit des verwendeten Betriebssystemes (XP, Vista, W7 32Bit oder W7 64 Bit)
eventuell eine weitere Änderung vorgenommen werden.

"C:\\Program Files (x86)\\" ist

- bei XP mit "C:\\Programme\\" und
- bei Vista und W7 (32) mit "C:\\Program Files\\" zu ersetzten.

- bei W7 (64) bedarf es keiner Änderung.

Vorsorglich ist auch noch zu prüfen, ob die Datei "javaw.exe" sich auch tatsächlich
in dem Verzeichnis "C:\Programme\Java\jre6\bin\", bei W7 (64) in "C:\Program Files (x86)\Java\jre6\bin\"
befindet. Das müsste der Fall sein, wenn das Java-Runtime System standardmäßig installiert wurde.

Man darf wohl davon ausgehen, dass diese Beschreibung nichts mit Wunschdenken zu tun hat. Sie stammt noch aus der Zeit vor Windows 10.
Beitrag automatisch zusammengeführt:

Es funktioniert ! ! !

Hier das REG-Skript, mit dem es funktioniert:

Code:
Windows Registry Editor Version 5.00

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

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

[HKEY_CLASSES_ROOT\str-File\DefaultIcon]
@="D:\\Tools\\Stradoku\\stradoku.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_271\\bin\\javaw.exe\" \"-jar\" \"D:\\Tools\\Stradoku\\kodelasStradoku.jar\" \"%1\""

Wie bereits erwähnt, habe ich mein Sudoku-Programm ebenfalls unter Windows registriert. Jetzt testete ich den Start des Sudoku-Programms über einen Doppelklick auf eine sud-Datei. Es funktionierte. Danach exportierte ich den entsprechenden Registry-Abschnitt. Die exportierte Datei passte ich nun an das Stradoku-Programm an. Nach dem Löschen der bisherigen Eintrage startete ich die modifizierte exportierte REG-Datei und ich konnte per Doppelklick auf eine str-Datei das Stradoku-Programm mit dieser Datei öffnen.

Warum funktioniert es jetzt - ich habe noch keinen relevanten Unterschied zu meiner letzten nicht funktionierenden Registrierung feststellen können.

Ein Vergleich der Kodierung zeigt allerdings einen Unterschied. Die exportierte Datei ist mit UTF 8 kodiert, die von mir verwendete REG-Datei mit UCS-2 Little Endian. Diese Kodierung wurde nicht von mir eingestellt. Ich hatte dafür einfach ein neues Textdokument erstellt und mit Notepad++ bearbeitet. Ich kann mir jedoch nicht vorstellen, dass dies ursächlich für mein Problem war.

Abschließend bedanke ich mich bei allen, die mir bei meinem Problem geholfen haben, ganz besonders bei Argor.
 
Zuletzt bearbeitet:
  • Windows Registry Editor Beitrag #34
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
551
Version
Windows 10 Home, x64, Version 22H2
System
i7 950, 12 GB, GTX 1650
Eigentlich solltest Du den javapath gar nicht angeben müssen, da dieser als Umgebungsvariable eingetragen wird.

Ich muss noch einmal darauf zurück kommen. Ja, eigentlich . . . so dachte ich auch und dies wäre sehr vorteilhaft, denn dann müsste nicht bei jedem Versionswechsel von Java die Registry korrigiert werden.

Also versuchte ich es noch einmal ohne den javapath, also mit diesem Eintrag:

Code:
"\"javaw.exe\" \"-jar\" \"D:\\Tools\\Stradoku\\kodelasStradoku.jar\" \"%1\""

Das sollte doch funktionieren. Tut es aber nicht. Wenn ich es über die Konsole mache, geht es ja auch:

Code:
d:\Tools\Stradoku>javaw.exe -jar kodelasStradoku.jar aufgaben\L3_002.str

Damit wird das Programm mit der angegebenen Datei geöffnet. Nach dem Prompt kann also ohne weitere Pfadangaben javaw.exe mit den entsprechenden Parametern aufgerufen werden.

Gut, ganz so kann es in der Registry nicht gehen. In der Konsole wurde ja auch erst zu dem Pfad gewechselt, in dem die JAR-Datei liegt. Also muss dieser Pfad auch in der Registy angegeben werden. aber der Pfad zu javaw.exe ist dem System doch bekannt. Warum wird darauf in der Konsole zugegriffen, in der Registry nicht?

Kennt jemand eine Möglichkeit, dieses Problem zu umschiffen? Die Anlage einer eigenen Systemvarible mit dem Pfad zu JRE würde zwar funktionieren, das Problem jedoch nicht lösen, denn diese Systemvariable würde bei einem Java-Update, im Gegensatz zu javapath, nicht automatisch korrigiert werden.
 
  • Windows Registry Editor Beitrag #35
Argor

Argor

Erfahrener Benutzer
Dabei seit
30.04.2019
Beiträge
1.420
Ort
Saarland
Version
Win 11 aktuell
System
Strix X570-F, R9 3900X, 32 GB, RTX 3080 Strix OC, Aorus FV43U
Also nochmal, ich kann mir nicht vorstellen, dass Win eine Datei, die es nicht kenn mit einer Laufzeitumgebung, die es nicht kennt verheiraten kann und trivial ein Start dessen möglich ist.

Was Du allerdings ohne weiteres versuchen kannst, und was Win auch durchaus in der Lage sein sollte zu verstehen, ist, dass Du mit einem kleinen Tool, nennen wir es mal Launch4j, Deine java-Anwendung, also das jarfile, in eine exe umwandeln kannst, welche wiederum dirt & easy ins OS einzubinden ist.

Wäre das ein Vorschlag ?
 
  • Windows Registry Editor Beitrag #36
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
551
Version
Windows 10 Home, x64, Version 22H2
System
i7 950, 12 GB, GTX 1650
Also nochmal, ich kann mir nicht vorstellen, dass Win eine Datei, die es nicht kenn mit einer Laufzeitumgebung, die es nicht kennt verheiraten kann und trivial ein Start dessen möglich ist.

Du willst damit aber nicht sagen, es sei geflunkert, wenn ich behaupte, Windows könne eine jar-Datei mit einer anderen Datei, im konkreten Fall einer str-Datei., über einen Doppelklick auf diese Datei starten.

Was Du allerdings ohne weiteres versuchen kannst, und was Win auch durchaus in der Lage sein sollte zu verstehen, ist, dass Du mit einem kleinen Tool, nennen wir es mal Launch4j, Deine java-Anwendung, also das jarfile, in eine exe umwandeln kannst, welche wiederum dirt & easy ins OS einzubinden ist.

Ja, ich habe mit diesem Gedanken schon lange gespielt. Ausprobiert habe ich es jedoch nicht. Das lag nicht zuletzt daran, dass die dazu fähigen Tools, so weit ich sie gefunden habe, leider auch Dinge beipacken, die ich nicht haben will.

Ich habe mir auch überlegt, für den eigentlich eher seltenen Fall, dass ein Anwender das Programm mit einer bestimmten Datei starten will, eine Batchdatei einzusetzen. Der wird die str-Datei übergeben und die startet dann das Programm mit der übergebenen Datei.

Das müsste möglich sein, denn Deine Ansicht zu der vermeintlichen Unkenntnis von Windows teile ich nicht. Windows erledigt über die Konsole den Aufruf ja auch so, wie ich es mir vorstelle. Hier noch einmal wie ein solcher funktionierender Aufruf von der Konsole aus aussieht:

Code:
d:\Tools\Stradoku>javaw.exe -jar kodelasStradoku.jar aufgaben\L3_002.str

Am liebsten wäre es mir allerdings, wenn ich mein Vorhaben über die Registry lösen könnte.

Ich wünsche einen guten Rutsch in ein glückliches Neues Jahr!
 
  • Windows Registry Editor Beitrag #37
Argor

Argor

Erfahrener Benutzer
Dabei seit
30.04.2019
Beiträge
1.420
Ort
Saarland
Version
Win 11 aktuell
System
Strix X570-F, R9 3900X, 32 GB, RTX 3080 Strix OC, Aorus FV43U
Ich werde mich hüten, irgendwas zu behaupten ;-)
Wenn ich mir etwas nicht vorstellen oder erklären kann, dann gehe ich in eine Diskussion und lasse mich anhand sattelfester Beweise von meinem Unglauben befreien. Bis dahin gilt immer in dubio por reo. Ich hätte mir wohl kaum die Mühe gemacht, Dir helfen zu wollen, wenn ich von einer Flunkerei überzeugt wäre.
 
  • Windows Registry Editor Beitrag #38
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
551
Version
Windows 10 Home, x64, Version 22H2
System
i7 950, 12 GB, GTX 1650
Wenn ich mir etwas nicht vorstellen oder erklären kann, dann gehe ich in eine Diskussion und lasse mich anhand sattelfester Beweise von meinem Unglauben befreien.

Wie müsste ein solch sattelfester Beweis aussehen? Ich würde ihn gerne liefern.
 
  • Windows Registry Editor Beitrag #39
Argor

Argor

Erfahrener Benutzer
Dabei seit
30.04.2019
Beiträge
1.420
Ort
Saarland
Version
Win 11 aktuell
System
Strix X570-F, R9 3900X, 32 GB, RTX 3080 Strix OC, Aorus FV43U
Wenn Du es per REG - Eintrag hinbekommst und mir genau diesen REG -Eintrag nachprüfbar vorlegen kannst ;-)
 
  • Windows Registry Editor Beitrag #40
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
551
Version
Windows 10 Home, x64, Version 22H2
System
i7 950, 12 GB, GTX 1650
Wenn Du es per REG - Eintrag hinbekommst und mir genau diesen REG -Eintrag nachprüfbar vorlegen kannst

Ok, den REG-Eintrag habe ich hier (#33) bereits gepostet. Das Programm selbst kann von hier heruntergeladen werden. Die ZIP-Datei in beliebigen Ordner entpacken. Die REG-Datei erstellen und wie in Wichtig_liesmich.txt beschrieben anpassen. Danach mindestens ein Str8ts speichern und über diese vom Explorer aus mit Doppelklick das Programm starten.

Hier noch einmal das bei mir funktionierende REG-Skrip:

Code:
Windows Registry Editor Version 5.00

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

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

[HKEY_CLASSES_ROOT\str-File\DefaultIcon]
@="D:\\Tools\\Stradoku\\stradoku.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_271\\bin\\javaw.exe\" \"-jar\" \"D:\\Tools\\Stradoku\\kodelasStradoku.jar\" \"%1\""

Es funktioniert bei mir auf drei Geräten. Viel Spaß beim Prüfen!

PS:
Die Version auf dem Server ist nicht die allerneueste. Einige Bugs habe ich bereits gefunden und behoben, aber auf der Page noch nicht aktualisiert. Einen Zusammenhang mit der Registrierung sollte es jedoch nicht geben. Wenn doch, dann bitte mitteilen.
 
Zuletzt bearbeitet:
Thema:

Windows Registry Editor

Windows Registry Editor - Ähnliche Themen

Link auf anderem PC im Heimnetz öffnen: Wenn man im Heimnetz auf Daten eies zweiten PC zugreift und dort einen Link anklickt, dann wird nicht das betreffende Objekt auf dem zweiten PC...
Kontextmenü für einen Dateityp erweitern: So konnte ich immer das Kontextmenü für eine .bmp Datei mit den beiden Einträgen - BITMAP Farbwerte ermitteln - BITMAP Haeder anzeigen...
Kontextmenü in Windows 10 Taskbar für Dateien aus Historie reaktivierbar?: Hallo, kleine Frage... Im alten Windows und auch in Windows 10 kann man Bspw. im angepinnten Word in dir Taskbar zuletzt verwendete Dateien...
Windows 10 20H2 Start Menü Design in Windows 10 2004 aktivieren - So einfach funktioniert es!: Mit Windows 10 20H2 kommt auch ein leicht veränderter Look für das Start Menü und so mancher würde diese neue Optik jetzt schon gerne in Windows...
reg Key in die Registry eines nicht angemeldeten Users: HAllo allerseits, ich versuche gerade bestimmte sicherheitsrelevante Registrykeys für einen bestimmten User festzulegen. Auch wenn sichj das...
Oben