Free Software
News (2018-02-02): FAQ page has been fixed.

Bug Tracker

ID 14
Status Open
Category jpgfdraw/jdrview/jdrutils
Version 0.5.6b
Interpreter N/A
Summary Java not found - program cannot be started on Windows


Dear Mrs. Talbot,

I just wrote a shapepar module for the TeX typesetting program LyX (www.lyx.org). While documenting it I stumbled over your Jpgfdraw program, tested it and finally linked it in the LyX documentation because I find it useful. However, while testing it I found some bugs in Jpgfdraw:

- one main problem is that your Windows installer does not react for about a minute after starting it on Windows 7

- the other main problem is that your program does not start on Windows XP or 7. (it only starts directly after the installation but can not be started again) The reason is that you start your program using a batch script but there the path to the javaw.exe is missing. As you provide an installer for Jpgfdraw you can read the Windows registry at installation time and output a working bat-file. The location of the javaw.exe is stored in the registry key HKLM\SOFTWARE\Classes\jarfile\shell\open\command

- your Windows installer requires admin permissions. But this is not necessary because you don't need to write into the HKLM part of the registry.

- if I have drawn e.g. a rectangle and I want to delete it I cannot just highlight it and press DEL

- In the menu Settings->Styles I changed the font size to 12pt. After pressing OK, I reopened the same menu and my setting was forgotten. Now the font size is displayed as being 0pt.

- all programs I know use the shortcut Ctrl+z to undo an action, but Jpgfdraw uses F8

thanks for Jpgfdraw and regards

Comment from Uwe
Date: 2013-01-13

You write:
> If it doesn't run, it may be because your version of java is too old.

You totally misunderstood me. I am using Java 7 and all other programs find it. The bug is that in your .bat start script you can only "javaw" without specifying the path to it. I therefore explained you where you can read ot the path to output a working bat script.

> If java has been installed correctly, it should be on your path so it doesn't need to a full path
> name in the bat file.

That is incorrect. Java is not added to the PATH when it is installed.

> Modern versions of Windows require administrator privileges to install anything in
> "C:\Program Files\" for security reasons, regardless of whether or not the registry is edited.

Of course, but there is no need to install there. Windows provides the feature to install only for the current user. To use this feature just use NSIS's routines and NSIS will automatically install the correct location.

thanks and regards Uwe

Comment from Uwe
Date: 2013-01-13

> I'll find out
> if there's a way to get the Windows installer to generate the .bat file,

Just read the registry string and write it to your batch file. NSIS comes with everything you need to generate your one-liner batch file during the installation.

> but I'm surprised that
> javaw isn't added to the path when it's installed (but perhaps that's because I'm just used to using
> Linux where applications like java are automatically added to the path).

It is not common to add things t the PATH. If a program is meant to be super important, it can be installed in Windows system folder but this is not the normal Windows policy. But the idea behind the registry is to have a database with all program locations.

However, if you look at other Java applications like jEdit or JabRef, they also read the registry to find Java

regards Uwe


I can't change the undo function to Ctrl-Z or it will confuse users who are used to using Ctrl-Z for the scale function. (Jpgfdraw is based on Acorn's !draw, which uses F8/F9 for undo/redo as is common with RiscOS programs.)

You have to use Ctrl-X (cut) to delete an object, but I'll look into the possibility of having a delete option.

I'll have a look into the problem with the settings dialog, but I haven't been able to reproduce it.

With regard to the Windows installation issue. I don't use Windows. I don't know anything about NSIS routines. The Windows installer is created using InnoSetup running on wine. If anyone can provide InnoSetup code that will do what you ask, I'll add it to the script. From a Linux point of view, practically anything that can be run on the command line is put on the path, but each operating system has its own way of working.

Watch This Report

If you would like to be notified whenever updates are made to this report, please fill in your email address in the box below and click on "Notify Me of Changes". (Please ensure the address is valid.) Your details won't be passed on to third parties in line with this site's Privacy Policy.


If you would like to add a comment regarding this bug report, please fill in the form below, but don't use it for a different bug or feature request, even if it's related. Instead fill out a new bug report or feature request. (If you want to link it to this report, make a note of the ID number at the top of the page.)

Name (Optional)

You can use the following markup:

[pre]Displayed verbatim[/pre]
[tt]monospace font[/tt]
[url]web address[/url]

which will be converted to:

<pre>Displayed verbatim</pre>
<tt>monospace font</tt>
<a href="web address">
web address</a>

I'm sorry, some spammers have cracked the captcha and genuine comments were being hidden in the midst of spam, so I've replaced the captcha with this test: Please enter the ID number of this report in the confirm ID box below.

Confirm ID: (The number at the top of this page.)

Return to Search Results

The free software provided here (including my class files and packages on CTAN) are funded by my book sales. While I'm keen to remove bugs from my code, book production has to take priority over bug fixes, so please don't expect a rapid response.

Version numbers that end with "b" indicate a beta (prototype) release. Version numbers that end with "a" indicate an alpha (unstable) release.

© 2012 Dickimaw Books. "Dickimaw", "Dickimaw Books" and the Dickimaw parrot logo are trademarks. The Dickimaw parrot was painted by Magdalene Pritchett.

Terms of Use Privacy Policy Site Map FAQs