Windows Registry Editor

Diskutiere Windows Registry Editor im Windows 10 Software Forum im Bereich Windows 10 Foren; Hallo, seit Jahren verwende ich für die Registrierung eines Programmes von mir folgende REG-Datei: Windows Registry Editor Version 5.00...
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
461
Version
Windows 10 Home, x64, Build 2004
System
i7 950, 12 GB, GTX 1650
Hallo,

seit Jahren verwende ich für die Registrierung eines Programmes von mir folgende REG-Datei:
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\\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_171\\bin\\javaw.exe\" \"-jar\" \"D:\\Tools\\Stradoku\\Stradoku.jar\" \"%1\""
Als ich nach einer Änderung des Programmverzeichnisses und Entfernung aller Einträge für diese Registrierung mit der Datei:
Code:
Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\.str]
[-HKEY_CLASSES_ROOT\str-File]
die Registrierung mit der erstgenannten Datei unter administrativen Rechten vornehmen wollte, bekam ich folgende Fehlermeldung:

1609094967255.png


Ich gehe davon aus, dass ich in meiner REG-Datei einen Fehler habe, den ich aber nicht finde. Kann mir bitte jemand sagen, wo dieser Fehler sein könnte.
Die Pfadangaben stimmen. "D:\Tools\Stradoku\Stradoku.jar" ist die ausführbare Datei.
 
Zuletzt bearbeitet:
#
schau mal hier: Windows Registry Editor. Dort wird jeder fündig!
Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Wolf.J

Wolf.J

Super-Moderator
Dabei seit
28.02.2017
Beiträge
5.504
Version
Verschiedene WIN 10
Nur ein Gedanke, die Version der Java-Runtime ist von 2018.
Da Java-Updates gefühlt im Wochenabstand kommen, ist es da sinnvoll, eine Version in die Registry zu schreiben?
Normalerweise macht man das über diie Systemvariable Javapath.
Die Syntax ist eigentlich richtig, aber nimm mal das Leerzeichen vor dem "-" weg.
Gemeint ist das zweite Script.
 
IT-SK

IT-SK

Erfahrener Benutzer
Dabei seit
01.11.2015
Beiträge
10.435
Ort
Hummel Hummel, Mors Mor....
Version
Version 21H1 ( Build 19043.1288) Pro 64 + Div. Builds
System
I5, 16GB Ram, Nvidia Geforce GTX 760M, SSD Samsung 850 EVO
Hallo Kodela,
vermutlich kennst Du den Link schon?

https://www.java.com/de/download/help/path.html

PATH and CLASSPATH (The Java™ Tutorials > Essential Classes > The Platform Environment)


Windows 10 und Windows 8​

  1. Suchen Sie in der Suche, und wählen Sie dann: System (Systemsteuerung)
  2. Klicken Sie auf den Link Erweiterte Systemeinstellungen.
  3. Klicken Sie auf Umgebungsvariablen. Suchen Sie im Abschnitt Systemvariablen die Umgebungsvariable PATH und wählen Sie sie. Klicken Sie auf Bearbeiten. Wenn die Umgebungsvariable PATH nicht vorhanden ist, klicken Sie auf Neu.
  4. Geben Sie im Fenster Systemvariable bearbeiten (bzw. Neue Systemvariable) den Wert für die Umgebungsvariable PATH an. Klicken Sie auf OK. Schließen Sie alle verbleibenden Fenster durch Klicken auf OK.
  5. Öffnen Sie das Fenster zur Eingabeaufforderung erneut, und führen Sie den Java-Code aus


PATH dauerhaft einrichten. .....​


Hoffe das passt, den Rest meiner tollen Schmerzmittel verkaufe ich besser am Bahnhof. Ichtreffe die Buchstaben irgendwie nicht..... :nixweis
 
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
461
Version
Windows 10 Home, x64, Build 2004
System
i7 950, 12 GB, GTX 1650
Hallo zusammen,

danke für die Hinweise.

Den ersten Fehler habe ich entdeckt. In einem Akt geistiger Umnachtung habe ich, wie im ersten Code von mir zu sehen ist, auch für die Pfade der Registry doppelte Backlashs gesetzt. Sie sind für die Windows-Pfade nicht erforderlich und für die Registry purer Unsinn.

Nach dem Entfernen aller Backlashs wurde der Eintrag laut Rückmeldung von Windows übernommen. Leider wurde zwar der Dateityp übernommen und das anzuzeigende Icon, aber der Eintrag für das Öffnen der JAR-Datei wurde nicht übernommen. Wenn ich ihn manuell nachtrage und möchte dann eine STR-Datei vom Explorer aus per Doppelklick öffnen, kommt diese Meldung:

1609107700511.png


Diese Meldung, die seit einiger Zeit kommt, wenn ich eine STR-Datei öffnen will, war auch der Anlass, weshalb ich alles Mögliche versuchte, Windows dazu zu bewegen, so wie früher auch, die JAR-Datei über eine STR-Datei zu öffnen. Als es mir nicht gelang, gab ich schließlich auf. Aber heute wollte ich es doch noch einmal versuchen und dabei kam das raus, was ich jetzt habe.

Mir ist klar, dass eine JAR-Datei über javaw.exe gestartet wird. Aber das weiß Windows doch auch, sonst könnte ich die JAR-Dateien ja auch nicht per Mausklick auf eine Verknüpfung auf dem Desktop starten. Und als ich vor etwa 10 Jahren die REG-Datei für die Registrierung meiner JAR-Datei geschrieben habe, lange vor Windows 10, da klappte ja alles. Auch als Windows 10 kam, gab es zunächst keine Probleme, aber jetzt?

Vielleicht weiß ja jemand, wie ich das doch noch hinbekomme.

@Wolf.J
Deinen Typ, das Minuszeichen für das Entfernen eines Registry-Schlüssels wegzulassen steht im Widerspruch zur Aussage von Microsoft:
Wenn Sie einen Registrierungsschlüssel mit einer .reg-Datei löschen möchten, setzen Sie einen Bindestrich (-) vor den Registrierungspfad in der .reg-Datei. Um beispielsweise den Unterschlüssel Test aus dem folgenden Registrierungsschlüssel zu löschen,
HKEY_LOCAL_MACHINE\Software
fügen Sie vor dem folgenden Registrierungsschlüssel in der REG-Datei einen Bindestrich ein:
HKEY_LOCAL_MACHINE\Software\Test
Das folgende Beispiel enthält eine .reg-Datei, die diese Aufgabe ausführen kann.
[-HKEY_LOCAL_MACHINE\Software\Test]

@IT-SK :
Ja, eigentlich weiß ich Bescheid, was die Paths anbelangt, aber man ist oft zu dumm, um das was doch so nahe liegt, auch zu tun.

Gruß, kodela
 
Wolf.J

Wolf.J

Super-Moderator
Dabei seit
28.02.2017
Beiträge
5.504
Version
Verschiedene WIN 10
Wenn ich schreibe, lass das Leerzeichen vor dem - weg, dann meine ich das Leerzeichen und nichts anderes.
 
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
461
Version
Windows 10 Home, x64, Build 2004
System
i7 950, 12 GB, GTX 1650
Hallo,

mit dieser letzten Zeile in meinem .reg-Script klappt jetzt auch der Aufruf per Doppelklick:

Code:
@="C:\Program Files\Java\jre1.8.0_271\bin\javaw.exe" "-jar" "D:\Tools\Stradoku\Stradoku.jar" "%1"
Da muss jetzt nur noch Javapath rein.

@Wolf.J:
Sorry, tut mir Leid, da war bei mir eine Weiche falsch gestellt.
 
Wolf.J

Wolf.J

Super-Moderator
Dabei seit
28.02.2017
Beiträge
5.504
Version
Verschiedene WIN 10
Ist schon ok, jeder vertut sich mal, passiert mir auch.
Beitrag automatisch zusammengeführt:

Die Java-Version solltest Du aber wirklich mal aktualisieren.
 
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
461
Version
Windows 10 Home, x64, Build 2004
System
i7 950, 12 GB, GTX 1650
Hallo,

wechsle nie, was funktioniert - das habe ich nicht beachtet und versucht, die Pfadangabe für javaw.exe durch die Systemvariable Javapath zu ersetzen. Zuvor hatte ich aber die existierenden Schlüssel entfernt. Als ich nun aber wieder die hier schon einmal gezeigte Weigerung von Windows bekam, dass diese App auf dem PC nicht ausgeführt werden könne, änderte ich die letzte Zeile des Scripts wieder, so wie es gestern funktionierte.

Ergebnis - Windows weigert sich auch mit der Einstellung, mit der es bis vor einer Stunde noch funktionierte, das Programm auszuführen.

Gut, dass mich niemand fluchen hört.
 
Argor

Argor

Erfahrener Benutzer
Dabei seit
30.04.2019
Beiträge
1.034
Ort
Saarland
Version
Win 10 x 64 Pro 21H1
System
Strix X570-F, R9 3900X, 32 GB, RTX 3080 Strix OC, PG348Q
Eigentlich solltest Du den javapath gar nicht angeben müssen, da dieser als Umgebungsvariable eingetragen wird.
 
kodela

kodela

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

Ja, das ist richtig. Hier ein Screenshot, der zeigt, dass java.exe ohne Pfadangabe angesprochen werden kann:

1609173971189.png


Wenn ich aber dann die .jar-App aufrufen möchte, egal, in welcher Weise der Pfad für die ausführende javaw.exe angegeben wird, dann kommt die Fehlermeldung.

Hier ein Screenshot, der im oberen Teil die Syntax für den Aufruf einer -jar-Datei zeigt und in der unteren Hälfte die Aufrufversuche von Stradoku.jar einmal über java.exe und dann über javaw.exe.

1609173907282.png


Auf den ersten Versuch hin passiert nichts, auf den zweiten kommt die bekannte Fehlermeldung.
 
Zuletzt bearbeitet:
Argor

Argor

Erfahrener Benutzer
Dabei seit
30.04.2019
Beiträge
1.034
Ort
Saarland
Version
Win 10 x 64 Pro 21H1
System
Strix X570-F, R9 3900X, 32 GB, RTX 3080 Strix OC, PG348Q
das Problem ist, Du befindest Dich im system32-Verzeichnis. Das ist aber nicht das Arbeitsverzeichnis der Javadatei.

1. Möglichkeit (Zweizeiler)

pushd D:\Tools\Stradoku\
java -jar Stradoku.jar


2. Möglichkeit (verketteter Aufruf)

pushd D:\Tools\Stradoku\ & java -jar Stradoku.jar
 
Wolf.J

Wolf.J

Super-Moderator
Dabei seit
28.02.2017
Beiträge
5.504
Version
Verschiedene WIN 10
Meine Aussage bezog sich auf den ersten Post
Files\\Java\\jre1.8.0_171\\bin\\javaw.exe

Statt dem absoluten Pfad kannst Du der javaw.exe die Variable javapath voranstellen.
 
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
461
Version
Windows 10 Home, x64, Build 2004
System
i7 950, 12 GB, GTX 1650
Argor

Argor

Erfahrener Benutzer
Dabei seit
30.04.2019
Beiträge
1.034
Ort
Saarland
Version
Win 10 x 64 Pro 21H1
System
Strix X570-F, R9 3900X, 32 GB, RTX 3080 Strix OC, PG348Q
Also entweder versuchst Du ein 64-bit jar-file mit einer 32 bit JVM zu starten oder umgekehrt. Oder aber das jarfile ist auf eine Andere Art und Weise restrigiert (Adminrechte ?)
Eine andere Möglichkeit sehe ich hier nicht. Schau mal bitte in den Umgebungsvariablen, ob dort auch wirklich die richtige JVM gezogen wird.


mach mal bitte ein cmd auf und tippe ein:

java -version
 
Zuletzt bearbeitet:
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
461
Version
Windows 10 Home, x64, Build 2004
System
i7 950, 12 GB, GTX 1650
Ich fange einmal damit an:
mach mal bitte ein cmd auf und tippe ein:
java -version

Hier der Screenshut dazu:

1609193946890.png


Dann hierzu:
Also entweder versuchst Du ein 64-bit jar-file mit einer 32 bit JVM zu starten oder umgekehrt. Oder aber das jarfile ist auf eine Andere Art und Weise restrigiert (Adminrechte ?)

Die .jar-Datei wurde unter NetBeans 8.2 mit JDK 1.8 in der 64 Bit-Version erstellt. Auch hierzu ein Screenshot:

1609194836199.png


JRE_HOME zeigt auf Java Runtime Environment (64 Bit). Hier ein Screenshot zu den Installationsordnern:

1609195283181.png


Stradoku.jar ist also ein 64-bit jar-file und soll mit einer 64 bit JVM gestartet werden. Stradoku.jar ist auch nicht auf irgend eine andere Weise registriert.

Eine andere Möglichkeit sehe ich hier nicht. Schau mal bitte in den Umgebungsvariablen, ob dort auch wirklich die richtige JVM gezogen wird.

Hier ein Blick auf die Umgebungsvariablen:

1609198041845.png


So wie es aussieht, liegt hier das Problem. Es sind zwar die Variablen 'JAVA_HOME' und 'JRE_HOME' definiert und in PATH aufgenommen (was hier nicht zu sehen ist), aber es sind auch die Pfade 'C:\Program Files (x86)\Common Files\Oracle\Java\javapath' und 'C:\ProgramData\Oracle\Java\javapath' in PATH aufgenommen, über die auf Java 32 verwiesen wird.

Wie kann diese Konfliktsituation aufgelöst werden? Java 32 deinstallieren und, wenn es nicht durch die Deinstallation erfolgt, die vorgenannten beiden Pfade aus den Umgebungsvariablen herausnehmen?

Es muss noch erwähnt werden, dass sich meine .jar-Dateien, ich habe mehrere, problemlos direkt vom Explorer aus und über eine Verknüpfung auf den Desktop starten lassen.
 

Anhänge

  • 1609196227153.png
    1609196227153.png
    8,5 KB · Aufrufe: 67
Wolf.J

Wolf.J

Super-Moderator
Dabei seit
28.02.2017
Beiträge
5.504
Version
Verschiedene WIN 10
Du hast das oder besser die JDKs als 64 bit.
Die Java-Runtime ist 32 bit, zwar in aktueller Version, aber Du solltest die 64 bit-Version installieren und die Umgebungsvariablen entsprechend setzen, das sollte aber die Installation selbst tun.
 
runit

runit

Erfahrener Benutzer
Dabei seit
18.11.2015
Beiträge
9.372
Version
.............Win 11 Pro 64 bit Build 22000.258
System
Desktop HP 290 G2, CPU i5 8500, Ram 16 GB DDR4-2666, M2 NVMe EVO 980 PRO 1 TB, Intel Graphic UHD 630
Ich habe früher nach einem Java Update die alte Java-Version immer vollständig deinstalliert. Java Installer macht das leider nicht selbstständig. Das wäre mein Tipp, um die Umgebungsvariablen und Verknüpfungen eindeutig zu halten
 
Argor

Argor

Erfahrener Benutzer
Dabei seit
30.04.2019
Beiträge
1.034
Ort
Saarland
Version
Win 10 x 64 Pro 21H1
System
Strix X570-F, R9 3900X, 32 GB, RTX 3080 Strix OC, PG348Q
Die Java-Einträge JAVA_HOME und JRE_HOME bitte löschen. Die sind mit den neuen Installationen falsch. Nach dem Löschen ein reboot.
Oracle hat hier seit einigen Versionen die Installationsroutinen geändert.

In der Path-Variable steht der korrekte Einrtrag drin, wie ich meine.
Die aktuelle und relevante java.exe steht nämlich im Verzeichnis
C:\Program Files (x86)\Common Files\Oracle\Java

Nochmal zur Klärung: Oracle schreibt die 64-bit exe in dieses (x86)-Directory.
Die 32-bit exe bleibt unter

C:\Program Files (x86)\Java

Ich habe ansatzweise eine Vermutung, weshalb das so gehändelt wird, aber das möchte ich hier nicht weiter ausführen, weil ich mir damit einfach nicht sicher bin.

@runit Die Deinstallation der alten Versionen funktioniert auch erst, seit das angeboten wird, alte Einträge bleiben erhalten.
 
Zuletzt bearbeitet:
kodela

kodela

Erfahrener Benutzer
Threadstarter
Dabei seit
09.03.2016
Beiträge
461
Version
Windows 10 Home, x64, Build 2004
System
i7 950, 12 GB, GTX 1650
Hallo allen meinen Helfern!

Ich habe jetzt beide JRE-Versionen deinstalliert, sowie JRE_HOME, JAVA_HOME und aus PATH die Java-Pfade entfernt.

Mit java -version wurde nun nichts mehr angezeigt. Worüber ich jedoch sehr erstaunt war, .jar-Dateien, wie Stradoku.jar ließen sich ausführen. Möglicherweise lag das daran, dass ich noch keinen Neustart gemacht hatte.

Anschließend installierte ich RE-Version für Java (64). Dabei wurde in PATH der Pfad "C:\Program Files (x86)\Common Files\Oracle\Java\javapath" eingetragen. Die Eintragungen in diesem Pfad sind von heute.

Auf die Abfrage 'java -version' wurde angezeigt:
Code:
java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)

Nach einem Neustart entfernte ich mit:

Code:
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\.str]
[-HKEY_CLASSES_ROOT\str-File]

erst einmal alle alten Einträge für die Registrierung von Stradoku.jar. Anschließend versuchte ich mit:

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\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]
@="javaw.exe -jar D:\Tools\Stradoku\Stradoku.jar %1"

Stradoku.jar neu zu registrieren. Dies lief scheinbar erfolgreich ab, ich bekam jedenfalls folgende Meldung:

1609238871481.png


Eine Überprüfung ergab jedoch, dass die Ordnerstruktur vorhanden war und unter dem Ordner 'str-File' auch die drei vorgesehenen Eintrage, wie dieses Bild zeigt:

1609239841268.png


Die Einträge für 'DefaultIcon' und 'command' fehlen jedoch. Auch ein Neustart ändert daran nichts

Was läuft hie schief?
 
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...
Taskmanager und Registry-Editor für Standardbenutzer sperren: Kennt jemand bitteschön eine bessere Methode den Taskmanager und Regedit für Windows 10 Standardbenutzer zu sperren? (NICHT Administratoren!)...
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