ADDITIONAL SYSTEM INFORMATION :
Windows 10 1803, Java SE Development Kit 10.0.1
Broken: Windows 10 1803 + ����, ����, ���� or ����
Broken: Windows 10 1511 + ���� or ����
OK: Windows 10 1709 + ���� or ����
OK: Windows 10 1511 + ���� or ����
A DESCRIPTION OF THE PROBLEM :
The application will not start on Windows 10 1803 if the installation path has non-ascii character.
If the app is installed under C:\Users\User\AppData\Local\FooClient\ then FooClient app will start properly.
If the app is installed under C:\Users\Fr����deric\AppData\Local\FooClient\ then FooClient app wont start.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Use Windows 10 Professional 1803, Oracle Java SE Development Kit 10.0.1 and Inno Setup 5.5.9 (u)
2. Source code of the minimum app:
FooClient.java:
import javax.swing.*;
public class FooClient {
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(() -> {
JFrame frame = new JFrame("HelloWorldSwing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.toFront();
frame.setVisible(true);
});
}
}
3. Build it with the following commands
"C:\Program Files\Java\jdk-10.0.1\bin\javac" FooClient.java
"C:\Program Files\Java\jdk-10.0.1\bin\jar" cfe fooclient.jar FooClient FooClient.class
"C:\Program Files\Java\jdk-10.0.1\bin\javapackager" -deploy -native installer -outdir . -srcdir . -srcfiles fooclient.jar -appclass FooClient -verbose
It produces a native Windows exe package: FooClient-1.0.exe
4. Start the installer on Windows 1803
5. Application is installed under C:\Users\%USERNAME%\AppData\Local\FooClient\
6. If your username has a non-ascii (eg ���� or ����) character then application will not start.
7.1. Rename C:\Users\%USERNAME%\AppData\Local\FooClient to C:\Users\%USERNAME%\AppData\Local\FooClient���� and the C:\Users\%USERNAME%\AppData\Local\FooClient����\FooClient.exe will not start.
7.2. Rename C:\Users\%USERNAME%\AppData\Local\FooClient to C:\Users\%USERNAME%\AppData\Local\FooClienta and the C:\Users\%USERNAME%\AppData\Local\FooClienta\FooClient.exe will start.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Application starts properly even when the path contains non-ascii characters.
ACTUAL -
Application terminates almost immeditely: for a few millisecs there is a running FooClient.exe process but then it terminates.
CUSTOMER SUBMITTED WORKAROUND :
Install application to a directory where the path does not contain ascii characters.
FREQUENCY : always