bloones released this on 23 Dec 2014
There is now an auto-restart syncthing option in the configuration screen that allow to restart syncthing if the program stop or shutdown instead of stopping the service. A limit can be placed on the number of shutdown authorized by period of time after which the service will stop trying the start syncthing and stop instead.
A minor installation bug was also fixed that would cause a null exception if the syncthing process priority was not set in the configuration options.
To update syncthingtray, just stop the service, replace the executable, execute syncthingtray configure to change the configuration if needed (The auto-restart syncthign will be disabled by default), then start the service.
In the source code folder, I included a debug folder with the debug executable in case somebody has an issue and need troubleshooting capabilities.
bloones released this on 20 Dec 2014 · 1 commit to master since this release
SyncThingTray allow to run syncthing (http://syncthing.net/) as a windows service.
SyncThingTray requires the .Net framework 4.5.1 and was tested under Windows 8 but should be compatible with all desktop version of windows.
SyncTray executable work both as the windows service as well as the system tray notification.
To install and configure the service, copy the executable and the dll where you want it to be installed, then execute SyncThingTray. You will be prompted for the location of the current configuration of syncthing (Will be populated if found), the new, user independent, location of the configuration and the path to the syncthing executable. Additional options are available to configure the service and allow to uninstall the service. The service will run as long as syncthing is running. If syncthing is stopped via the web GUI, the service will stop. If the service is stopped, a shutdown request will be sent to Syncthing if an API has been generated. If the shutdown request does not succeed in time, then syncthing will be closed using a ctrl+c command and finally killed if everything else fails.
When installed and running, the service can be monitored by executing SyncThingTray again (Should be added as a shortcut in the user start menu, startup folder). The SyncThingTray will display a copy of the syncthing console (Which can be safely closed), will notify you if the service is started or stopped and also provide, using a right click on the tray icon, additional functionality:
Show Console: If the console has been closed, allow to show it again
Show Gui: Open the syncthing web gui using your default browser by reading the address in the configruation file.
Restart: Request syncthing to restart itself. This functionality requires a API Key to be generated in the syncthing web GUI.
Upgrade: Request syncthing to upgrade itself if an upgrade if available. This functionality requires a API Key to be generated in the syncthing web GUI.
Shutdown: Request syncthing to shutdown. This functionality requires a API Key to be generated in the syncthing web GUI. Soon after, you will receive a notification that the service has stopped.
Stop Service and Start Service: Allow to start and stop the windows service.
SyncThingTray also support the following command lines:
SyncThingTray install: Just install the windows service with no configuration
SyncThingTray uninstall: uninstall the windows service but not the configruation
SyncThingTray start: Start the windows service
SyncThingTray stop: Stop the windows service
SyncThingTray configure: Open the configuration screen for further options
SyncThingTray shutdown: Sent a request to syncthing to shutdown. An error message will be shown if failure occure but no success message is displayed.
SyncThingTray restart: Sent a request to syncthing to restart. An error message will be shown if failure occure but no success message is displayed.
SyncThingTray upgrade: Sent a request to syncthing to upgrade itself if a new version is available. An error message will be shown if failure occure but no success message is displayed.
In the hope that this project will be helpful.