mlaily / NegativeScreen

NegativeScreen is a Windows application allowing you to invert your screen colors. (and more)
https://zerowidthjoiner.net/negativescreen
GNU General Public License v3.0
169 stars 20 forks source link

Configuration file location #6

Closed Smiley1244 closed 7 years ago

Smiley1244 commented 7 years ago

Could you have the configuration file moved to '%APPDATA%\NegativeScreen\' rather than the exe location? This would enable the exe to be loaded in '%programFiles%\NegativeScreen\' and have each standard user have their own customised configuration file?

I would be happy to make you an MSI for installation if this was possible?

Thanks

mlaily commented 7 years ago

I'd rather not do that. This seems overly complicated for a standalone one executable app. If you want each user to have their own configuration, you should probably just copy the executable as many times as necessary, it's only about a hundred kilobytes.

That said, NegativeScreen could look for a fallback configuration file in %AppData%\NegativeScreen\ if it does not find one next to itself so that we have the best of both worlds... Would that fit your scenario?

Smiley1244 commented 7 years ago

Thanks the fallback I guess would do the same functionality. The issue is that if the app cannot create the exe in its own location (i.e the same folder) which it wouldn't be able to do once it is in %ProgramFiles% (users only have read ability) then the app crashes. Having their own config file also allows each user to tailor it to their requirements. Maybe it would be possible to check the file creation in the parent folder and if it fails create and use it in '%appdata%\NegativeScreen\'?

Sorry I package software so I always think with a bias from that direction, if its not a direction you would want to pursue then its fine, just a thought :)

Very nice program though!

mlaily commented 7 years ago

When I said you should copy the executable as necessary for each user, I meant to users writable folders, not in Program Files.

For the second solution, I think we are saying the same thing :) .

Anyway, I don't really see the need to package just one executable, but maybe you want an msi so that you can deploy to multiple machines using a GPO or something like that?

Smiley1244 commented 7 years ago

Hi, sorry for the slow response, I've been away. Yes the goal was to be able to deploy centrally and give users the option to install on any machine they required. The advantage of using %appdata% is it can be mobile via Roaming profiles or U-EV. Plus like most companies we are now using AppLocker so users cannot have random exe's in different locations ( they won't execute without a white-listing.

mlaily commented 7 years ago

I implemented this in version 2.5 I just released. Binaries are available here as usual: http://arcanesanctum.net/negativescreen/

I'm closing this issue. Reopen it or create a new one if something does not work as you expect.