I try to follow best practise in my development work, which means that post-install I dont run applications as an admin. (Ie not over-priviledged). This reduces the possibility of security attack issues and makes it less likely that something will break when a ‘standard’ users runs it with lower permissions. I just installed servoy 5.1.2 (as an admin) and I am now trying to run developer as a non-admin.
When it starts I get a workspace error related to the servoy.properties file (see below).
Looks like developer is trying to write to that file on startup? is that correct?
The standard install permissions give the average user ‘read’ on that file only…which doesnt seem to be enough.
Can you confirm that there is a write action on that file?
I assume there must be so that any changes the developer makes (eg addiing data sources etc) can be saved to that file.
If so best practise would be to create a group called ‘servoy developers’ and give the write to that file - then put developer users in that group; rather than making the developer admins (ugh!). (If that’s mentioned in the doco already then apologies that I didnt see it)
Workspace error:
null
Error
Sun Apr 11 09:13:05 EST 2010
Unexpected Exception
java.io.FileNotFoundException: C:\Program Files\Servoy\developer..\application_server\servoy.properties (Access is denied)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.(Unknown Source)
at java.io.FileOutputStream.(Unknown Source)
at com.servoy.j2db.util.Settings.save(Settings.java:42)
at com.servoy.eclipse.appserver.Activator$1.run(Activator.java:1)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)