[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[eclipse-dev] How does Eclipse runtime make use of the Shell Folders/Desktop registry key?

Hi Eclipse-Dev,
 
I have a question regarding an Eclipse based application and was wondering if someone could help.

The application is built on Eclipse 4.3.1 (64 bit), running on Windows server 2008 R2 (64 bit).

When I launch the application from an administrative user account, it creates a folder C:\Users\%username%\Desktop. This is because my registry key:

             HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop

has the value of:
       
            C:\Users\%username%\Desktop

However, when I launch the application from a non-administrative user account, I get the following error:
       
             Java was started by returned exit code=13
             -Xmx512M
             -Djava.class.path=C:\Program Files\Apps\MyApplication\plugins\org.eclipse.quinox.launcher_1.3.0.v20130327-1440.jar
             -os win32
             -ws win32
            -arch x86
             -showsplash
             -launcher C:\Program Files\Apps\MyApplication\MyApp.exe
             -name MyApp
            --launcher.library C:\Program Files\Apps\MyApplication\plugins\org.eclipse.quinox.launcher.win32.win32.x86_1.1.2--.v20130807-1835\eclipse_1503.dll
             -startup C:\Program Files\Apps\MyApplication\plugins\org.eclipse.quinox.launcher_1.3.0.v20130327-1440.jar
             --launcher.overrideVmargs
            -vm C:\Program Files\Apps\MyApplication\\jre/jre/bin\j9vm\jvm.dll
             -vmargs
             -Xmx512M
             -Djava.class.path=C:\Program Files\Apps\MyApplication\plugins\org.eclipse.quinox.launcher_1.3.0.v20130327-1440.jar

       
This might be because the non-administrative user do not have sufficient right to create the folder C:\Users\%username%\Desktop. (But the non-administrative user should have sufficient right to write to their own Desktop path??)

The application would start without error if I hardcoded the value of the "Desktop" registry (i.e. without the use of %username%, like so:

            C:\Users\MyUserName\Desktop
     
I also noticed that if I deleted the "Desktop" registry key, the application would start fine too.

I have checked folder permissions on the C:\Users\MyUserName and C:\Users\MyUserName\Desktop, both of them have "owner" permission level.

Given this, I was wondering if you could provide some information about how the Eclipse runtime make use of the "Desktop" registry key and why does it seem like the application could only resolve the %username% variable as an administrative user? While for the non-administrative user, the registry key has to be hardcoded?

Thank you all in advance.

Regards,

Cyrus Tsang
WebSphere MQ L3 Software Engineer

Mobile: +44 (0)7799868749
E-mail:
CYRUSTSANG@xxxxxxxxxx
IBM

Hursley House, Hursley Park Road
Winchester, SO21 2JN
United Kingdom



IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU