AeroShot should be a portable application out of the box for 3 reasons:
- Minimal impact and changes to the host system
- Settings can travel with the application, e.g. on a USB stick or even when copying between computers over a local network
- It is what you would expect (self-containment) from a simple and small tool
Currently AeroShot saves and loads settings from the registry. Deleting the executable leaves the system in an unclean state. By saving settings into a text file (INI) adjacent to the executable, the application can be rendered portable.
AeroShot should also be ready to handle the situation that the executable runs from a location (such as Program Files) where the user does not have write permissions. In that event, the settings file should be written to the user's profile.
Having settings in a text file also adds the following benefits:
- Settings can be hand-edited in a text editor
- Settings can easily be transferred between machines
- Settings can be backed up by simply making a copy of the file
- Settings can be reset by simply deleting the file
- Settings can be shared online
- Multiple settings setups can be swapped in and out by simple rename of files; alternatively the file to use can be specified over the command line
I can help with this.
Tasks:
AeroShot should be a portable application out of the box for 3 reasons:
Currently AeroShot saves and loads settings from the registry. Deleting the executable leaves the system in an unclean state. By saving settings into a text file (INI) adjacent to the executable, the application can be rendered portable.
AeroShot should also be ready to handle the situation that the executable runs from a location (such as Program Files) where the user does not have write permissions. In that event, the settings file should be written to the user's profile.
Having settings in a text file also adds the following benefits:
I can help with this.
Tasks:
Save INI to user profile when permissions don't permit saving next to executableLook to load INI from user profile