Hiya,
I'm rolling this out through auto-deployment at the moment and I want to standardise the settings for all the users. I can't find a way of achieving what I want at the moment which would be:
I want to roll out a base ApplicationConfig.json installed into C:Program FilesShareX which is basically preconfigured to point to ffmpeg in C:\Program Files\ShareX\Tools\ffmpeg.exe and disable uploading.
I can roll out user-level settings and create a "My DocumentsShareXApplicationConfig.json" but ideally I'd like it machine-wide.
Is this possible in a way I've not noticed?
If not are you happy for me to implement and PR?
If so do you have any preference as to any implementation detail?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
Not my fault nobody has replied mr stale bot!
I'll second this request; this is hugely important in corporate environments who don't want confidential company information accidentally uploaded to Imgur by a stray mouse click. Ideally the ApplicationConfig.json could be stored in a location where only Administrators of the machine could access it, and automatically override the user-level copy under Documents. Or to take it a step further, be able to pre-define a subset of the ApplicationConfig.json file in a smaller JSON file under Program FilesShareX, and merge the two configs so as to allow the end user to modify some settings but not others.
@nkronberg I'm happy to implement this but I was hoping for some guidance/feedback from the developers about what they thought/would want before I go gung-ho and whack out some code.
I was thinking about implementing it as copy in: C:\Program Files\ShareX which would be the default settings and then have all saves of configuration go into the User's copy (My Documents\ShareX\ApplicationConfig.json). It would be relying on filesystem permissions so that users can't modify the global settings file in Program Files; however I think that would only be a problem if you have Administrator access on the machine itself which seems reasonable to me?
Out of curiousity for your use-case do you want defaults (i.e. can be overridden by the user) or enforcement? (i.e cannot be overridden, like group policy)?
@nkronberg I'm happy to implement this but I was hoping for some guidance/feedback from the developers about what they thought/would want before I go gung-ho and whack out some code.
I was thinking about implementing it as copy in:
C:\Program Files\ShareXwhich would be the default settings and then have all saves of configuration go into the User's copy (My Documents\ShareX\ApplicationConfig.json). It would be relying on filesystem permissions so that users can't modify the global settings file inProgram Files; however I think that would only be a problem if you have Administrator access on the machine itself which seems reasonable to me?Out of curiousity for your use-case do you want defaults (i.e. can be overridden by the user) or enforcement? (i.e cannot be overridden, like group policy)?
@mintsoft
I like the idea of implementing the authoritative settings under the application's install directory under Program Files, relying on filesystem permissions as you said. Ideally it would override any user's settings, but only the settings that conflicted. Similar to how KeePass does it: https://keepass.info/help/base/configuration.html
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
Unstale 卢_卢
This needs to happen, i can't roll this out, without it
Most helpful comment