I think the problem is, as before, that javaws is not on your path at the
times when you can’t start VASSAL.
To test this, first check that VASSAL doesn’t run. Then:
Get a command prompt, type ‘javaws’. I expect that you’ll get the same error
message as before. After that, type ‘echo %PATH%’ and let me know what it
says. Then, do a search on your machine for javaws.exe, to find where it
actually is.
If I had to guess at why your path is messed up, I’d say it has something
to do with user accounts and permissions, but I’m not a Vista user (nor a
Windows user at all, for more than a decade) so you should take that as only
a guess.
If my hunch is right about how the tests above will turn out, then we’ll need
the help of a Vista user to get this sorted.
OK. The javaw command didn’t work. Same as before as you suspected. I get the same error message as before: ‘javaw’ is not recognized as…
Then, I ran the ECHO command. It produced the following result: C:\Windows\system32;C\Windows;C:\Windows\System32\Wbem;H:\Program Files (x86)\QuickTime\QTSystem\
Searching for ‘javaw’ I only find the following:
VASSAL.bat (the VASSAL.bat I have tried for VASSAL 2.9)
VASSAL.bat (the VASSAL.bat I have tried for VASSAL 3.0)
They both have the same command path as it is the same document.
However, searching for javaw.exe doesn’t turn up anything.
Searching for javaws.exe however did find the executable file named javaws.exe
It is located at C:\Program Files (x86)\Java\jre6\bin\
When I open up that location, I can see the file javaw.exe there!
It did not show up on my search!? Wierd…
Finding Javaws.exe, I thus tried running the command anew: javaws -client -cp lib/Vengine.jar VASSAL.launch.ModuleManger
at where my VASSAL is installed (a separate HDD).
But I still get the same message: ‘javaws’ is not recognized…
This is as I suspected. C:\Program Files (x86)\Java\jre6\bin\ is not on
your path, but should be. (And it must have been on your path at the
times when you were able to run VASSAL.)
Did you install Java with a different user account from the one you’re
using now?
Nope. Installment has been made by the same user account. I don’t use multiple user accounts and just have a password login when starting up.
I’m just thinking, as I am sometimes able to open up VASSAL and sometimes not, is there something screwing around changing the path or conflicting in some way (just guessing as I am not that computer savvy).
You’ve exhausted my knowledge of Vista. We know that the immediate cause
of the problem is that Java isn’t on your path. Reinstalling Java should
have fixed that. Someone who is familiar with Vista will have to take it
from here.
Let’s try editing the correct Java path directly into your PATH variable and see if it sticks.
Right-click on ‘My Computer’ and select ‘Properties’
Click on ‘Advabced System Settings’ to bring up the Advanced tab of the System Properties dialog
Click on the ‘Environment Variables’ button
In the bottom section, scroll down and find the ‘Path’ system variable. Highlight it and click Edit…
You cannot enlarge the edit dialog. You may want to select the entire path (Ctrl-A, Ctrl-C) and paste it into a text editor, then paste it back when finished.
You should see a series of pathnames separated by semi-colons.
At the start of this string, add
C:\Program Files (x86)\Java\jre6\bin;
Click OK and save it away.
If you open a new Command window and type echo %path%, you should see the new pathname in the Path.
The binary which is being run is javaw, though, not java. Something mentioned
above is that when doing a search, javaw was not found, despite that it it
there in the directory it should be found in.
I suggest also testing whether javaw can be run from the command line.
(javaw -version)
The “hourglass” (now the Vista ring) flashes in a fraction of a second.
That’s it. At times I can hear how the HDD starts working.
I ran ‘javaw - version’ from the command line but I get nothing. A new command prompt shows up. However, it doesn’t say that it couldn’t find the command. It’s just that nothing happens.
Nothing seems to happen.
I get a new command prompt.
BTW, you previously asked if I could see any VASSAL or Java programs running in the background. I looked but couldn’t see any as I scanned for anything obvious that began with the words Java or VASSAL.
But maybe, if it is still important, if you could tell me what to look for specifically it would be easier to spot them. Just a thought.
Now this was exciting.
What happens is that there is a pause and it seems to be working. No prompt for about 1-2 seconds, then the following shows up:
VASSAL: Couldn’t open socket.
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.(Unknown Source)
at java.net.Socket.(Unknown Source)
at VASSAL.launch.ModuleManager.main(ModuleManager.java:166)
Only one Module Manager is supposed to run at a time. To ensure that this
happens, when you start the Module Manager it will try to open a local
socket. If it can’t do that, this means that a Module Manager instance is
already listening on that socket. Either way, the new Module Manager sends
its start request over the socket to whatever Module Manager is listening
(possibly itself).
The point of failure here is the attempt to connect to the already existing
socket. What I can’t tell from the stack trace is whether it was this
Module Manager instance which created the socket, and why the connection
was refused.
Sometime in the next day or so I’ll make a build with some additional
diagnostic information so we can see what’s happening.