In simple Forge installer 1.16.3-forge-34.1.0, directory of minecraft client cannot be changed with error. When I click ... next to the installer directory box, there is no change on UI, but error log are printed on a console.
❯ java -jar forge-1.16.3-34.1.0-installer.jar
JVM info: AdoptOpenJDK - 1.8.0_265 - 25.265-b01
java.net.preferIPv4Stack=true
Found java version 1.8.0_265
October 01, 2020 8:33:38 PM sun.awt.shell.Win32ShellFolderManager2 getNetwork
WARNING: Cannot access 'Network'
java.io.IOException: Could not get shell folder ID list
at sun.awt.shell.Win32ShellFolder2.getFileSystemPath0(Native Method)
at sun.awt.shell.Win32ShellFolder2.access$800(Win32ShellFolder2.java:72)
at sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:588)
at sun.awt.shell.Win32ShellFolder2$7.call(Win32ShellFolder2.java:586)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Win32ShellFolderManager2.java:610)
at sun.awt.shell.ShellFolder.invoke(ShellFolder.java:518)
at sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:586)
at sun.awt.shell.Win32ShellFolder2.composePathForCsidl(Win32ShellFolder2.java:222)
at sun.awt.shell.Win32ShellFolder2.<init>(Win32ShellFolder2.java:235)
at sun.awt.shell.Win32ShellFolderManager2.getNetwork(Win32ShellFolderManager2.java:209)
at sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:571)
at sun.awt.shell.Win32ShellFolder2.access$400(Win32ShellFolder2.java:72)
at sun.awt.shell.Win32ShellFolder2$2.call(Win32ShellFolder2.java:298)
at sun.awt.shell.Win32ShellFolder2$2.call(Win32ShellFolder2.java:296)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Win32ShellFolderManager2.java:586)
at java.lang.Thread.run(Thread.java:748)
Exception in thread "AWT-EventQueue-0"
java.lang.NullPointerException
at sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Win32ShellFolder2.java:571)
at sun.awt.shell.Win32ShellFolder2.access$400(Win32ShellFolder2.java:72)
at sun.awt.shell.Win32ShellFolder2$2.call(Win32ShellFolder2.java:298)
at sun.awt.shell.Win32ShellFolder2$2.call(Win32ShellFolder2.java:296)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Win32ShellFolderManager2.java:586)
at java.lang.Thread.run(Thread.java:748)