TotalCmd nutzt %path%, Explorer sucht noch irgendwo anders

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
NotDifficult
Junior Member
Junior Member
Posts: 10
Joined: 2010-10-25, 05:17 UTC

TotalCmd nutzt %path%, Explorer sucht noch irgendwo anders

Post by *NotDifficult »

Hallo,
ich habe ein merkwürdiges Phänomen entdeckt und kann es mir nicht erklären.

Ich habe die opensource Homebanking-Software Hibiscus mit Framework Jameica heruntergeladen und installiert.
Quelle:
vb-krautheim[PUNKT]de/projekt01/deutsch/informationen/onlinebanking/software/jameica_banking_und_jameica_suite.html

Nun lag alles ganz wunderbar unter:
c:\Program Files (x86)\jameica\

Dort liegt auch: jameica-win64.bat

Klicke ich diese im TotalCmd an, geht das schwarze Cmd-Fenster auf und verschwindet gleich wieder. Jameica startet nicht.
Klicke ich die Datei aber im Windowsexplorer an, startet Jameica wie es soll.

Inhalt von jameica-win64.bat:
start javaw.exe -Xmx256m -jar jameica-win64.jar %1 %2 %3 %4 %5 %6 %7


Daten zu meiner Umgebung:
Win7 64bit
javaw.exe liegt in
C:\Windows\system32\
und
c:\Bin\Sprachen\Java\jdk1.6.0_23\bin\

In %path% steht zuerst das Systemverzeichnis, dann C:\bin\...


Das Problem tritt auch mit CMD auf. Tippe ich jameica-win64.bat passiert nichts. (= Cmd macht keine Ausgabe, springt einfach in die nächste Zeile, Jameica startet nicht.)

c:\Windows\system32\javaw.exe -Xmx256m -jar "c:\Program Files (x86)\jameica\jameica-win64.jar"
--> auch nichts.

c:\Bin\Sprachen\Java\jdk1.6.0_23\bin\javaw.exe -Xmx256m -jar "c:\Program Files (x86)\jameica\jameica-win64.jar"
--> JAMEICA STARTET!

ABER:
Benne ich nun Ordner
c:\Bin\Sprachen\Java\jdk1.6.0_23
um, ich klicke dann im Explorer wieder die Bat-Datei an, startet Jameica weiterhin!
Selbst wenn ich c:\Windows\system32\javaw.exe umbennene startet Jameica noch!

Cmd und TotalCmd
nutzen also nur %path% (entsprechend der Reihenfolge).
Der Explorer sucht vorher noch irgendwo anders.

Weiß jemand wo und warum? Es scheint sich hier also eher um ein "Feature" vom Explorer zu handeln, als einen "Bug" vom TotalCmd, aber verstehen tue ich es immer noch nicht! Kann jemand Licht ins Dunkle bringen? Vielen Dank!
User avatar
wollei
Junior Member
Junior Member
Posts: 31
Joined: 2003-02-06, 12:01 UTC
Location: München

Post by *wollei »

Meine Vermutung:
Das Programm benötigt wahrscheinlich das 64-bit-Java.

Wenn du die Batch-Datei über den TC startest, rufst du das 32-bit-Java in %windir%\SysWOW64 auf anstelle des 64-bittigen im "realen" %windir%\system32

=> s.a. http://www.ghisler.ch/board/viewtopic.php?t=25742

und

http://www.ghisler.ch/wikide/index.php/Auf_Windows_64-bit_werden_einige_Dateien_und_Ordner_vom_Explorer_aber_nicht_vom_Total_Commander_angezeigt!

Der Explorer startet nachwievor das richtige Java, auch wenn du die javaw.exe im vermeintlichen %windir%\system32 umbenennst.

Bitte prüfe mal, ob du mit Hilfe der angegebenen Seiten das richtige java finden kannst.

Gruß
wollei
NotDifficult
Junior Member
Junior Member
Posts: 10
Joined: 2010-10-25, 05:17 UTC

Post by *NotDifficult »

Vielen Dank, genau das war's.

Windows Explorer startet javaw.exe aus c:\Windows\Sysnative\. Also die 64bit-Variante, die dort auch in der aktuellen Version (6 U23) vorliegt.

TotalCmd und CMD nehmen aber die 32bit-Variante aus C:\Windows\system32\ bzw. c:\Windows\SysWOW64\. Die javaw.exe, die dort liegt, ist aber eine andere, alte Version (6 U2). Benenne ich diese um, klappt es auch mit TotalCmd und der Bat-Datei ganz wunderbar. (Denn nun bedienen sich sich von c:\Bin\Sprachen\Java\jdk1.6.0_23\bin\javaw.EXE, wie ich es ja auch schon die ganze Zeit wollte...)

Stellt sich nur die Frage, warum die zwei Varianten von javaw.exe unterschiedlich sind. Gehören die da standardmäßig hin und es ist ein anderes Windows-"Feature" oder habe ich sie dort in unterschiedlichen Versionen hininstalliert?

Nochmals vielen Dank. Da bin ich offensichtlich schon wieder in die 32-vs.-64bit-Falle getappt.
NotDifficult
Junior Member
Junior Member
Posts: 10
Joined: 2010-10-25, 05:17 UTC

Post by *NotDifficult »

Und noch etwas: Einfach herrlich!

Übergibt man dem Java-Programm Jameica den Pfad zu den Benutzerdaten mit einem \ am Ende, hat man wieder genau das gleiche Verhalten, als wenn man die alte javaw.exe Version benutzt. Also, falls wirklich jemand das hier lesen sollte, der Probleme mit Jameica hat:

Version 6U23 von javaw.exe benutzen und dann so starten:
jameica-win64.bat -f "c:\ein verzeichnis"
und bloß nicht:
jameica-win64.bat -f "c:\ein verzeichnis\"
User avatar
karlchen
Power Member
Power Member
Posts: 4605
Joined: 2003-02-06, 22:23 UTC
Location: Germany

Post by *karlchen »

Hallo, NotDifficult.

Zu Jamaica speziell kann ich nichts sagen, weil ich diese Software nicht kenne.

Jedoch generell ist die von dir beschriebene Problematik auf folgendes zurückzuführen:

Windows 7 64-bit ist ein 64-bit Betriebssystem. Dieses ist primär dafür ausgelegt, 64-bit Software zu betreiben.
Windows 7 64-bit kann auch 32-bit Software betreiben wie z.B. den Total Commander und Java JRE 32-bit / Java JDK 32-bit.
32-bit Software, die auf einem 64-bit Windows läuft, wird in einem eigenen 32-bit Subsystem betrieben.
Welche kleinen Gemeinheiten das mit sich bringt, kannst du z.B. hier nachlesen: Explorer + Total Commander: Inhalte von system32 verschieden. (Wollei hatte ja bereits darauf hingewiesen.)

Sun Java, JRE wie auch JDK, gibt es in einer 32-bit Version und einer 64-bit Version. Beide sind völlig unabhängig voneinander. Darum kann man auch eine 32-bit JRE 1.6_20 betreiben, während die 64-bit JRE schon auf v1.6_22 aktualisiert worden ist.

Zusätzlich steht es jeder Java Anwendung frei, die von ihr benötigte Java Umgebung in der gewünschten Version mitzubringen und zusätzlich auf der Platte zu installieren.

Grüße
Karl
Post Reply