Search code examples
lockingswtworkspacee4

why e4 rcp application is locked in windows XP and not launching for other users in same machine


I have developed a e4 RCP aplication. While launching the application, creating a folder "workspace" and inside that /.metadata/.lock So when i switch user, i am getting a error that already one user is using/locked your application and can't run.

Error: C:\Program Files.....\workspace.metadata.lock(Access denied)

But i need to run my application to multiple user support in XP

I have this issue only in XP. in vista,windows7 and windows 8 working fine

Any help or workaround to run the the application after the user switch(which is running in other user)?

Update

I have done this by adding below line in my product file, which will take care of launching the application in user workspace

<launcherArgs>
<programArgsWin>-data @user.home/workspace</programArgsWin>
</launcherArgs>

Solution

  • Not sure if this works on XP but you could try setting the workspace to be in the user's home directory. You can do this in the 'LifeCycle' '@PostContextCreate' method:

    @PostContextCreate
    public void postContextCreate()
    {
      final Location instanceLoc = Platform.getInstanceLocation();
    
      // TODO instanceLoc will be null if user specifies -data @none option
    
      // TODO instanceLoc.isSet() will be true if user specifies -data path
    
      // Set the default
    
      final Path path = Paths.get(System.getProperty("user.home"), "workspace name");   
    
      instanceLoc.set(path.toUri().toURL(), false);