Skip to main content

JDIC fails to start IeEmbed.exe on Vista

2 replies [Last post]
Joined: 2005-06-19

My app using using JDIC 0.9.5 works on Windows XP (using Java 1.6.0_07). But on Windows Vista, IeEmbed.exe fails to start.

I turned off UAC and ran the app as adminstrator as a suggested work-around in bug report 499, but that does not work either.

JDIC produces the following trace and error message:

*** Jtrace: Executing IeEmbed.exe
*** Jtrace: JDIC found BIN path=[C:\Program Files (x86)\DreamBeans\1.2\windows\x86]
Can't execute the native embedded browser. Error message: The filename, directory name, or volume label syntax is incorrect

I verified that the above BIN path is correct by cutting and pasting the path into a cmd window as part of "dir" command (quoted because of spaces in the path name) and it worked. I haven't looked at the sources yet. But, from the error mesage, I suspect this problem is caused by JDIC using File.getCanonicalPath(), which is buggy on Windows and gives that kind of error message. If so, then JDIC should probably be using File.getAbsolutePath(), because it seems to work more reliably.

Will JDICplus 0.2.2 work properly on Windows Vista? If so, is there an short example that detects and uses JDICplus when on Windows and JDIC for Linux?


Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Joined: 2005-06-19

I switched from JDIC 0.9.5 to usng JDICplus 0.2.2. The embedded browser will display external URLs (e.g., displays properly). However, local web pages still generate the error: "The filename, directory name, or volume label syntax is incorrect". The same local URLs display okay in a non-embedded browser.

This leads me to believe that JDICplus (like JDIC) is not properly passing privlilges to the embedded browser. UAC is turned off and running as administrator does not help.

Joined: 2005-06-19

I figured out how to embed a browser on Vista.

1) Use JDICplus on Vista instead of JDIC.
2) Pass any local URLs as strings, e.g.:


DO NOT pass an argument of type URL, i.e., do NOT do something like:

URL _url = new URL("http://localhost.html");

The reason is that the method, BrComponent.setURL(URL url), does not work properly on local URLs.