-1

I am building my Win7 embedded OS. I have the following error when I run a small java program trying to open a file from it. Can anybody tell me which Windows library/package/assembly was missing here? thanks,

Start LogViewer..............
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: java.io.IOExc
eption: Could not get shell folder ID list
        at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Unknown Sour
ce)
        at sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2.composePathForCsidl(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2.<init>(Unknown Source)
        at sun.awt.shell.Win32ShellFolderManager2.getNetwork(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2$7.call(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2$7.call(Unknown Source)
        at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Unknown Sour
ce)
        at sun.awt.shell.Win32ShellFolder2.getFileSystemPath(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2.access$300(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2$11.call(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2$11.call(Unknown Source)
        at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Unknown Sour
ce)
        at sun.awt.shell.Win32ShellFolder2.getChildByPath(Unknown Source)
        at sun.awt.shell.Win32ShellFolderManager2.getPersonal(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2$10.call(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2$10.call(Unknown Source)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source
)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Unknown Sourc
e)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Could not get shell folder ID list
        at sun.awt.shell.Win32ShellFolder2.getFileSystemPath0(Native Method)
        at sun.awt.shell.Win32ShellFolder2.access$900(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2$8.call(Unknown Source)
        at sun.awt.shell.Win32ShellFolder2$8.call(Unknown Source)
        ... 23 more

EDIT: This java program package contains a jvm and was running on different windows machines for years. It will not depend on target machines' jvm.

5YrsLaterDBA
  • 33,370
  • 43
  • 136
  • 210
  • 1
    I do not believe it is a "missing library/package/assembly" -- there are no classloader/JNI/fusion errors present. It appears this is a known issue, see: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6544857 and others on google. –  Nov 16 '10 at 20:06
  • I think it is. This java program is running for years. Now I am trying to build a smallest OS image, so I am adding windows packages little by little. If I add all windows packages available for the embedded OS, this java program will run fine. – 5YrsLaterDBA Nov 16 '10 at 20:26

1 Answers1

0

It seems that your app, trough the Java runtime, is invoking functions inside shell32.dll, check that the DLL is in your current OS install and if it isn't search wich packages contains it inside Image Configuration Editor.

Valter Minute
  • 2,177
  • 1
  • 11
  • 13